Clean-param: директива robots.txt для Яндекса
Обновлено
Clean-param — директива файла robots.txt, которую понимает только Яндекс. Она сообщает роботу, что указанные параметры в адресах не меняют содержимого страницы, и их нужно игнорировать при обходе.
Зачем нужна
Метки рекламы (utm_source, yclid), идентификаторы сессий и сортировки
создают десятки адресов, ведущих на одну страницу. Для робота это отдельные
страницы, то есть дубли, которые тратят
краулинговый бюджет. Clean-param собирает их в
один адрес.
Синтаксис
Clean-param: utm_source&utm_medium&utm_campaign /
Clean-param: sort /catalog/
Параметры перечисляются через &, затем — префикс адреса, к которому
правило относится. Без префикса или с / оно действует на весь сайт.
Чем отличается от canonical
Canonical указывается на странице и понятен всем поисковикам, а Clean-param — единое правило для сайта, но только для Яндекса. Google такую директиву игнорирует. Поэтому на практике ставят обе: canonical защищает от дублей в обоих поисковиках, Clean-param дополнительно экономит обход Яндекса. Подробнее — в разборе Clean-param и canonical.
Как проверить
В Вебмастере есть инструмент проверки robots.txt: он показывает, как робот прочитал директиву. Через несколько дней после настройки в статистике обхода должно снизиться число адресов с метками.
Типичные ошибки
- Забыли про параметры, о существовании которых не знали: открыв логи сервера, находят десятки лишних.
- Указали параметр, который меняет содержимое (например, номер страницы списка) — страницы пропадут из поиска.
- Ожидание, что директива поможет в Google.
Как это сделано у нас
В нашем robots.txt для Яндекса перечислены метки рекламы и служебные
параметры: utm_source, utm_medium, utm_campaign, utm_term,
utm_content, yclid, gclid, ymclid, from и _openstat. Для Google
такой директивы нет, поэтому у каждой страницы стоит собственный canonical —
вместе они закрывают оба поисковика.
Подробный разбор — Чем Clean-param отличается от canonical.