Техническое SEO: доступ поисковика к сайту

Дубли страниц

Технический дубль — один документ на нескольких URL: Google склеивает каноникал, Яндекс собирает группу дублей, а разные H1 на один запрос — уже каннибализация.

Кирилл Бабийчук · обновлено · 6 мин чтения

Дубль страницы — это не «похожий текст» и не два гида на один запрос. Это один и тот же документ, который отвечает 200 по разным URL. Робот обязан выбрать один адрес в выдаче. Хаб технического SEO начинается с доступа; здесь — опись копий. Тег, которым вы называете мастера, разобран на странице Canonical URL. Два разных живых документа, которые делят сниппет, — это каннибализация запросов, не эта страница.

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

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

Ось дубля — URL, не тема. https://example.com/page и https://example.com/page/ — дубль слеша. http:// и https:// того же пути — дубль протокола, его закрывает страница HTTPS. www и apex — дубль хоста, см. www и non-www. Печать, AMP, index.php, сессионный id, UTM на том же HTML — дубли контура CMS. Два гида с разными H1 про одну задачу — каннибалы контента: их не лечат Clean-param.

«Штраф за duplicate content» как отдельная санкция Google за обычные копии CMS не существует. Search Central описывает склейку сигналов и экономию обхода, не ручной action. Ручные меры живут в Spam Policies, не в отчёте дублей. Если копии ещё и открыты как отдельные документы, вы тратите crawl и дробите ссылки — это дыра доступа, с которой начинается SEO-аудит сайта, а не слайд «добавьте уникальности».

Семья URL Чей узел Первый ход
Слеш / index.php / несколько // эта страница один 301 на канон; Яндекс для слеша каноникал не рекомендует
HTTP ↔ HTTPS HTTPS 301 на тот же путь; у Яндекса canonical на смену протокола больше не опора
www ↔ apex www и non-www один 301 на главный хост группы
UTM, from, session, AMP=1 эта страница; разбор параметров — сосед Яндекс: Clean-param; оба: canonical на чистый URL
Печать / AMP-каталог / копия в двух ветках CMS эта страница canonical или 301, если копию можно убить
Страница 2 листинга, фасет «цвет=красный» не сюда свой спрос — самоссылка; шаблон магазина уже на ecommerce-страницах
Два гида на один запрос каннибализация один канон роли, не тег на «похожий текст»

Как увидеть группу, не выдумывая процент краула

Яндекс Вебмастер: Индексирование → Страницы в поиске → Исключённые → статус «Удалено: Дубль». В выгрузке архива строка дубля имеет статус DUPLICATE. Если копии плодит GET, уведомление приходит в «Диагностика сайта». Это кабинет факта, не «доля дублей по Seojnik» — такого среза нет.

Search Console, отчёт об индексировании страниц, официальные причины:

  • «Дублирующаяся страница без канонической версии, выбранной пользователем» — вы не назвали мастера, Google выбрал сам.
  • «Дублирующаяся страница: выбранная пользователем каноническая версия не используется Google» — тег есть, сигналы спорят (редирект, карта, внутренние href).
  • «Дубликат: отправленный URL не выбран в качестве канонического» — URL из sitemap проиграл склейке.
  • «Альтернативная страница с правильным каноническим тегом» — это не ошибка: копия склеилась, как вы просили.

Проверка без кабинета: возьмите денежный путь и без -L стукните слеш/без слеша, http/https, www/apex, ?utm_source=test. Где 200 и тот же HTML — живой дубль. Где 301 на канон — склейка уже есть. Каноникал читают в исходнике 200, не на hop: тело редиректа робот не разбирает, см. 301 редирект.

Чем склеивать: сила сигнала, не «зелёная галочка плагина»

У Google порядок силы в той же справке: редирект сильнее rel=canonical, карта — слабый намёк, какой URL вы считаете мастером. Методы складываются, если не спорят. Нельзя в sitemap положить A, а в теге написать B. Нельзя каноникалить фрагмент после #. Нельзя закрывать копию в robots.txt «чтобы склеить»: Google может проиндексировать URL без тела. URL Removal прячет все версии, это не каноникализация. noindex среди копий Google не рекомендует: он снимает страницу из поиска целиком, а не выбирает мастера.

Яндекс для разных семей даёт разные инструменты. Слеш — только 301, каноникал «может игнорироваться». Главная / и без слеша для хоста считаются одним адресом, настраивать не нужно. Несколько подряд идущих / робот сам схлопывает; обратный слеш в пути — уже отдельный URL. GET, который не меняет HTML (UTM и часть меток Яндекс снимает сам): директива Clean-param в robots.txt, межсекционная, для робота User-agent: Yandex. Копии в разных путях CMS — 301, каноникал или Disallow/noindex, если адрес не должен жить. После верного указания неканоническая страница пропадает из поиска обычно в пределах трёх недель обхода; на большом сайте дольше. Каноникал Яндекс игнорирует, если содержимое сильно другое, мастер недоступен, указан другой домен или поддомен, тегов несколько или они цепочкой A→B→C.

Самоссылка на чистый URL канона нужна. Внутренние href, карта и меню — только туда. Иначе вы просите склеить A, а сами ссылаетесь на B. Параметры, которые меняют выдачу листинга, сюда не запихивайте: их разберёт страница «Параметры URL», пагинацию и фасеты — их собственные URL, не этот H1.

Дубль — это второй 200 на тот же документ. Пока копия жива и сигналы смотрят в разные стороны, кабинеты честно показывают группу, а не «штраф».

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

Штрафует ли Google за дубли страниц?

Обычные копии CMS он склеивает в один каноникал и экономит обход. Это не ручная санкция и не отдельный «duplicate penalty». Штраф начинается там, где копии — спам: скрейп, дорвеи, масштабированный мусор. Их смотрят Spam Policies, не отчёт «Дубль».

Почему Яндекс исключил URL как дубль, хотя каноникал стоит?

Тег для Яндекса — рекомендация. Его снимут, если HTML мастера другой, мастер 301/noindex, указан чужой хост, тегов несколько или они цепочкой. Для слеша справка вообще просит 301, не каноникал. Смотрите «Исключённые страницы» и исходник 200, не поле плагина.

Два URL в индексе на один товар — это дубль или каннибализация?

Если это один и тот же HTML в двух ветках каталога — дубль, клеят 301 или каноникал на один SKU. Если карточка и гид «как выбрать» делят запрос разными документами — каннибализация роли, её не лечат Clean-param.

Нужно ли закрывать дубли в robots.txt?

Для Google — нет, это не способ выбрать каноникал: URL могут проиндексировать без тела. Для Яндекса Disallow годится, когда копию не хотите в поиске и не можете отдать 301. GET-метки в Яндексе честнее снять Clean-param, а не прятать весь путь.