Как убрать дубли страниц на сайте
Что такое дубли страниц - это страницы с абсолютно одинаковым содержанием и разными URL адресами.
Причин возникновения дублей страниц на сайте может быть несколько, однако почти все они так или иначе связаны с системой управления содержимым сайта. Лучше всего принять меры, предотвращающие появление страниц-дублей еще на стадии создания сайта. Если Ваш сайт уже функционирует — обязательно проверьте наличие на нем повторяющихся страниц, иначе серьёзных проблем с индексацией и SEO не избежать.
Существует несколько способов избавления от дублей страниц сайта. Одни могут помочь в борьбе с уже появившимися копиями страниц, другие помогут избежать их появления в будущем.
Как найти дубли страниц на сайте?
Но для начала необходимо проверить — есть ли вообще повторяющиеся страницы на Вашем ресурсе и, если да, то какого типа эти страницы. Как это сделать?
- Способ 1. Запрос в поиске «site:»
Можно воспользоваться командой «site:». Эта команда выдает результаты поиска по определенному сайту. Введя site:www.yoursite.com/page1, Вы увидите, есть ли в поиске дубли этой страницы.
- Способ 2. Поиск по отрывку из статьи
Выделяем небольшой отрывок текста со страницы, для которой мы ищем дубли, и вставляем в поиск. Результаты поиска сразу покажут все проиндексированные дубли нужной страницы.
Как бороться с дублями страниц?
301 редирект
Одним из самых эффективных, но в то же время и самых непростых методов борьбы с дублями является 301-редирект, он склеивает указанные страницы и дубли со временем исчезают из индекса поисковых систем.
При попадании поискового робота на дубликат страницы, на которой прописан 301 редирект, веб-сервер автоматически перенаправит его на страницу-оригинал. Прописываются все перенаправления в файле .htaccess, который находится в корневом каталоге сайта. Не стоит использовать 301 перенаправление (постоянный редирект), если вы планируете в дальнейшем как-то использовать страницу-копию. Для этого можно использовать 302 перенаправление (временное). Тогда склеивания страниц не произойдет.
При использовании 301 редиректа для удаления дублей страниц из индекса прежде всего надо определиться с главным зеркалом сайта. Для примера в качестве главного зеркала укажем http://site.ru Вам останется только поменять на адрес своего сайта
- 301 Редирект с www.site.ru на site.ru
Для этого надо в файле .htaccess (файл находится в корне сайта) добавить следующие строки сразу после RewriteEngine On:
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
- 301 редирект с site.ru/index.php на site.ru
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
Аналогичным образом можно избавиться от дублей типа:
http://site.ru/index
http://site.ru/index.html
http://site.ru/index.htm
Если Вы, к примеру, хотите склеить страницы http://site.ru и http://site.ru/page123, то в файле .htaccess следует прописать следующее:
Redirect 301 /page123 http://site.ru
Теперь при попытке зайти на страницу http://site.ru/page123 будет срабатывать перенаправление на главную.
Канонические ссылки
Другой способ указать оригинал — прописывать на страницах-дублях т.н. канонические ссылки. Это ссылки с атрибутом rel=canonical, иными словами в блоке head такой страницы прописано:
<link rel="canonical" href="http://site.ru/load" />
Если поисковые системы сталкиваются с такой ссылкой, то понимают какая из многочисленных копий страниц является оригиналом и индексируют её.
Например, в примере выше на сайте были 2 страницы-дубля:
http://site.ru/load
http://site.ru/load/
Указав на странице http://site.ru/load атрибут rel=canonical мы покажем поисковым системам, что эта страница является главной и именно ее надо индексировать.
Некоторые CMS (например, Joomla!) могут автоматически создавать такие ссылки, на других эта операция выполняется различными плагинами. Однако, даже если все новосозданные дубли страниц Вашего сайта будут с каноническими ссылками, это не поможет решить проблему уже существующих дублей.
robots.txt
Частично проблему дублей страниц решает файл robots.txt в котором содержатся рекомендации поисковым системам с перечнем файлов и папок, которые не должны быть проиндексированы. Почему частично? Потому что этот файл содержит именно рекомендации, а не правила и некоторые поисковые системы игнорируют эти рекомендации.
Например, чтобы Яндекс удалил из индекса старые дубли страниц, достаточно прописать соответствующие запрещающие их индексацию правила в robots.txt. С Google ситуация немного сложнее. Те же правила придется вносить в особый инструментарий от Google, разработанный специально для веб-мастеров. В Google вебмастер понадобится задать необходимые нам параметры ссылок в разделе «Сканирование».
При создании же robots.txt нам понадобится воспользоваться запрещающей директивой Disallow.
- Правильный robots.txt для Joomla
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Sitemap: http://site.ru/sitemap.xml
User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Host: site.ru
Sitemap: http://site.ru/sitemap.xml
- Правильный robots.txt для Wordpress
User-agent: *
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag
Sitemap: http://site.ru/sitemap.xml
User-agent: Yandex
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Disallow: /tag
Host: site.ru
Sitemap: http://site.ru/sitemap.xml
Что означают эти строки:
- User-agent: * - правила описанные в ниже этой строки будут действовать для всех поисковых роботов
- User-agent: Yandex - правила действуют только для робота Яндекса
- Allow: - разрешить индексирование (обычно не пишут)
- Disallow: запрещено индексировать страницы в адресе котроых есть то что описано в строке.
- Host: site.ru — Основное зеркало сайта
- Sitemap: — ссылка на XML-карту сайта
- "*" - любая последовательность символов в адресе страницы
Борьба с дублями страниц в Wordpress
Каким должен быть файл robots.txt для Wordpress мы уже рассмотрели выше. А теперь поговорим о плагинах, которые позволяют бороться с дублями и вообще незаменимы для оптимизатора сайтов на этом движке.
Yoast SEO - Один из самых популярных плагинов для Wordpress, позволяющим бороться с проблемой дублей. С его помощью можно заставить Wordpress прописывать канонические ссылки, запретить индексацию страниц с постраничным разбиением (рубрики), скрыть архивы автора, удалить /category/ из URL и многое другое.
All in One Seo Pack - Аналогичный плагин, не менее популярный и выполняющий похожие функции. Какой из них использовать - решать вам.
Как убрать дубли страниц в Joomla
Несмотря на то, что Joomla! поддерживает автоматическое создание канонических ссылок, некоторые дубли все равно могут попадать в индекс поисковых машин. Для борьбы с дублями в Joomla! можно использовать robots.txt и 301редирект. Правильный файл rorbots.txt описан выше.
Ну, а чтобы включить ЧПУ (человеко понятные урлы) в Joomla достаточно переименовать htaccess.txt в .htaccess и добавить туда сразу после RewriteEngine On:
RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://site.ru/ [R=301,L]
А также в настройках сайта поставить галочки следующим образом:
Таким образом мы избавимся от дублей типа www.site.ru и site.ru/index.php, потому что в этой CMS возникает такая проблема с дублями. И поисковики часто индескируют страницы типа site.ru/index.php. Теперь после всех манипуляций при попытке зайти на страницу, например, www.site.ru посетителя перекинет на главную, т.е. site.ru.
Из плагинов для Джумлы могу посоветовать JL No Doubles - плагин убирает дубли страниц в компоненте com_content. Возможен 301 редирект на правильную страницу, либо вывод 404 ошибки.
Специальные сервисы для создания robots.txt и .htaccess
Если Вы только начинаете осваивать сайтостроение — попробуйте воспользоваться услугами специализированных сервисов, которые помогут Вам сгенерировать валидные файлы robots.txt и .htaccess:
seolib.ru - На нем можно не только создать, но и протестировать Ваш robots.txt
htaccess.ru - один из наиболее популярных сервисов, на котором можно создать и выбрать различные параметры генерируемого файла .htaccess