Онлайн заработок, создание и монетизация сайтов, веб-разработка, SEO и SMO продвижение, фриланс, партнерки, полезные сервисы вебмастерам, блоггинг.

Wordpress шаблоны
Wordpress шаблоны
Главная » WordPress » Разбиение комментариев на страницы в wordpress без плагинов

Разбиение комментариев на страницы в wordpress без плагинов

После рассмотрения вопроса (проблемы) с древовидными комментариями в wordpress, мне предстояла очередная задача – разбить эти самые комментарии на страницы. Принялся искать различные решения в англоязычных блогах, но как-то все весьма скромно – 90% информации было о сомнительных плагинах (совместимость которых проверена только с устаревшими версиями wordpress). Собственно на это есть свои причины – как и с древовидными комментариями, функция разбиения по страницам стала доступной в wordpress по умолчанию, и может быть внедрена средствами самой системы без помощи сторонних плагинов. После небольшого вступления перейдем непосредственно к решению вопроса.

1. Первым делом заходим в раздел «Настройки» пункт меню «Обсуждение». Здесь сразу после пункта включения древовидных комментариев вы увидите поле для разбиения по страницам:

страницы комментарии wordpress

В настройках wordpress вы можете указать сколько комментариев должно помещаться на одной странице, какую страницу отображать по умолчанию (первую или последнюю), а также порядок сортировки самих комментариев на страницах – сверху отображаются либо новые, либо старые записи посетителей. Тут каждый должен установить настройки по своему усмотрению, мои параметры смотрите на рисунке выше.

2. Второй шаг – это подготовка шаблона. Если у вас новомодный макет, который учитывает все плюсы последних версий wordpress (в том числе и разбиение комментариев по страницам), то вам повезло. Ничего делать не нужно – просто наслаждайтесь ведением блога. В противном случае над комментариями придется «поколдовать».

В версиях wordpress старше 2.7 за вывод комментариев отвечает функция wp_list_comments(), поэтому вывод комментариев в шаблоне придется изменить так, как это описано в моей статье про древовидными комментариями в wordpress (если что там же есть ссылка на аналогичный пост еще одного специалиста по wordpress Дмитрия Донченко – тоже можете использовать).

3. Третий пункт – добавления навигации по комментариям. После правки шаблона и включения настроек в админке, вы должны получить работающее разбиение по страницам. То есть при наличии нужного числа комментариев в блоге вы увидите отображение последней их страницы, например, если к посту набралось 53 записи, а на каждой странице по 50 сообщений, то увидите всего лишь 3. Нужно добавлять навигацию, для этого используем специальные функции wordpress:

<div class="navigation1"><?php paginate_comments_links(); ?></div>
 <ol class="commentlist">
  <?php wp_list_comments('callback=mytheme_comment'); ?>
 </ol>
<div class="navigation2"><?php paginate_comments_links(); ?></div>

Код выше выводит до и после комментариев перечень допустимых страниц. Использую для этого функцию paginate_comments_links().

Кроме того, существуют еще 2 функции previous_comments_linknext_comments_link, которые выводят ссылку на предыдущую и следующую страницу комментариев без цифр. В общем, используйте вариант, который вам наиболее подходит.

4. После настройки всех функциональных особенностей разбиения комментариев на странице следует позаботиться о дублированном контенте. При разбиении вы получаете отдельные страницы с одинаковым текстом и разными комментариями – да, последние могут внести какое-то разнообразие в внешний вид страницы перед поисковиками, но основного теста значительно больше. В общем, нужно закрыть от индексации страницы с комментариями – для этого вам пригодится плагин Platinum SEO (очень хорошая штука). В настройках плагина есть опция «Use noindex for comment pages of posts». Активируя ее, вы получите в коде каждой страницы с комментариями запись:

<meta name="robots" content="noindex,follow" />

Что запрещает индексирование контента этой страницы. Вот, в принципе, и все:) По-моему, алгоритм ясен и предельно прозрачен. Если есть какие-то вопросы и дополнения – пишите в комментариях.

сервис рассылки сообщений UniSenderP.S. Постовой у нас сегодня необычный. Предлагаю вашему вниманию сервис рассылки сообщений UniSender, который предлагает быструю персонализированную рассылку e-mail сообщений с возможностью использования HTML и отправки файлов. UniSender обладает рядом преимуществ и уникальный возможностей, выделяющих его среди конкурентов. Во-первых, это беспроблемная рассылка – вы просто загружаете контакты клиентов и составляете письмо, все технические вопросы относительно почтовых серверов, проблем со спам листами вас не касаются. UniSender предлагает автоматизацию ведения списков рассылки – подписка, отписка, отсеивание нерабочих адресов и противостояние спаму. Также вы можете задать оформленные HTML-сообщения по своему усмотрению с помощью удобного текстового редактора, а после проведения кампании сможете проанализировать ее статистическую информацию и эффективность. В общем, UniSender позволит организовать ваши email рассылки профессионально и качественно.

04.11.09

Категории: WordPress.

Теги: , , , , ,

22 Comments
  1. BOLVERIN

    Ожидал уже увидеть SQL запрос с LIMIT :)
    Встречал пару раз разбиение по страницам. Главный минус — неявно то что это первая страница комментариев. Список страниц с каментами лучше выводить и под списком и над — так удобнее и увеличивается интерес посетителя к комментированию.

  2. Tod

    BOLVERIN, согласен — вывожу также и под и над, выделяя заметно — думаю, в 99% адекватный человек поймет что где:)

  3. BOLVERIN

    Самое интересное что если человек видит что комментариев больше чем на одну страницу, то он постарается написать и сам один :) Стандный инстинкт, наверно :)

  4. Sosnovskij

    А я, наоборот, вижу комментариев на несколько страниц и никогда не буду оставлять :) По моему лучше на одну страницу.

  5. Tod

    Sosnovskij, BOLVERIN, ну разбиение комментариев на страницы я делаю чтобы они компактно помещались на сайте — представляете как будет выглядеть страница с 200-300 комментариями — это ж невозможно прокрутить все:)

  6. Sosnovskij

    Tod, безусловно, если есть такое количество комментариев, то да. Про дублированный контент не надо еще забывать.

  7. BOLVERIN

    2 Sosnovskij: зря беспокоишся :) при таком кол-ве комментариев на странице уникальность не будет меньше 70%. ведь считывается текст вместе с каментами, а не только пост.

  8. Tod

    Про уникальность я написал в статье — пункт 4. Все предусмотрено:)

  9. BOLVERIN

    нууу. так не интересно :)
    можно попробовать скрывать от поисковиков статью подгружая ее AJAX-скриптом. Лишних внутренних страниц не бывает :)

  10. Tod

    Для вывода через AJAX нужно писать плагин, тот, который был в наличии все равно создавал страницы для отдельных комментариев дублирую контент.
    Для сапы конечно лишних внутренних не бывает, но имхо иногда лучше качество чем количество — представь ситуацию ты создаешь строго оптимизированный текст с нужным процентом вхождения ключей, а потом все это разбавляет каментами + дублируется на подстраницах — в общем, тут, конечно, каждый решает сам как ему поступать.

  11. BOLVERIN

    хм.а почему бы тогда не сделать так как я сказал, только кроме комментариев еще и ссылку на статью подгружать, ну и еще что то определенное для каждой статьи? тогда качество страницы-поста только выростет ( в глазах поисковика ) + дополнительные НЧ из переписки в каментах. если немного повозится, то и для каждой отдельной страницы комментариев можно сделать определенные анкоры для ссылок на страницу-пост где не закрыт от индексации текст поста, но закрыты комментарии.

  12. Егор

    Персонализированные расслки известны довольно давно, начинал их создавать в сервисе smartrespond или в чем-то подобном, поэтому не такое уж это необычное явления)

  13. LEGION

    Быть может я не умею работать с поисковиками, но в 40% случаев ответы на интересующие вопросы нахожу именно в комментариях (например, если кто то уже спрашивал то что интересует сейчас меня), так что полностью отказаться от их индексации, как по мне, значит лишить себя куевой хучи полезных в хозяйстве ключевиков. А если они не совсем вписываются в тематику статьи то кто мешает их немного гмм… подредактировать, ну или удалить наконец.
    Кстати, спасибо за пост =)

  14. Эдик

    как упорядочить каментарии по голосованию с плагином комент рэйтинг

  15. Дмитрий

    Что-то развить комменты на странице по 50 или 10, чтобы не ставил, пока не работает((( Буду пытаться дальше. Шаблончик наверно дает о себе знать.

  16. Tod

    Дмитрий, да, наверное, шаблон старый или неподходящий, я в новых тема на 99% вижу что разбиение на страницы работает.

  17. Antonio

    Спасибо за подробное изложение, уже думал тему допиливать,
    но у меня не много таких страниц с кучей комментариев, поэтому решил это отложить.

    а то что опция не работала меня вначале удивило:-)

  18. Игорь

    А куда код вставлять?

  19. Tod

    Игорь, все зависит от вашего шаблона. Если тема современная, то там наверняка уже поддерживается разбиение комментариев на страницы — просто активируете опцию в настройках. В противном случае нужно будет вносить правки в wp_list_comments + добавлять страницы paginate_comments_links. Для этого потребуется изучить файлы шаблона и найти какой из них отвечает за вызов комментариев. Это может быть comments.php или похожий.

  20. Наталья

    Благодарю за статью. Оказывается, разбить комментарии на страницы- это элементарно. А то у меня статья вылетела из поиска как раз из-за большого количества комментов.

  21. Айк

    Не забываем про дубли, которые создают страницы комментов :)

  22. Tod

    Айк, ну в статье я об этом говорил, все правильно — страницы комментариев лучше не индексировать. А вообще плагин Yoast советует их и не создавать, т.к. в большинстве случаев пользователям они не нужны.

Добавить комментарий

Ваш e-mail не публикуется. Обязательные поля помечены *
Если вы комментируете впервые, то текст будет отправлен на модерацию.