Дубли страниц — это одинаковые или почти одинаковые страницы сайта, доступные по разным адресам. Найти их можно в отчетах Google Search Console и Яндекс Вебмастера, а исправить тремя способами: 301-редиректом, если копия не нужна, атрибутом rel canonical, если копия должна остаться, и директивой Clean-param для параметров URL в Яндексе.
Типичная картина, с которой к нам приходят: в Яндексе вместо страницы услуги показывается та же страница с UTM-меткой из старой рассылки, а в Google по запросу ранжируется версия для печати или карточка товара с сортировкой в адресе. Владелец видит, что позиции скачут, и подозревает санкции. Чаще всего причина проще: поисковик не знает, какая из копий главная, и выбирает сам, причем от обхода к обходу по-разному.
Что такое дубли страниц и почему они мешают продвижению
Дубли мешают тем, что поисковик сам решает, какую из копий показывать, и выбирает не всегда ту, которую вы продвигаете. В справке Яндекса прямо перечислены последствия: в выдаче может оказаться не та страница, изменится адрес в результатах поиска, робот будет медленнее обходить сайт, а копии начнут конкурировать друг с другом.
Для бизнеса это выливается в конкретные потери. Ссылки и поведенческие сигналы размазываются по нескольким адресам. Аналитика считает трафик на страницу услуги частями, и в отчете она выглядит слабее, чем есть. Если в выдачу попала версия с параметрами, на ней может не работать форма заявки или стоять неправильный счетчик. А на большом каталоге робот тратит обход на тысячи копий фильтров вместо новых товаров.
Важно отличать дубли от каннибализации. Дубль — это одна и та же страница под разными адресами. Каннибализация — это разные страницы, которые борются за один запрос. Лечатся они по-разному, и про второй случай у нас есть отдельный разбор: как найти страницы-конкуренты и что с ними делать.
Откуда берутся дубли: самые частые источники
Чаще всего дубли создают движок сайта и рекламные метки, редко кто-то копирует страницу руками. На аудитах мы раз за разом встречаем одни и те же источники:
- Параметры URL. UTM-метки, yclid и gclid от рекламы, сортировка (?sort=price), фильтры, номер сессии, параметры партнерских ссылок. Содержимое страницы то же, адрес новый.
- Слэш в конце адреса. /uslugi и /uslugi/ отдают одну страницу с ответом 200.
- www и без www, http и https. Если зеркала не склеены редиректом, сайт существует в четырех экземплярах.
- Копии главной. /index.php, /index.html, /home открываются вместе с корнем домена.
- Товар в нескольких категориях. Одна карточка доступна по /catalog/kabel/123 и /catalog/akcii/123.
- Версии для печати и AMP. Отдельный адрес с тем же текстом.
- Языковые версии без перевода. Казахская версия, где пока лежит русский текст, для поисковика выглядит копией.
- Технические страницы CMS. В WordPress это архивы авторов, меток и вложений, в 1С-Битрикс это служебные адреса компонентов и пагинация, если ее не настроили.
По нашему опыту SEO-аудитов на проектах B2BPRO.KZ, сайты услуг в Казахстане чаще всего страдают от двух вещей: несклеенных зеркал после переезда на https и UTM-меток, которые попали в индекс через рассылки и мессенджеры. Интернет-магазины добавляют к этому фильтры и сортировки, и там дублей бывает в разы больше, чем полезных страниц.
Как найти дубли страниц: Search Console, Вебмастер и краулер
Быстрее всего дубли находятся в отчетах самих поисковиков: там видны копии, которые робот реально увидел и склеил. Затем результат стоит дополнить обходом сайта краулером.
Google Search Console
В отчете об индексировании страниц Google показывает статусы, связанные с копиями. Формулировки из справки Google об отчете «Индексирование страниц»:
| Статус в Search Console | Что означает | Что делать |
|---|---|---|
| Вариант страницы с тегом canonical | Страница корректно указывает на основную версию | Ничего, все работает |
| Страница является копией. Канонический вариант не выбран пользователем | Google нашел копию и сам выбрал главную, canonical не задан | Проставить canonical, чтобы выбор был вашим |
| Страница является копией. Канонические версии страницы, выбранные Google и пользователем, не совпадают | Вы указали одну главную, Google выбрал другую | Проверить, почему ваш сигнал проигрывает: ссылки, редиректы, содержимое |
| Страница с переадресацией | Адрес перенаправляет на другой и сам не индексируется | Норма для старых адресов после склейки |
Для отдельной страницы пригодится инструмент «Проверка URL». Он показывает два поля: «Каноническая страница, выбранная пользователем» и «Каноническая страница, выбранная Google». Второе есть только у проиндексированной версии. Если значения расходятся, значит, ваш canonical поисковик принял к сведению, но не послушался.
Яндекс Вебмастер
В Вебмастере дубли видны в разделе «Страницы в поиске»: переключитесь на «Исключенные страницы» и отфильтруйте статус «Удалено: Дубль». Этот список можно выгрузить архивом, в нем копии помечены статусом DUPLICATE. Если дубли возникают из-за GET-параметров, Яндекс сам присылает предупреждение в разделе «Диагностика сайта». Порядок описан в справке Яндекс Вебмастера о дублировании страниц.
Краулер и ручная проверка
Отчеты поисковиков показывают то, что уже попало в обход. Чтобы увидеть всю картину, сайт прогоняют краулером, например Screaming Frog SEO Spider или аналогом. В результатах обхода смотрите на одинаковые title и description, одинаковые заголовки H1 и совпадающие хэши содержимого. Потом руками проверьте типовые варианты адреса:
- Откройте главную с www и без, по http и https. Все варианты, кроме одного, должны отдавать 301 на основной.
- Добавьте и уберите слэш в конце адреса любой внутренней страницы.
- Допишите к адресу ?utm_source=test и посмотрите исходный код: в теге canonical должен остаться чистый адрес.
- Откройте товар из двух разных категорий и сравните canonical на обеих версиях.
- Наберите в Google запрос site:вашдомен.kz inurl:? и посмотрите, сколько адресов с параметрами попало в индекс.
Что такое rel canonical и как он работает
Rel canonical — это указание в коде страницы, какой адрес считать основным среди копий. Записывается он в блоке head:
<link rel="canonical" href="https://site.kz/uslugi/seo/" />
Для файлов, у которых нет HTML-кода, например PDF, то же самое передают HTTP-заголовком Link. Google в руководстве Google по склейке дублирующихся URL называет canonical сильным сигналом, но окончательное решение оставляет за собой. На практике это значит, что поисковик учитывает canonical вместе с остальными сигналами, и если ссылки, редиректы или sitemap.xml указывают в другую сторону, он может выбрать другую страницу.
Правила, которые прямо следуют из рекомендаций Google:
- Пишите абсолютный адрес с протоколом и доменом. Относительные пути со временем приводят к ошибкам.
- Ставьте canonical на саму основную страницу, указывающий на себя. Это защищает от копий, о которых вы еще не знаете.
- Выберите один способ: тег в head или HTTP-заголовок. Не дублируйте сигнал двумя разными значениями.
- Не используйте noindex для выбора основной страницы внутри сайта: он полностью убирает страницу из поиска.
- Не закрывайте копии в robots.txt ради склейки. Google может проиндексировать запрещенный адрес без содержимого, а прочитать на нем canonical уже не сможет.
- Внутренние ссылки, меню и sitemap.xml должны вести только на основной адрес.
Самая частая ошибка, которую мы видим: canonical указывает на одну страницу, sitemap содержит другую, а меню ссылается на третью. Поисковик получает три противоречивых сигнала и выбирает по своему усмотрению. Вторая по частоте ошибка: шаблон ставит на все страницы пагинации или на все карточки canonical на главную каталога. Тогда товары выпадают из индекса целиком.
Чем отличаются 301-редирект, canonical и Clean-param
Выбор инструмента зависит от одного вопроса: нужна ли копия посетителю. Если не нужна, ставьте 301-редирект. Если нужна, но не нужна в поиске, ставьте canonical. Если копию порождает параметр, который не меняет содержимое, для Яндекса добавьте Clean-param.
| Способ | Когда применять | Что видит посетитель | Особенности |
|---|---|---|---|
| 301-редирект | Копия не нужна: зеркала www и https, слэш, старые адреса, копии главной | Попадает сразу на основной адрес | Google называет его сильным сигналом, Яндекс показывает в поиске страницу назначения |
| rel canonical | Копия нужна людям: сортировки, фильтры, товар в двух категориях, версия для печати | Остается на своей странице | Рекомендация для поисковика, может быть проигнорирована при спорных сигналах |
| Clean-param в robots.txt | GET-параметры, не меняющие содержимое: метки, идентификаторы сессий, реферальные коды | Ничего не меняется | Директива только для Яндекса, Google ее не учитывает |
| noindex | Служебные страницы, которые не должны быть в поиске вообще | Страница работает | Не способ склейки: страница просто исчезает из выдачи |
Есть важная оговорка по Яндексу. В его справке сказано, что адреса со слэшем и без слэша на конце робот индексирует одинаково, и для этого случая советуют 301-редирект, потому что rel canonical здесь может быть проигнорирован. Перенаправлять стоит на ту версию, которая сейчас в индексе, чтобы не устраивать лишнюю переклейку.
Clean-param записывается в robots.txt одной строкой: имена параметров через амперсанд, затем, при необходимости, путь, к которому правило относится. Например, Clean-param: utm_source&utm_medium&utm_campaign. Яндекс отмечает, что большую часть UTM-меток он удаляет сам, поэтому директива особенно полезна для собственных параметров сайта: идентификаторов сессий, кодов партнеров, служебных меток. Параметры, которые меняют содержимое, например номер страницы пагинации или выбранный цвет товара, в Clean-param не добавляют: иначе робот перестанет видеть нужные страницы.
Как настроить canonical на WordPress и 1С-Битрикс
На обоих движках canonical можно выставить без программиста, если тема и модули не сломаны. Проблемы начинаются там, где шаблон дописывали вручную.
WordPress. Ядро WordPress выводит canonical для записей и страниц, а SEO-плагины вроде Yoast SEO берут эту задачу на себя и позволяют задать адрес вручную в настройках конкретной страницы. Что проверить:
- Откройте исходный код страницы и найдите rel=»canonical». Он должен встречаться ровно один раз. Два тега означают, что canonical выводят и тема, и плагин.
- Проверьте архивы меток, авторов и страниц вложений. Если они не несут пользы, их закрывают от индексации настройками плагина, а страницы вложений перенаправляют на сам файл или запись.
- Для мультиязычного сайта убедитесь, что каждая языковая версия ссылается на себя, а не на русскую. Иначе казахская версия выпадет из поиска.
1С-Битрикс. В интернет-магазинах на 1С-Битрикс основной источник дублей — карточки товаров, привязанные к нескольким разделам, и параметры фильтра. Canonical для карточек обычно задают в настройках компонентов каталога или в шаблоне сайта, а для фильтров решают отдельно: какие сочетания фильтров достойны своей посадочной страницы, а какие склеиваются с разделом. Если шаблон писали сторонние разработчики, сначала проверьте, что canonical вообще выводится и не указывает на один адрес для всех страниц.
Если в ходе проверки выясняется, что дубли зашиты в структуру сайта и правятся только переделкой шаблона или каталога, это уже задача разработки. Такие работы мы делаем в рамках разработки и доработки сайтов, обычно вместе с переносом редиректов, чтобы не потерять накопленные позиции.
Сколько ждать результата после исправления дублей
Изменения начинают действовать после следующего обхода сайта роботом. Яндекс в справке пишет, что исключенные страницы пропадают из поиска в течение трех недель после визита робота. Google сроков не обещает: популярные страницы переобходит быстро, редкие страницы каталога могут ждать неделями.
Ускорить процесс можно так:
- обновить sitemap.xml, оставив в нем только основные адреса;
- отправить ключевые страницы на переобход через «Проверку URL» в Search Console и через «Переобход страниц» в Вебмастере;
- убедиться, что все внутренние ссылки ведут на чистые адреса, иначе робот сам будет находить копии заново.
Отслеживайте результат по тем же отчетам: в Search Console число страниц со статусом «Страница является копией. Канонические версии страницы, выбранные Google и пользователем, не совпадают» должно снижаться, а в Вебмастере на месте дублей должны оставаться основные адреса в разделе «Страницы в поиске».
Пример: дубли на сайте услуг в Алматы
Возьмем иллюстративный случай, собранный из типичных ситуаций. Компания по ремонту коммерческой техники в Алматы переехала на https полгода назад. Сайт на WordPress, около 60 страниц. По запросу «ремонт холодильного оборудования алматы» сайт держался во второй десятке Яндекса и периодически пропадал.
Проверка показала четыре проблемы сразу. Версии с http и www отдавали 200 вместо редиректа, то есть сайт жил в четырех копиях. Страница услуги попала в индекс Яндекса с UTM-меткой из рассылки в мессенджере. Тема и SEO-плагин выводили два разных canonical. А в sitemap.xml лежали адреса без слэша, хотя меню вело на адреса со слэшем.
Порядок исправления был таким:
- Настроили 301-редиректы всех зеркал на https без www и единый формат со слэшем.
- Убрали вывод canonical из темы, оставили только плагин.
- Пересобрали sitemap.xml на основные адреса и отправили его в оба кабинета.
- Добавили в robots.txt Clean-param для собственных меток рассылки.
- Отправили 15 ключевых страниц на переобход.
Через несколько недель страница услуги стабильно показывалась в выдаче по одному адресу, а скачки позиций прекратились. Цифры в примере условные. Последовательность действий при этом реальная, мы повторяем ее почти на каждом сайте услуг.
Чек-лист: дубли страниц и canonical за один вечер
Если нет времени на полный аудит, пройдите этот список. Он закрывает большую часть проблем на сайтах до нескольких сотен страниц.
- Все зеркала (http, https, www, без www) перенаправляют 301 на одно основное.
- Единый формат слэша на конце, второй вариант уходит редиректом.
- Копии главной (/index.php, /index.html) перенаправлены на корень.
- На каждой странице один тег rel canonical с абсолютным адресом.
- Основные страницы ссылаются canonical сами на себя.
- Страницы с сортировками и параметрами указывают canonical на чистый адрес.
- Пагинация не склеена canonical с первой страницей, если на страницах разные товары.
- В sitemap.xml только основные адреса, отдающие 200.
- В robots.txt есть Clean-param для служебных параметров, не меняющих содержимое.
- В Search Console и Вебмастере проверены статусы копий и дублей.
Когда дублей сотни или тысячи, ручной чек-лист перестает работать: нужна выгрузка, группировка по шаблонам адресов и правила на уровне движка. В рамках SEO-продвижения сайта мы начинаем именно с технической чистки: дубли, редиректы, индексация, а уже потом тексты и ссылки. Разбирать дубли после контента выходит дороже, потому что часть работы над страницами приходится повторять.
Частые вопросы
Можно ли получить санкции за дубли страниц?
Нет, за технические дубли внутри одного сайта поисковики не наказывают. Они просто объединяют копии в группу и показывают одну страницу по своему выбору. Проблема в том, что выбранная поисковиком версия может оказаться с UTM-меткой или неудобной для посетителя, а сигналы ссылок и поведения делятся между копиями, поэтому основная страница ранжируется хуже.
Что лучше для дублей: canonical или 301-редирект?
Если копия посетителю не нужна, лучше 301-редирект: он сильнее и сразу ведет человека на основной адрес. Canonical выбирают, когда копия должна остаться доступной, например страница с сортировкой или товар в двух категориях. Для зеркал www и https и для слэша в конце адреса используют только редирект.
Как проверить, какой canonical выбрал Google?
Откройте в Google Search Console инструмент «Проверка URL» и введите адрес страницы. В блоке индексирования будут два поля: «Каноническая страница, выбранная пользователем» и «Каноническая страница, выбранная Google». Если адреса совпадают, все в порядке. Если нет, ищите противоречащие сигналы: внутренние ссылки, редиректы, sitemap.xml или слишком похожее содержимое.
Работает ли Clean-param в Google?
Нет, Clean-param понимает только Яндекс. Для Google параметры URL склеивают тегом rel canonical на чистый адрес и следят, чтобы внутренние ссылки и sitemap.xml вели на адреса без параметров. На практике в Казахстане делают оба шага сразу: canonical для обоих поисковиков и Clean-param в robots.txt для Яндекса.
Сколько времени поисковики склеивают дубли после исправления?
Яндекс пишет, что исключенные страницы пропадают из поиска в течение трех недель после очередного визита робота. Google сроков не называет: важные страницы переобходит за дни, редкие страницы каталога могут ждать несколько недель. Ускорить процесс помогает обновленный sitemap.xml и запрос переобхода ключевых страниц в обоих кабинетах.
