Обсудить проект

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

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

Vladislav Krivorutsko20 августа 2026 г.9 мин чтения
Содержание

TL;DR — коротко о главном

  • Дубли страниц — это несколько URL с одинаковым или почти одинаковым содержимым; санкций за них нет, но Google сам выбирает, какой URL показывать, и часто выбирает не тот
  • Больше 90% дублей на обычных сайтах создаёт не копирование текста, а технические варианты одного адреса: слеш, www, http, параметры, пагинация, фильтры
  • Главный отчёт для поиска дублей — «Индексирование страниц» в Search Console, статусы «Страница является копией» и «Google выбрал другой канонический URL»
  • Инструмент выбирается по задаче: 301 — если старый URL не нужен, canonical — если оба должны существовать, noindex — если страница нужна людям, но не поиску
  • Дубли внутри одного языка и языковые версии — разные вещи: вторые лечатся hreflang, а не склейкой

Короткий ответ

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

На обычном сайте подавляющее большинство дублей возникает не из-за скопированных текстов, а из-за того, как CMS формирует адреса: слеш на конце, www, http, UTM-метки, параметры сортировки, товар в двух категориях. Лечится это тремя инструментами — 301-редиректом, атрибутом canonical и noindex, — и выбор между ними зависит от того, нужен ли второй URL людям.


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

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

Источник дублейПримерОбычная причина
Варианты одного адреса/uslugi и /uslugi/, www и без www, http и httpsНе настроен единый формат URL на уровне сервера
GET-параметры?utm_source=, ?sort=price, ?sessionid=Метки рекламы и внутренние функции каталога
Товар в нескольких категориях/lampy/nastolnaya и /dlya-ofisa/nastolnayaНастройка CMS «формировать URL по пути категории»
Фильтры и фасетная навигация?color=black&size=xl в любых комбинацияхКаталог отдаёт 200 на любую комбинацию параметров
Технические копии страницверсия для печати, AMP-остатки, /index.phpНаследие старых шаблонов и миграций
Автогенерация CMSархивы по датам, тегам, авторам, страницы вложений WordPressВключено по умолчанию, никто не отключал
Одинаковые тексты на разных страницахшаблонные описания филиалов или городовМассовая генерация посадочных страниц без уникального содержимого

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

Отдельно стоит развести дубли и каннибализацию запросов. Дубль — это одинаковое содержимое по разным адресам. Каннибализация — разные страницы с разным текстом, которые конкурируют за один и тот же запрос. Первое чинится склейкой, второе — переработкой структуры и содержания, и подмена одного другим стоит времени.


Чем дубли реально вредят

Три эффекта, и они очень разного размера.

Google показывает не тот URL. Это главное. Поисковая система выбирает канонический адрес сама, ориентируясь на ссылки, sitemap, canonical и внутреннюю связность. Если сигналы противоречивы, в выдачу может попасть адрес с UTM-меткой или версия товара из второстепенной категории. Внешне трафик как будто есть, но накопленные сигналы распределены между адресами.

Тратится краулинговый бюджет. На сайте до нескольких тысяч страниц это обычно не проблема — Googlebot обойдёт всё. На каталоге, где фильтры порождают десятки тысяч комбинаций, ситуация меняется: краулер тратит обходы на мусорные адреса, а новые карточки товара ждут индексации неделями. Симптомы совпадают с теми, что я разбирал в статье про то, почему страницы не индексируются в Google.

Размывается внутренний вес. Если часть внутренних ссылок ведёт на /uslugi, а часть на /uslugi/, вес делится между двумя адресами вместо одного. Эффект скромнее двух предыдущих, но он бесплатно устраняется наведением порядка в перелинковке.

Чего дубли не делают — так это не понижают сайт целиком. Если вам говорят, что сайт «под фильтром за дубли», просите показать конкретный отчёт. В подавляющем большинстве случаев за этой формулировкой стоит обычная потеря позиций по другой причине.


Как найти дубли: три источника

Ни один источник не даёт полной картины, поэтому я всегда смотрю все три.

1. Search Console, отчёт «Индексирование страниц». Самый честный источник: он показывает не то, что вы считаете дублями, а то, что дублями считает Google. Ключевые статусы:

  • «Страница является копией, канонический вариант не выбран пользователем» — Google нашёл одинаковое содержимое и склеил адреса сам, потому что вы не поставили canonical.
  • «Google выбрал другой канонический URL, чем пользователь» — вы поставили canonical, а Google с ним не согласился. Это сигнал, что страницы либо действительно разные, либо внутренние ссылки и sitemap противоречат вашему canonical.
  • «Страница с переадресацией» в большом количестве — часто след того, что редиректы работают, но внутренние ссылки до сих пор ведут на старые адреса.

