Дубли страниц: один товар по восьми адресам
Одна карточка товара обычно доступна по нескольким адресам сразу. Для человека это одна страница, для поиска — несколько разных, и он сам решает, какую оставить.
ИндексацияТехническая проверка
Как это выглядит
Возьмите любую карточку каталога и попробуйте открыть её так:
example.ru/catalog/tovar
example.ru/catalog/tovar/
www.example.ru/catalog/tovar
example.ru/CATALOG/tovar
example.ru/index.php/catalog/tovar
example.ru/catalog/tovar?utm_source=vk
example.ru/catalog/tovar?sort=price
example.ru/new/tovar
Если сервер на каждый из этих адресов отвечает кодом 200 и отдаёт одно и то же содержимое — у вас восемь страниц там, где вы держали одну. Человек разницы не заметит. Поиск заметит.
Чем это мешает
Робот не доходит до новых страниц. На сайт он заходит не бесконечно долго. Каждый визит, потраченный на копию, не потрачен на новую карточку — у поисковика это зовут бюджетом обхода. На сайте из сотни страниц незаметно, на каталоге из сорока тысяч — решает, попадёт ли новая коллекция в поиск к сезону или к следующему.
В выдачу попадает не тот адрес. Поиск склеивает копии и оставляет один — какой именно, решает он, а не вы. Регулярно там оказывается версия с параметром сортировки или с меткой рекламной кампании. Адрес некрасивый, ссылки на него не ведут, а стоит он там же, где стоял бы правильный.
Накопленное делится на восемь. Внешние ссылки, поведение посетителей, вес страницы — всё это привязано к адресу. Восемь адресов делят между собой то, что должно было достаться одному.
Откуда берутся близнецы
| Источник | Как выглядит |
|---|---|
| Слеш в конце адреса | /catalog и /catalog/ |
Поддомен www |
www.example.ru и example.ru |
| Протокол | http:// и https:// |
| Индексный файл | /index.php, /index.html |
| Регистр букв | /Catalog и /catalog |
| Метки рекламных кампаний | ?utm_source=, ?from=, ?gclid= |
| Сортировка и фильтры | ?sort=price&available=1 |
| Версия для печати | /print/, ?print=1 |
| Пагинация | ?page=2 |
| Товар в двух категориях | /obuv/krossovki/x и /new/x |
Первые пять появляются сами, из настроек сервера и движка. Остальные добавляют люди — маркетологи метками, разработчики фильтрами, контент-менеджеры вторым размещением карточки.
Где их искать
Панель вебмастера показывает готовый ответ. В Яндекс Вебмастере: «Страницы в поиске» → «Исключённые», статус «Дубль». В Google Search Console: отчёт «Страницы», строки «Страница является копией» — там же написано, какой адрес поиск выбрал вместо вашего.
Проверить руками тоже недолго. Откройте адрес со слешем и без, с www и без, по http и по https. Правильный ответ — редирект 301 на один вариант. Два ответа 200 означают два адреса.
Полную картину даёт проверка всего сайта: она собирает таблицу «адрес → код ответа → канонический адрес → заголовок» и сортировкой по заголовку показывает все группы близнецов разом. Ручной проверкой каталог не разобрать.
Чем закрыть каждый случай
Правило, из которого выводится остальное: адрес, который не нужен людям, закрывайте редиректом. Адрес, который нужен людям, но не нужен в поиске, закрывайте каноническим.
| Случай | Средство |
|---|---|
www и без, http и https, слеш, index.php, регистр |
Редирект 301 на один выбранный вариант |
| Сортировка, фильтры, метки кампаний | Канонический адрес без параметров |
| Товар в двух категориях | Один адрес канонический, второй показывает на него |
| Версия для печати | noindex |
| Пагинация | Канонический адрес — сам на себя, а не на первую страницу |
Пагинация стоит в этой таблице отдельно, потому что её чинят неправильно чаще всего. Канонический адрес второй страницы списка должен показывать на неё саму: содержимое там другое, и склеивать её с первой значит просить поиск забыть половину каталога.
Чего делать не стоит
Закрывать дубли в robots.txt. Робот не прочитает страницу и не увидит ни канонического адреса, ни запрета индексации. Адрес останется в выдаче — без описания, зато навсегда.
Ставить канонический адрес на главную со всех страниц. Просьба будет исполнена буквально.
Собирать цепочки редиректов. /a → /b → /c — это два перехода вместо одного, потерянная скорость и риск, что где-то в середине появится третий. После смены структуры адресов старые редиректы надо переписывать на конечную точку, а не дописывать новые в хвост.
Оставлять 404 там, где был трафик. Удалённая карточка с внешними ссылками должна отдавать 301 на ближайшую по смыслу — категорию, замену, аналог. 404 здесь означает выбросить накопленное.
Сколько ждать после правки
Из индекса дубли уходят не в тот же день. Роботу нужно вернуться на каждый адрес, увидеть новый ответ и переварить его. Ускорить это можно так:
- отправьте исправленные адреса на переобход;
- обновите
sitemap.xmlс датами изменения; - проследите, чтобы в карте остались только канонические адреса.
Через месяц повторите проверку и сравните с прошлой: количество адресов с кодом 200 должно упасть, количество исключённых по статусу «Дубль» — вырасти, а потом сойти на нет. Если цифры стоят на месте, правка до сервера не доехала, и проверять надо порядок правил, а не индекс.