SEO · 8 мин чтения

Дубли страниц на сайте: откуда берутся и как их убрать

Дубли страниц на сайте - это когда один и тот же контент открывается по двум и более разным адресам. Для пользователя разницы никакой, а для поисковика это два независимых документа, между которыми он вынужден выбирать, какой показывать в выдаче. За годы работы с сайтами на WordPress, Tilda и самописных SPA я встречал дубли почти в каждом проекте, который приходил ко мне на аудит или доработку - просто в разной степени тяжести. Ниже разберу, откуда они берутся технически и по контенту, как их находить и какими способами убирать, не потеряв позиции, которые сайт уже наработал.

Чем дубли страниц на сайте опасны для позиций

Поисковик не показывает в выдаче обе версии одной страницы одновременно - он выбирает одну, и не факт, что ту, которую выбрали бы вы. Часто в индекс попадает версия с параметром сортировки или с utm-меткой, а нужная чистая страница вытесняется. Ссылочный вес и поведенческие сигналы при этом размазываются между копиями: вместо одной сильной страницы с 40 переходами в месяц получаются две слабые по 20.

Второй эффект - трата краулингового бюджета. Робот Яндекса и Google обходит сайт не бесконечно: у него есть лимит запросов в сутки, зависящий от размера сайта и скорости ответа сервера. Если из 10 000 просканированных URL половина - дубли карточек товара с разными параметрами фильтра, до новых или обновлённых страниц робот может просто не дойти. На интернет-магазинах с фильтрами по цвету, размеру и цене это одна из самых частых причин, почему свежие товары неделями не индексируются.

Прямого штрафа за дубли как отдельной санкции у Google и Яндекса нет - это не переспам ключевых слов, за который могут понизить в ручном порядке. Но итоговый эффект на практике такой же: страницы, которые должны были собирать трафик, его не собирают, потому что делят сигналы с копиями.

Технические причины дублирования URL

Большая часть дублей появляется не из-за контента, а из-за того, как сайт технически формирует адреса. Вот список, с которым я сталкиваюсь чаще всего при аудите:

  • Доступность сайта одновременно по www и без www, по http и https - если не настроен принудительный редирект на одну версию, поисковик индексирует обе.
  • Слэш в конце адреса: /catalog/ и /catalog - для сервера это одна и та же страница, а для робота два разных URL, если явно не указано, какой вариант канонический.
  • UTM-метки и параметры рекламных кампаний: страница с добавленным utm_source превращается в отдельный адрес, если на ней нет canonical-тега.
  • Сортировки и фильтры в каталоге - параметры вроде orderby или filter_color и их комбинации. На WooCommerce с десятком атрибутов фильтрации это может дать тысячи технических дублей одной и той же выдачи товаров.
  • Пагинация - вторая, третья страницы категории часто дублируют title и description первой, если движок не генерирует их отдельно.
  • Идентификаторы сессии или партнёрские метки в URL, которые CMS добавляет автоматически.

Отдельно скажу про интеграции с оплатой и доставкой. У одного клиента на WooCommerce после подключения приёма платежей через Т‑Банк и доставки через СДЭК страница подтверждения заказа стала доступна по нескольким URL с разными query-параметрами заказа - и часть из них попала в индекс через внутренние ссылки в письмах и виджетах трекинга. Ничего критичного с точки зрения безопасности, но лишние проиндексированные страницы с одинаковым текстом «Спасибо за заказ» исправно засоряли выдачу по брендовым запросам.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Дубли контента без изменения адреса

Бывает и обратная ситуация: URL один, а контент задублирован смыслово. Сюда попадают:

  • Версии для печати и AMP-страницы с тем же текстом, что и основная страница, но без canonical на неё.
  • Карточки товаров с описанием, скопированным один в один с сайта производителя - формально это не дубль в техническом смысле, но поисковик расценивает такие страницы как низкоценные почти так же, как дубли.
  • Перенос сайта со старой платформы на новую без отключения старой версии. Я веду проекты миграции с Tilda на WordPress, и типичная ошибка - оставить старый сайт на системном поддомене включённым и индексируемым «на всякий случай», пока согласовывается новый дизайн. Оба сайта живут одновременно месяц-два, оба проиндексированы, контент почти идентичен - и Google сам решает, какую версию показывать, часто не в пользу новой.
  • Автоматическая публикация одного материала в несколько мест через сценарий в n8n - например, когда автоматизация постит статью в блог и одновременно создаёт зеркальную страницу в разделе новостей того же домена без canonical на первоисточник.

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

Как найти дубли страниц на практике

Прежде чем что-то чистить, нужно понять масштаб. Я обычно прохожу по такой последовательности.

Поиск через панели вебмастеров

В Google Search Console раздел «Страницы» показывает группу «Дубликат, отправленная страница не выбрана канонической» - это готовый список URL, которые Google считает копиями. В Яндекс.Вебмастере похожая информация лежит в разделе «Диагностика» и «Индексирование → Страницы в поиске», там же видно исключённые дубли.