2. Краул сайта. Пройдитесь Screaming Frog, Sitebulb или любым другим краулером и отсортируйте результат по трём полям: title, H1 и хеш содержимого. Совпадающие title — самый быстрый индикатор класса дублей. Отдельно проверьте, отвечает ли сайт кодом 200 на адрес с произвольным добавленным параметром: если /uslugi?foo=bar открывается как обычная страница, у вас потенциально бесконечное число дублей.

3. Сама выдача. Запрос вида site:вашдомен.ee "фрагмент текста в кавычках" показывает, сколько адресов Google держит в индексе с этим текстом. Грубый инструмент, но он ловит то, что не попало в отчёты: старые поддомены, тестовые копии сайта, страницы после незавершённой миграции.

Четвёртый источник, о котором забывают, — sitemap.xml. Если в карте сайта лежат адреса с параметрами или адреса, которые редиректят, вы своими руками говорите Google, что эти URL канонические. Как это должно быть устроено, я разбирал в статье про настройку sitemap.xml и robots.txt.


Чем склеивать: 301, canonical или noindex

Выбор инструмента определяется одним вопросом: нужен ли второй URL живому пользователю?

СитуацияИнструментПочему
Старый адрес после смены структуры301-редиректURL больше не нужен, вес передаётся, адрес уходит из выдачи
Слеш, www, http301-редирект на уровне сервераОдин канонический формат для всего сайта
UTM-метки и параметры сортировкиcanonical на чистый URLСсылка должна работать, но индексироваться не должна
Товар в двух категорияхcanonical на основной путьОбе страницы нужны в навигации
Пагинацияcanonical на саму себяСтраницы 2+ содержат другие товары и дублями не являются
Версия для печати, PDF-копияcanonical на HTML-версиюПользователю нужна, поиску — нет
Корзина, личный кабинет, внутренний поискnoindexСтраница нужна людям, но бесполезна в выдаче
Полностью мусорные автогенерируемые архивыnoindex, затем удалениеЦенности нет ни для кого

Три вещи, на которых я регулярно вижу ошибки:

  1. Canonical — рекомендация, а не приказ. Google учитывает её вместе с другими сигналами и может проигнорировать. Если вы ставите canonical на страницу A, а все внутренние ссылки и sitemap ведут на B, победит B. Сигналы должны быть согласованы.
  2. Не закрывайте дубли через robots.txt. Запрещённую в robots.txt страницу краулер не скачивает — значит, не видит ни canonical, ни noindex на ней. Адрес остаётся в индексе как «проиндексировано, несмотря на блокировку в robots.txt», и склейки не происходит. Robots.txt — про экономию обхода, а не про удаление из индекса.
  3. Не комбинируйте noindex и canonical на одной странице. Это противоречивая инструкция: canonical говорит «передай сигналы туда», noindex — «выкинь меня». Выберите одно.

Языковые версии — не дубли

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

Русская, эстонская и английская версии одной страницы содержат разный текст и адресованы разным аудиториям — они не дубли по определению. Даже если совпадают картинки, цены и структура. Хуже того: canonical с эстонской версии на русскую выбрасывает эстонскую страницу из эстоноязычной выдачи целиком, то есть отдаёт весь местный трафик конкуренту.

Правильная схема простая: у каждой языковой версии canonical на саму себя, а связаны они между собой через hreflang, включая ссылку на себя. Типовые ошибки этой разметки и способ их проверки я разбирал в отдельной статье про настройку hreflang.

Отдельный случай — один язык на нескольких доменах или поддоменах, например .ee и .com с одинаковым английским текстом. Вот это уже настоящие дубли между сайтами, и здесь либо кросс-доменный canonical, либо честное разделение содержимого.


Что я вижу на практике

Несколько наблюдений с эстонских проектов, которые повторяются из раза в раз.

Самый частый дубль — не в каталоге, а на главной. Сайт одновременно открывается по четырём адресам: с www и без, с https и http. Настраивается это один раз на уровне сервера или CDN и закрывает целый класс проблем ещё до того, как кто-то посмотрит на страницы товаров.

Второй по частоте — параметры от внутренних функций. Сортировка, выбор количества товаров на странице, идентификатор сессии, следы старого фильтра. Каждый из них удваивает или утраивает число адресов каталога.

После миграции дубли появляются даже при правильных редиректах. Редиректы делают, а внутренние ссылки в меню, в текстах статей и в sitemap оставляют старые. Формально всё работает, фактически Googlebot ходит по цепочкам и получает противоречивые сигналы. Проверка простая: после переезда краул не должен находить ни одной внутренней ссылки на адрес, отдающий 301.

Дубли часто соседствуют со страницами-сиротами. И те и другие — следствие расхождения между реальной структурой сайта и тем, что о ней думает CMS. Разбирая один класс проблем, имеет смысл сразу проверить и второй — как искать сирот, я писал в статье про страницы без входящих ссылок.

Честная граница применимости: всё вышеописанное — про сайты до нескольких десятков тысяч URL, с которыми я работаю чаще всего. На крупных маркетплейсах управление параметрами становится отдельной инженерной задачей, и там решения принимаются на уровне архитектуры каталога, а не настройками CMS.


Порядок действий

  1. Проверьте, открывается ли сайт по нескольким вариантам главного адреса, и настройте 301 на один канонический формат.
  2. Откройте отчёт «Индексирование страниц» в Search Console и выпишите страницы со статусами про копии и чужой канонический URL.
  3. Пройдитесь краулером и сгруппируйте страницы по совпадающим title и H1 — так видны классы дублей, а не отдельные случаи.
  4. Для каждого класса определите, нужен ли второй URL пользователю, и выберите инструмент по таблице выше.
  5. Приведите внутренние ссылки и sitemap.xml в соответствие с выбранными каноническими адресами — это половина эффекта.
  6. Проверьте, что языковые версии связаны hreflang, а не склеены canonical'ом.
  7. Через 3–4 недели вернитесь в отчёт «Индексирование страниц» и сверьте, согласился ли Google с вашим выбором.

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

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

Что такое дубли страниц простыми словами?
Это ситуация, когда одно и то же содержимое доступно по нескольким разным URL. Например, товар открывается и по адресу /product/lamp, и по /catalog/lamps/lamp?utm_source=fb, и по /product/lamp/ со слешем на конце. Для человека это одна страница, для поисковой системы — три разных адреса с одинаковым текстом, между которыми ей приходится выбирать.
Наказывает ли Google за дубли страниц?
Нет. Google прямо заявляет, что дублирующийся контент внутри сайта не является основанием для санкций — это техническая ситуация, а не нарушение. Фильтр возможен только за целенаправленное копирование чужих текстов в больших объёмах. Реальный вред обычных дублей другой: размывается вес между адресами, тратится краулинговый бюджет, а в выдачу попадает не та версия страницы, которую вы продвигали.
Как найти дубли страниц на сайте?
Начните с отчёта «Индексирование страниц» в Search Console — там есть статусы «Страница является копией, канонический вариант не выбран пользователем» и «Google выбрал другой канонический URL, чем пользователь». Дальше пройдитесь краулером (Screaming Frog, Sitebulb или мой собственный краул) и отсортируйте страницы по совпадению title, H1 и хеша контента. Третий источник — поиск site:вашдомен.ee по фрагменту текста в кавычках.
Что выбрать: 301-редирект, canonical или noindex?
301 — когда старый URL больше не нужен пользователю: он передаёт вес и убирает адрес из выдачи навсегда. Canonical — когда обе страницы должны оставаться доступными (страница с фильтром, версия для печати, товар в двух категориях): она указывает предпочтительный адрес, но остаётся лишь рекомендацией. Noindex — когда страница нужна людям, но не поиску: корзина, личный кабинет, результаты внутреннего поиска.
Считаются ли дублями страницы на разных языках?
Нет. Эстонская, русская и английская версии одной страницы — это не дубли, даже если структура и картинки совпадают. Их не нужно склеивать canonical'ом: наоборот, canonical на другую языковую версию выкидывает страницу из выдачи своего языка. Связывать их нужно атрибутом hreflang, а canonical каждая версия должна иметь на саму себя.
Нужно ли закрывать пагинацию и фильтры от индексации?
Пагинацию — почти никогда: страницы 2, 3, 4 содержат разные товары и дублями не являются, а canonical с них на первую страницу мешает обходу глубоких карточек. Фильтры — по частотности: комбинации, под которые есть реальный спрос, стоит оставлять индексируемыми посадочными страницами, остальные закрывать. Индексировать все комбинации фильтров нельзя — на среднем магазине это десятки тысяч почти одинаковых страниц.

Выводы

Дубли почти никогда не бывают случайностью одной страницы — это следствие того, как CMS формирует URL. Поэтому чинить их поштучно бессмысленно: закройте источник (единый формат адреса, правила для параметров, canonical по шаблону), и весь класс дублей исчезнет разом. Начинать я всегда советую с отчёта «Индексирование страниц»: он показывает не то, что вы считаете дублями, а то, что дублями считает Google. Если разбираться некогда — это часть работы, которую я делаю в рамках [SEO-продвижения](/seo).

Автор статьи

Владислав Криворучко — основатель ADLAB
Владислав Криворучко

Основатель ADLAB OÜ · SEO и Google Ads

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

  • 20+ лет в поисковом трафике
  • 50+ проектов под ключ
  • Собственные сайты в конкурентных нишах
  • SEO для ru/et/en в одной выдаче
Подробнее обо мне

Читать дальше