Исчерпывающее руководство по директиве Clean-param в robots.txt. Устранение дубликатов страниц, вызванных UTM-метками, сессиями и другими параметрами, чтобы повысить краулинговый бюджет, улучшить индексацию и поднять позиции в поиске.
Представьте: пользователь переходит на ваш сайт по ссылке из рекламы — в ней куча параметров. Потом кто-то делится ссылкой в соцсетях — там другие параметры. Из email-рассылки приходит третий вариант.
Для вас как для маркетолога это разные источники трафика. А для поискового робота — это три разных адреса с одним и тем же содержимым. Контент на странице один и тот же, меняется только строка запроса.
Что из этого выходит:
/product в выдаче оказывается /product?utm_source=facebook. Выглядит неаккуратно и путает пользователей.Для этого и придумали директиву Clean-param.
Clean-param — это строка в файле robots.txt. Она говорит поисковику (в основном — Яндексу), что некоторые параметры в ссылках не меняют содержание страницы.
То есть вы объясняете роботу: «Вот эти штуки в ссылках — просто мусор. Не обращай на них внимания, смотри только на основной адрес».
Синтаксис строгий, ошибок не прощает. Вот как выглядит правильная запись:
Clean-param: param_name[&name2&name3...] /path_pattern
Разберём по частям:
Clean-param: — ключевое слово. Пишем именно так, с двоеточием.param_name — название параметра, который нужно игнорировать. Это то, что стоит после ? до знака =.
site.com/page?utm_source=fb параметр — utm_source[&name2&...] — можно перечислить несколько параметров через амперсанд.
utm_source&utm_medium&utm_campaign/path_pattern — обязательная часть. Указываете, для каких страниц работает правило./path_pattern?Это маска, которая определяет, на какие разделы сайта действует директива.
| Маска пути | Описание и пример использования |
|---|---|
/ | Правило применяется ко всем страницам сайта. Пример: Clean-param: utm_source / — робот будет игнорировать параметр utm_source на всех URL без исключения. |
/blog/ | Правило применяется только к страницам, путь которых начинается с /blog/.Пример: Clean-param: share_id /blog/ — робот будет игнорировать параметр share_id только на страницах блога, например: site.com/blog/seo-article?share_id=123. |
/* | Звёздочка * заменяет любую последовательность символов. Используется для охвата всех страниц с глубокой вложенностью.Пример: Clean-param: ref /* — робот будет игнорировать параметр ref на всех страницах, включая site.com/catalog/phones/smartphone?ref=homepage. |
Некоторые параметры не требуют настройки — Яндекс удаляет их автоматически, если они не влияют на контент. Вы увидите их в отчёте как исключённые директивой Clean-param.
| Группа | Параметры | Статус |
|---|---|---|
| UTM-метки | utm_source, utm_medium, utm_term, utm_content, utm_campaign, utm_media, utm_group, utm_expid, utm_referrer | Автоматически |
| Яндекс-параметры | ysclid, yrclid | Автоматически |
Важно: Яндекс автоматически удаляет эти параметры, если они не меняют содержание страницы. В отчёте «Параметры URL» вы увидите их как исключённые директивой Clean-param.
Что это значит: вам не нужно добавлять их в файл robots.txt вручную. Это касается как стандартных UTM-меток, так и специфических параметров Яндекса (ysclid, yrclid).
Эти две директивы часто путают, но они решают разные задачи. Clean-param очищает URL от параметров, а Disallow полностью запрещает сканирование. Выбирайте инструмент под конкретную задачу.
| Критерий | Clean-param | Disallow |
|---|---|---|
| Суть | Указывает роботу игнорировать определённые параметры в URL | Запрещает роботу сканировать страницы по указанному пути |
| Индексация | Чистый URL остаётся в индексе | Страница исключается из индекса |
| Передача ссылочного веса | Передаёт накопленный вес на чистый URL | Не передаёт вес, так как страница недоступна |
| Краулинговый бюджет | Экономит, робот сканирует только чистый URL | Экономит, робот не сканирует страницу |
| Поддержка | Только Яндекс | Все поисковые системы |
| Пример | Clean-param: utm_source / | Disallow: /*?utm_ |
Вывод: Clean-param — для очистки URL от параметров, Disallow — для полного запрета сканирования. Используйте Clean-param, если хотите сохранить страницу в индексе, но убрать дубли. Используйте Disallow, если страница не должна индексироваться вообще.
Выберите параметры, которые нужно игнорировать, укажите путь — и получите готовый код для robots.txt.
Добавьте полученный код в файл robots.txt перед строкой Sitemap.
Посчитайте, сколько запросов робот тратит впустую на обход страниц с параметрами.
Расчёт основан на усреднённых данных. Точная экономия зависит от архитектуры сайта.
Самый частый случай. Убираем все стандартные UTM-метки сразу для всех страниц.
Прописываем в robots.txt:
User-agent: Yandex Clean-param: utm_source&utm_medium&utm_campaign&utm_term&utm_content /
Как это работает:
site.com/course/seo?utm_source=google&utm_campaign=promosite.com/course/seoНа сайте есть корзина. К ссылке добавляется параметр sid — ID сессии. Для каждого пользователя он уникальный, но контент страницы от этого не меняется.
Прописываем в robots.txt:
User-agent: Yandex Clean-param: sid /cart/
Что происходит:
site.com/cart/?sid=abc123 превращается в site.com/cart/site.com/product/phone?sid=abc123 не изменится — правило не сработает, потому что путь не подходитВ блоге есть сортировка (sort), фильтр по тегам (tag) и ещё UTM-метки. Контент поста от них не меняется.
Прописываем в robots.txt:
User-agent: Yandex Clean-param: sort&tag&utm_source&utm_medium /blog/*
Как это работает:
/blog/
rel="canonical".Clean-param. Иначе робот проиндексирует не ту страницу.
?view=mobile, ?lang=en, ?category=booksrobots.txt. Одна опечатка — и правило не сработает.Индексирование -> Анализ параметров в URL). Так вы увидите, какие параметры робот сканирует чаще всего.rel="canonical". Clean-param — это дополнительный инструмент, который помогает роботу./ для всего сайта. Так меньше риска ошибиться.Host и Sitemap — так вы полностью контролируете, как Яндекс сканирует ваш сайт.
User-agent: Yandex Host: site.com Clean-param: utm_source&ref / Sitemap: https://site.com/sitemap.xml
Индексирование -> Файл robots.txtClean-param сработал — вы это увидите
Clean-param — это не просто строка в файле. Это настройка, которую используют грамотные SEO-специалисты, чтобы управлять тем, как поисковый робот видит сайт.
Что даёт правильная настройка:
Настройка не даст быстрого эффекта. Но без неё поисковые системы будут тратить время на мусорные страницы. А это не нужно ни вам, ни вашему сайту.
Ответы на частые вопросы от специалиста, который работает с SEO более 5 лет. Разбираю сложные моменты простым языком — чтобы вы понимали, как работает Clean-param, и не боялись ошибиться.
Clean-param — это директива в файле robots.txt.
Она говорит Яндексу, что некоторые параметры в ссылках не меняют содержание страницы.
Это нужно, чтобы:
Если у вас на сайте много ссылок с UTM-метками, ID сессий или другими служебными параметрами — Clean-param помогает не сканировать их все подряд. Вместо этого робот берёт чистый URL и индексирует только его.
Нет, Google официально не поддерживает эту директиву.
Если ваш сайт ориентирован на международный трафик или вы активно работаете с Google —
не надейтесь, что Clean-param решит все проблемы с дубликатами.
Для Google используйте связку rel="canonical" и настройку параметров
в Google Search Console.
Но если ваш основной поисковик — Яндекс, Clean-param будет полезна.
Синтаксис простой: перечисляете параметры через амперсанд & без пробелов.
Пример:
Clean-param: utm_source&utm_medium&utm_campaign&ref /
Обязательно указывайте путь, к которому применяется правило.
Для всего сайта ставьте /. Если параметры нужны только в одном разделе —
укажите конкретный путь, например /blog/. Это снижает риск ошибок
и делает настройку более точной.
Это принципиально разные директивы.
Disallow полностью запрещает роботу заходить на страницу.
Clean-param не запрещает, а говорит:
«Игнорируй эти параметры и сканируй чистый URL».
Если вы хотите, чтобы страница вообще не индексировалась — используйте
Disallow или noindex.
Если хотите убрать дубли из-за параметров — используйте Clean-param.
Робот проиндексирует не ту страницу.
Например, если у вас параметр ?lang=en переключает язык,
а вы добавили его в Clean-param — робот всегда будет видеть
только основную версию. Это может привести к тому, что пользователи из разных регионов
будут видеть неправильный контент в выдаче.
Никогда не добавляйте в Clean-param параметры, которые влияют на содержание, сортировку, фильтрацию или регион показа.
Самый простой способ — инструмент проверки robots.txt
в Яндекс.Вебмастере. Вставьте URL с параметром в поле проверки,
и инструмент покажет, сработала ли директива.
Второй способ — логи сервера.
Если робот YandexBot перестал запрашивать ссылки с указанными параметрами —
значит, всё настроено правильно.
Также можно посмотреть отчёт «Параметры URL» в Яндекс.Вебмастере — там видно, какие параметры робот сканирует чаще всего.
Да, желательно. Если вы подключили новую систему аналитики или запустили новый рекламный канал — скорее всего, появились новые параметры.
Раз в квартал проверяйте логи сервера и отчёты Яндекс.Вебмастера.
Если видите, что робот начал сканировать новые параметры — добавьте их в Clean-param.
Это поможет поддерживать порядок в индексации и не тратить бюджет краулинга впустую.
Нет, нельзя.
Параметры пагинации (?page=2, ?p=3) меняют содержание страницы —
это разные наборы товаров или записей.
Если добавить их в Clean-param, робот будет видеть только первую страницу
и не проиндексирует остальные.
Для пагинации используйте rel="next" и rel="prev" —
это стандартный способ указать поисковикам, что страницы связаны между собой.
Это разные инструменты, и они дополняют друг друга.
Canonical показывает поисковику, какая страница основная.
Это помогает объединить вес дублирующихся страниц в одну.
Clean-param говорит роботу не сканировать мусорные URL
с параметрами. Это экономит ресурсы краулера.
Вместе они работают эффективнее: Clean-param экономит бюджет краулинга, canonical объединяет ссылочный вес страниц.
Нет, синтаксис простой. Главное — не ошибиться с параметрами.
Если сомневаетесь — проверьте через Яндекс.Вебмастер.
Ошибка в Clean-param менее страшна, чем неправильный canonical.
Если вы случайно укажете не тот параметр, робот просто проигнорирует директиву и продолжит сканировать как обычно. Но если вы укажете параметр, который меняет контент — это уже проблема. Поэтому проверяйте дважды перед внедрением.
Clean-param влияет только на поисковых роботов. Она не трогает пользователей и не меняет URL в браузере.
Параметры UTM остаются в ссылках для посетителей, поэтому аналитика продолжает работать корректно. Вы по-прежнему видите, откуда пришёл пользователь, по какой рекламной кампании и с какими метками.
Изменения касаются только индексации — робот сканирует чистые URL, а пользователи видят полные ссылки.
Нет, если вы используете директиву правильно. Clean-param — это официальный инструмент Яндекса.
Главное — не добавлять в неё параметры, которые меняют контент. Если вы соблюдаете это правило — риска нет.
Наоборот, правильное использование Clean-param показывает поисковикам, что вы заботитесь о качестве индексации. Это положительно влияет на доверие к сайту.
Да, для этого используется путь — вторая часть директивы.
/blog/ — правило будет работать только для страниц,
которые начинаются с /blog/.
/catalog/ — только для каталога.
/ — для всего сайта.
Это позволяет гибко настраивать индексацию. Например, можно убрать параметры в блоге, но оставить их в интернет-магазине, если они там нужны для фильтрации.
Рекомендую проверять раз в месяц в течение первых трёх месяцев после внедрения. Если всё работает стабильно — можно перейти на ежеквартальную проверку.
Также стоит проверять директиву после любых изменений на сайте:
Это поможет вовремя заметить, если появились новые параметры, и добавить их в список.
Первым делом проверьте синтаксис. Одна опечатка — и директива не сработает. Проверьте, правильно ли вы указали параметры и путь.
Если синтаксис верный — проверьте через инструмент в Яндекс.Вебмастере.
Если там директива не отображается — возможно, проблема в кодировке файла
robots.txt. Убедитесь, что файл сохранён в UTF-8.
Если всё верно, но директива всё равно не работает — обратитесь в поддержку Яндекса или напишите мне — я помогу разобраться.
Надеюсь, я ответил на ваши вопросы. Если чего-то не хватает — пишите, я дополню.
Хотите, чтобы я помог с настройкой Clean-param или других SEO-директив для вашего проекта? Напишите мне — разберёмся вместе.