Краулинг сайта сторонним инструментом

Screaming Frog SEO Spider (бесплатная версия сканирует до 500 URL, для больших сайтов нужна платная) находит дубли title и description автоматически - сортируете отчёт по колонке Title и сразу видите повторы. Это быстрее, чем вручную сверять URL руками, особенно на каталоге из пары тысяч товаров.

Ручная проверка через оператор site:

Запрос вида site:example.ru intitle:"название страницы" в Google быстро показывает, сколько адресов в индексе отвечают на один и тот же заголовок. Для точечной проверки одной подозрительной страницы этого достаточно, разворачивать краулер ради одного URL смысла нет.

Способы убрать дубли страниц

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

Способ Когда применять Что важно учитывать
rel=“canonical” Страница нужна пользователям (например, версия с фильтром), но не должна участвовать в индексации отдельно Не гарантирует, что робот полностью исключит страницу из индекса - это рекомендация, а не директива
301-редирект Старая страница больше не нужна вообще, весь трафик и вес нужно передать на новую Действует безвозвратно, редирект-цепочки длиннее одного шага замедляют обход
Meta robots noindex,follow Страница технически нужна (например, страница пагинации), но не должна попадать в выдачу Робот должен иметь доступ к странице, иначе noindex не увидит - закрывать её в robots.txt нельзя
Disallow в robots.txt Массовые технические дубли - служебные параметры, админка, результаты внутреннего поиска Не убирает уже проиндексированные страницы, только запрещает новый обход

На практике чаще всего использую комбинацию: canonical на все вариации URL с параметрами, 301 на страницы после миграции или смены структуры, и точечный noindex там, где страница функционально нужна, но в выдаче бесполезна. Уже проиндексированные дубли, которые хочется убрать быстро, а не ждать месяц переобхода, дополнительно отправляю через инструмент удаления URL в Search Console и Вебмастере - это ускоряет процесс до нескольких дней вместо естественных 3-6 недель.

Настройку самих редиректов на .htaccess или nginx лучше делать через правила на уровне сервера, а не через сторонние плагины, которые сами дают дополнительную нагрузку на каждый запрос. Для типовых случаев - переноса с www на без www, унификации слэша, склейки utm-параметров - у меня в библиотеке готовых скриптов есть шаблон правил для 301-редиректов, который закрывает большинство технических дублей без написания кода с нуля.

Дубли на WordPress, WooCommerce и Tilda: частые кейсы

На WordPress дубли чаще всего дают архивы категорий и меток, если на один и тот же материал повесили и категорию, и тег с похожим названием, а также вложения - отдельная страница на каждое загруженное в медиатеку изображение, которую WordPress создаёт по умолчанию. В WooCommerce добавляются дубли от атрибутов фильтрации и от товаров, которые числятся сразу в нескольких категориях по разным URL. Плагины Yoast SEO и Rank Math закрывают часть этого из коробки - достаточно включить canonical на страницы архивов и запретить индексацию attachment-страниц в настройках.

На Tilda основная причина - сайт остаётся доступен и по адресу на системном поддомене, и по подключённому домену одновременно. Если при настройке домена не прописать 301-редирект с системного адреса на основной (это делается в настройках публикации проекта), оба адреса живут в индексе параллельно с идентичным контентом. Второй частый случай - мобильная версия страницы, собранная отдельным блоком, которая иногда индексируется как самостоятельный URL при прямых ссылках из соцсетей.

Чтобы сайт работал без сбоев

Техподдержка

от 15 000 ₽/мес

Подробнее →

Частые вопросы

Сколько времени нужно, чтобы дубли исчезли из индекса после исправления

При естественном переобходе - от 2 до 6 недель, в зависимости от размера сайта и того, как часто робот его посещает. Через инструмент удаления URL в Search Console и Яндекс.Вебмастере срок сокращается до нескольких дней, но это временная мера на полгода, окончательно убирает дубль только правильно настроенный canonical, редирект или noindex.

Может ли robots.txt полностью убрать уже проиндексированные дубли

Нет. Disallow в robots.txt запрещает новый обход страницы, но если она уже в индексе, робот просто перестаёт её пересканировать - сама страница может оставаться в выдаче со старым содержимым сколько угодно. Чтобы убрать уже проиндексированную страницу, нужен noindex (при этом доступ к ней в robots.txt должен быть открыт) или 301-редирект.

Правда ли, что дубли страниц понижают весь сайт в выдаче

Прямой санкции на весь домен из-за дублей нет, в отличие от переспама или покупных ссылок. Проблема в другом: сигналы ранжирования размазываются между копиями, краулинговый бюджет расходуется на лишние URL, а в выдачу иногда попадает не та версия страницы, которую вы бы выбрали сами. По совокупности эффект ощущается как просадка, хотя формально это не наказание.

Что выбрать - canonical или 301-редирект

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

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Самозанятый Калинкин Н. А. · работаю с физлицами и юрлицами

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно