Дубли страниц: откуда берутся и как от них избавиться
Дубли размывают вес страниц, путают поисковик и отнимают бюджет обхода. Показываем, где они прячутся, как их найти и чем лечить в каждом конкретном случае.
// содержание статьи
Представьте, что в городе у одного магазина три вывески с разными адресами, и все три ведут к одной двери. Курьер путается, клиенты пишут отзывы то на один адрес, то на другой, а справочник не может решить, какой из них настоящий. Примерно так поисковая система видит сайт с дублями.
Дубли страниц — одна из самых распространённых технических проблем. Почти на каждом аудите мы находим их десятками, а на интернет-магазинах — тысячами. Хорошая новость: почти все они возникают по понятным причинам и лечатся стандартными способами. Разберёмся по порядку.
Что считается дублем
Дубль — это страница, доступная по нескольким адресам, или несколько страниц с практически одинаковым содержимым. Поисковики делят их на две группы.
Полные дубли
Одна и та же страница целиком отдаётся по разным адресам. Содержимое, заголовки, мета-теги совпадают полностью. Примеры:
- адрес со слешем на конце и без него;
- версия с префиксом www и без него;
- адрес с index.php или index.html и без него;
- одна и та же страница в верхнем и нижнем регистре;
- страница, доступная и по HTTP, и по HTTPS.
Частичные дубли
Страницы различаются немного, но основное содержимое повторяется. Это сложнее заметить:
- страницы пагинации с одинаковыми title и description;
- сортировки и фильтры, которые меняют порядок товаров, но не состав;
- карточки одного товара в разных цветах с одинаковым описанием;
- версии для печати;
- услуги в разных районах города с текстом, где заменено только название района.
Почему дубли вредят
Кажется, что лишние копии страниц ничего не ломают: пусть будут. На деле последствия ощутимы.
- Поисковик сам выбирает главную версию. И далеко не всегда ту, которую выбрали бы вы. В выдачу может попасть адрес с параметрами или страница печати без меню и кнопок заказа.
- Размывается ссылочный вес. Одни внешние и внутренние ссылки ведут на один вариант адреса, другие — на второй. Вместо одной сильной страницы получается две средних.
- Страницы конкурируют между собой. Позиции «скачут»: сегодня ранжируется один адрес, завтра другой, и ни один не закрепляется в топе.
- Тратится бюджет обхода. Робот ходит по копиям вместо того, чтобы индексировать новые товары и статьи.
- Риск санкций за малополезный контент. Массовые частичные дубли, особенно шаблонные геостраницы, Яндекс может расценить как низкокачественные.
Откуда они берутся
Разобраться с источником важнее, чем с конкретными адресами: если не устранить причину, дубли будут появляться снова.
Настройки сервера
Сервер по умолчанию часто отвечает кодом 200 на любой вариант адреса: с www и без, со слешем и без, с разным регистром. Если нет правил, которые приводят всё к одному виду, каждая страница сайта автоматически получает несколько копий.
Особенности CMS
Популярные движки любят создавать альтернативные пути к одной странице. Товар может быть доступен и через категорию, и напрямую, и через тег, и через страницу бренда. Статья в блоге — по адресу с датой, по адресу с рубрикой и по короткому идентификатору.
GET-параметры
Метки рекламных кампаний, идентификаторы сессий, параметры сортировки, фильтры, реферальные коды. Каждый новый параметр — новый адрес в глазах робота.
Человеческий фактор
Контент-менеджер скопировал страницу услуги, чтобы сделать похожую, и забыл переписать текст. Или создал новую версию раздела, а старую не удалил. Такие дубли не найти настройками — только аудитом.
Как найти дубли на своём сайте
Есть несколько способов, лучше использовать их вместе.
Через панели вебмастеров
В Яндекс Вебмастере в разделе «Страницы в поиске» смотрите исключённые страницы со статусом «Дубль». Там же видно, какую страницу Яндекс выбрал основной. В Search Console аналогичную информацию даёт отчёт об индексировании: статусы «Страница является копией» и «Дубликат, канонический вариант выбран не пользователем».
Через краулер
Программа-краулер обходит сайт как робот и собирает все адреса. Затем сортируете по совпадающим title, description, H1 и по хешу содержимого. Совпадающие группы — кандидаты в дубли.
Через поиск
Оператор поиска по сайту плюс кусок уникального текста в кавычках покажет, сколько адресов в индексе содержат этот фрагмент. Грубо, но быстро.
Ручные проверки
Откройте любую страницу и попробуйте вручную: добавить и убрать слеш, дописать index.php, поменять регистр, добавить случайный параметр вроде /catalog/?test=1. Если страница открывается с кодом 200 и без canonical на основной адрес, у вас системная проблема.
Инструменты устранения: что выбрать
Способов избавиться от дубля четыре, и у каждого своя область применения.
| Способ | Когда использовать | Что происходит с весом | Пример |
|---|---|---|---|
| Редирект 301 | Копия не нужна пользователям вообще | Передаётся основной странице | Вариант без слеша, версия с www |
| Атрибут canonical | Копия нужна людям, но не нужна в поиске | Склеивается с основной | Сортировки, метки рекламы, товар в двух категориях |
| Мета-тег noindex | Страница нужна, но не должна быть в индексе совсем | Не передаётся | Версия для печати, служебные страницы |
| Уникализация | Страница должна ранжироваться самостоятельно | Остаётся на странице | Геостраницы, карточки вариантов товара с разным спросом |
Отдельно про robots.txt: закрыть дубль в нём можно, но это наименее удачный вариант. Робот перестанет ходить на страницу, но не узнает, что она копия, и вес на неё будет продолжать утекать. Clean-param для Яндекса — исключение, он как раз склеивает адреса с параметрами. Подробнее о настройке служебных файлов — в статье про robots.txt и sitemap.xml.
Когда что выбирать на практике
- Технические дубли от настроек сервера — только редирект 301 на единый формат адреса. Это делается правилами на сервере один раз для всего сайта. Как правильно настраивать перенаправления, мы разбирали в статье о редиректах 301 и 302.
- Параметрические дубли — canonical на адрес без параметров плюс Clean-param для Яндекса.
- Пагинация — оставьте каждую страницу со ссылкой canonical на саму себя, но сделайте уникальные title с номером страницы и выводите описание категории только на первой.
- Контентные дубли — либо переписать текст, либо объединить страницы в одну с редиректом со второй.
Пример из практики
Интернет-магазин отделочных материалов из Самары обратился с жалобой: новые товары неделями не попадают в индекс, а позиции по категориям нестабильны. Краулер нашёл около 38 000 адресов при реальном ассортименте в 6 500 товаров.
Что обнаружилось:
- Каждый товар был доступен по трём путям: через категорию, через бренд и по прямому адресу.
- Сортировки по цене и популярности создавали отдельные адреса, открытые для индексации.
- Страница с параметром количества товаров на странице дублировала каждую категорию ещё трижды.
- Часть старых адресов после смены CMS отдавала 200 вместо редиректа.
План работ был таким: оставили один канонический адрес товара без категории в пути, остальные варианты перевели на 301. Для сортировок и количества на странице поставили canonical на основную категорию и добавили Clean-param. Старые адреса собрали из логов и настроили редиректы. Через шесть недель число страниц в индексе сократилось до реального, а новые товары стали попадать в поиск за два-три дня.
Как не допустить появления новых дублей
Устранить дубли однажды — полдела. Важно выстроить процесс, чтобы они не возвращались.
- Зафиксируйте единый формат адресов: протокол, наличие www, слеш на конце, нижний регистр. Пропишите это в техническом задании для разработчиков.
- Настройте canonical на всех шаблонах по умолчанию, чтобы любая страница указывала на свой основной адрес.
- При добавлении новых фильтров и параметров решайте заранее, индексируются они или нет.
- Не копируйте страницы через интерфейс CMS без последующего переписывания текста.
- Раз в квартал проверяйте отчёты о дублях в панелях вебмастеров.
Отдельно стоит договориться о правилах с теми, кто наполняет сайт. Если для каждого района или города нужна своя страница услуги, заранее решите, чем она будет отличаться от остальных: собственными примерами работ, ценами, отзывами клиентов из этого района, описанием выезда. Страница «Ремонт квартир в Кировском районе», где от общей версии отличается только название района, почти наверняка будет признана дублем. О том, как делать такие страницы полезными, мы подробно рассказали в статье о геостраницах для сайта с филиалами.
Итоги
Дубли — не катастрофа, а предсказуемое следствие того, как устроены серверы и CMS. Главное — системный подход:
- различайте полные и частичные дубли, у них разные причины и разное лечение;
- ищите источник, а не отдельные адреса;
- используйте 301 для технических копий, canonical — для параметров, noindex — для служебных страниц, уникализацию — для страниц со своим спросом;
- не полагайтесь только на robots.txt;
- пропишите правила формирования адресов для разработчиков, чтобы проблема не вернулась.
Если дублей много и непонятно, с чего начать, закажите SEO-аудит: мы соберём все копии, сгруппируем по причинам и дадим готовое техническое задание на исправление.
$ help --seo
Хотите применить это на своём сайте?
Посмотрим сайт и подскажем, какие шаги дадут результат быстрее всего. Разбор бесплатный.