Как избавиться от дублей страниц WordPress replytocom и других
Привет! В предыдущей статье я рассказывала о том, как найти дубликаты страниц и чем они опасны. Сегодня мы узнаем как избавиться от дублей страниц раз и навсегда.
В WordPress есть отдельная категория дублей страниц, которые образуются из-за технических особенностей системы и присутствуют только в Google. Такие повторения сложно заметить на сайте и еще сложнее самостоятельно удалить. Радуйтесь, что вы читаете эту статью, потому что сейчас я вас всему научу!
Простой способ убрать дубли страниц
Если вы давно занимаетесь техническим совершенствованием своего блога, то наверняка уже сделали самые простые шаги, предотвращающие появление дублей. Проверьте себя:
- Убедитесь, что у вас настроен редирект с www на без www (или наоборот). Проверить это можно, набрав в адресной строке браузера адрес сайта: www.pro-wordpress.ru. Он должен автоматически замениться на pro-wordpress.ru. Если у вашего сайта несколько доменов, аналогично со всех них должен стоять редирект на главное зеркало сайта.

- В настройках плагина «All in One SEO Pack» должны стоять галочки «Канонические URL'ы (Canonical URLs)». Подробнее об этом можно прочитать тут.

- Многое зависит от настроек файла robots.txt. Если у вас нет понимания, для чего он нужен, обязательно прочитайте статью по ссылке.
Хорошо, если у вас сделаны эти три простейших пункта, но это еще не значит, что вы знаете, как удалить дубли страниц. Все самое интересное впереди.
Что такое дубли страниц WordPress replytocom и другие?
Если ваш блог сделан на WordPress, у вас наверняка присутствуют следующие типы дублей страниц:
- replytocom
- feed
- tag
- page
- comment-page
- attachment
- attachment_id
- category
- trackback
Каждый из этих типов связан с определенной технической возможностью WordPress. Определить, какие из них есть у вас можно с помощью оператора site, об этом очень подробно написано в прошлой статье - тут.
Например, если добавить в конце урла любой статьи /feed, откроется xml версия статьи для RSS-рассылки - ее текст тот же самый, но адрес отличается. Replytocom используется в древовидных комментариях при нажатии кнопки «Ответить». Выходит, что каждый комментарий создает дополнительный url одной и той же страницы. А если у статьи тысяча комментариев, то и дублей у нее будет 1000.
С такими дублями страниц срочно нужно бороться, потому что сайт с подобной проблемой мгновенно попадает под фильтр Гугла Панда.
Почему именно Гугл, я уже объясняла. Все дело в файле robots.txt. Когда в нем закрыт доступ к чему-то, Google все равно забирает это в выдачу. Просто не показывает содержимое:
Чтобы этого избежать, нужно наоборот открыть Гуглу доступ ко всему в файле robots.txt, при этом в head каждого файла добавить запрещающий индексацию мета-тег:
<meta name='robots' content='noindex,follow' /> |
Ниже я расскажу подробно, как это сделать.
Как убрать дубли страниц: инструкция
Приведу пошаговую инструкцию. Если вы совсем новичок, предварительно прочитайте статью о редактировании файлов WordPress.
- Полностью замените содержимое своего файла robots.txt на новое:
Поменяйте my-site.ru на свой адрес. Теперь роботу разрешено заходить на любые страницы сайта.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
User-agent: * Host: my-site.ru Disallow: /wp-feed Disallow: /wp-includes Disallow: /wp-content/cache Disallow: /wp-content/plugins Disallow: /wp-content/themes Sitemap: https://my-site.ru/sitemap.xml User-agent: YandexImages Allow: /wp-content/uploads/ User-agent: Googlebot-Image Allow: /wp-content/uploads/
- Найдите файл .htaccess в корне сайта. Добавьте в него следующий код после строки RewriteRule ^index\.php$ — [L]:
Это набор 301-редиректов. Теперь при попытке робота зайти на страницы типа site.ru/post-name/feed/ его перебросит на оригинальную страницу типа site.ru/post-name/.
1 2 3 4 5 6 7 8 9
RewriteCond %{QUERY_STRING} ^replytocom= [NC] RewriteRule (.*) $1? [R=301,L] RewriteRule (.+)/feed /$1 [R=301,L] RewriteRule (.+)/attachment /$1 [R=301,L] RewriteRule (.+)/comment-page /$1 [R=301,L] RewriteRule (.+)/comments /$1 [R=301,L] RewriteRule (.+)/trackback /$1 [R=301,L] RewriteCond %{QUERY_STRING} ^attachment_id= [NC] RewriteRule (.*) $1? [R=301,L] - В активной теме блога найдите файл function.php и добавьте в него код после <?php:
Теперь на страницах c постраничным разбиением записей (например, https://pro-wordpress.ru/page/2) поисковик наткнется на запрещающий индексацию мета-тег и не будет показывать страницу в выдаче. Этот пункт я ставлю под сомнение, т.к. многие оптимизаторы считают, что нельзя закрывать от индексации страницы с анонсами статей блога. Выполнять данный пункт или нет, решайте сами.1 2 3 4 5 6 7
/* Вставляет мета-тег роботс noindex,nofollow постраничного разбиения */ function my_meta_noindex () { if ( is_paged() // Все и любые страницы пагинации ) {echo "".'<meta name="robots" content="noindex,nofollow" />'."\n";} } add_action('wp_head', 'my_meta_noindex', 3); // добавляем свой noindex,nofollow в head
- Перейдите в параметры плагина All in One Seo Pack и выставите следующие настройки индексации (см. скриншот)
Этими настройками плагин All in One Seo Pack автоматически добавил мета-тег «robots» на страницы с тегами и рубриками. Не пришлось делать это вручную, как для страниц с пагинацией записей. - В админ-панели WordPress переходим в «Настройки -> Обсуждение» и снимаем галку с «Разбивать комментарии верхнего уровня на страницы»:
Это нужно для того, чтобы комментарии не делились постранично. Тогда и не появятся новые адреса для тех же страниц.
Готово! Вы узнали, как удалить дубли страниц WordPress. Осталось дождаться переиндексации и проверить, уменьшилось ли количество страниц вашего сайта в индексе Google. Если вы сделали все согласно инструкции, то успех гарантирован!
Жду ваших вопросов в комментариях. Всем успехов в улучшении своего ресурса.





(9 оценок, среднее: 3,56 из 5)
Mutagen
Плагин Elementor для WordPress: мощный конструктор сайтов
Cтраница-заглушка на сайт WordPress
Онлайн-сервисы для создания инфографики