Проблема дублирования WordPress: уникальный блог последних записей


В чем заключается проблема дублирования WordPress

Вместо вступления, давайте посмотрим, на что акцентируют внимание, когда говорят об оптимизации сайтов на WordPress. К слову сказать, на это есть акцент во всех SEO плагинах WordPress. Это проблема дублирования контента. Большинство шаблонов WordPress сверстаны так, что содержание, а вернее верхняя часть статьи, попадает:

  • На главную страницу (блог последних записей);
  • На страницу раздела;
  • На страницу поиска;
  • На страницу архива автора;
  • На страницу архива тега;
  • На страницу архивов по датам выхода поста.

В результате, повторюсь, по умолчанию, в выдачу поисковых систем выходят шесть одинаковых коротких анонсов записи (поста). Классический вариант, избавления от такого дублирования WordPress, это закрыть от индексации, все архивы: разделов, дат, авторов, поиска, тегов.

Зарывают эти архивы директивами в файле robots.txt, лучше использовать SEO плагины. Но можно, не закрывать контент архивов, а сделать его уникальным для каждого архива и тем самым добавить дополнительные ключевые фразы для сайта и расширить поисковую выдачу.

Итак, задача: Сделать, так, чтобы на странице последних записей (главная страница), в архивах разделов и в верхней части самой записи содержание анонсов не повторялись. 

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

Правила вывода описаний статьи на сайте WordPress

Давайте определимся с названиями, используемыми в этой статье. В WordPress практикуются следующие названия вывода описания статьи:

Анонс: краткое вступление к статье. Это, по умолчанию, первый (или два первых) абзаца статьи. Обычно он отделяется от статьи тегом [more] и попадает в блог последние записи и во все блоги архивов. Именно он и является дублирующим контентом, с которым мы «боремся» в этой статье.

Выводится анонс функцией

<?php the_content(); ?>

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

Выводится цитата функцией

<?php the_ exept(); ?>

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

Отделяем анонс от основного содержания

Чтобы отделить основное содержание поста от анонса, используем не тег [more], а два тега [more] и [noteaser]. Если отделять анонс этими тегами, то анонс не будет попадать в основное содержание. Синтаксис написания тегов:

<!--more--><!--noteaser-->

Примечание: Кому знакома система Joomla, использование пары: [more] и [noteaser] аналогично скрытию описания от основного содержания в Joomla.

Вывод 1: Тегами [more] и [noteaser] мы делаем уникальными блог последних записей (главная страница) и саму статью (пост).

Цитата WordPress и её применение

Теперь разбираемся с цитатой. Как используя цитату можно решить проблему дублирования WordPress. После её включения, придётся вместе с написанием статьи, заполнять уникальную короткую, обычно до 55 слов, цитату.

Если делать большие цитаты, скорее всего система обрежет её до 55 слов, если нет других условий в коде шаблона.

Я не знаю, как в вашем шаблоне будет выводиться цитата и будет ли, она вообще выводится. По умолчанию, цитата выводится в архивах и скорее всего так и будет.

Однако на большинстве шаблонах так не бывает. Приведу пример и на нём покажу, в каком направлении нужно двигаться, чтобы цитату вывести в архивы.

Например, на шаблоне этого сайта, было так, заполняешь цитату, отделяешь анонс двумя тегами [more] и [noteaser] и везде вместо анонса выводится цитата. Шило-на мыло и задача дублирования не решена. Для решения задачи идем стандартным (логическим) путем:

  • Делаем резервную копию сайта (на случай ошибки);
  • Идем в редактор шаблона (Внешний вид →Редактор);

Не искушаем судьбу и редактируем все файлы шаблона не в редакторе сайта, а в текстовом редакторе на компьютере (например, Notepad+).

Нам нужен файл, который выводит последние записи. У меня этот файл: content-blog.php. В конце этого файла ищем функцию the_content . Если есть, не трогаем. Если вместо неё видим функцию the_ exept (вывод цитат) меняем её на the_content.

Далее

Далее идем на файл вывода архивов (archive.php). Файл архивов разделов может называться categories.php.

Примечание: На WordPress создаются архивы: рубрик, меток, авторов, дат.

В  файле выводящих архивы смотрим, как выводится описание статьи в блоге архивов (разделов). Если видим функцию the_ exept (вывод цитат) меняем её на the_content (вывод анонса из полного текста).

Описание в архивах (разделах) может выводиться боле сложной конструкцией. Я просто поменял её на:

<?php the_content(); ?>

Итог

В результате, при заполнении цитаты и использовании двух тегов [more] и [noteaser], я получил:

  • Уникальное описание статей на главной странице;
  • Уникальное содержание статьи;
  • Уникальное описание статьи в архивах разделов.
2016-06-22_18-22
Анонсы главной страницы отличны от анонсов архива

Вот в архивах «Поиск» (/?s=)и архивах «Метки» (/tag), ситуация с анонсами не поменялась. Поэтому страницы поиска закрываем в robots.txt директивой Disallow.

Disallow: /?s=

Страницы тегов также можно закрыть. Или на закрывать, а оптимизировать оформление и удалять теги без статей. Об этом я писал в статье Метки WordPress, как с ними работать.

Если вы не закрыли от индексации теги в самом начале работы сайта, то закрывая их после  индексации, вы теряете часть выдачи на Яндекс. Кстати! Директива Disallow не удаляет закрытые файлы из индекса Google, а лишь запрещает их сканирование Googlebot.

Вывод

В этой статье я показал, что проблема дублирования WordPress существует и показал, простой и несколько утрированный способ создать уникальный блог последних записей. Его недостаток в том, что изменения пропадут с обновлением шаблона. Чтобы этого не произошло, используйте дочернюю тему WordPress. О дочерней теме ТУТ и ТУТ.

WordPress Codex

©www.wordpress-abc.ru

Другие статьи раздела: SEO оптимизация WordPress


Статьи связанные по теме:

2
Отправить ответ

500
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Subscribe  
новейший прошлые
Уведомлять
Альберт

Вопрос такой: В статье Вы отделяете анонс текста тегом ««, ну а как быть, как настроить если в статьях совсем не используется тег для отделения анонсов, в шаблоне уже настроено, что по умолчанию анонс отсчитывается либо по словам, либо по буквам и выводится…
Как быть в этом случае ?