Директива Clean-param: какие параметры я помечаю

20.10.2026 · 8 мин чтения
Тёмная карточка страницы, от которой отделяется коралловая метка
Clean-param я ставлю в robots.txt, когда в ссылке есть параметр, который не меняет саму страницу. Параметр в адресе может сделать второй URL того же документа. Ниже — куда я её пишу, какие имена беру и чего она не делает.

Куда я пишу директиву

Файл один: robots.txt в корне сайта. Если этот адрес перенаправляет на другой robots.txt, робот читает файл на конце перехода, и править нужно его, а не черновик у меня в папке. Сначала открываю живой адрес и уже в нём дописываю строку.
Директива называется Clean-param. Регистр этого слова роботу безразличен: название директивы он принимает в любом написании. Имя параметра и путь он читает буквально. utm и Utm для него разные имена, /forum и /Forum разные пути. Сверяю написание по живой ссылке.
Строку можно поставить в любое место файла: в справке она межсекционная и не обязана стоять сразу под User-agent. Если секция User-agent: Yandex уже есть, все правила для этого робота я держу в ней. Секцию со звёздочкой Яндекс в таком файле не читает, поэтому директиву я кладу в секцию Яндекса, а не оставляю только под звёздочкой.

Как выглядит строка

Слева от пробела — имена параметров через знак &. Справа — префикс пути, и это поле можно не писать. Без префикса правило действует на все адреса сайта. С префиксом — на адреса, которые с этого пути начинаются.
В конец префикса робот сам дописывает звёздочку. Строка Clean-param: s /forum/showthread.php снимает параметр s не с одного файла, а со всех адресов, которые начинаются так же. Звёздочку я могу поставить и сам, по тем же правилам, что в остальном robots.txt. Произвольный шаблон сюда не переносится. В префиксе допустимы латинские буквы, цифры, точка, дефис, слэш, звёздочка и подчёркивание.
Длина одной строки в справке ограничена 500 символами. Длинный перечень имён я режу на несколько директив Clean-param. Регистр внутри строки значимый и у имени, и у пути: ошибка в одной букве делает правило про другое имя.
  • Clean-param: sid /forum/*.php — сессия только у адресов, которые начинаются с форумного пути.
  • Clean-param: ref — метка ref на всём сайте, второго поля нет.
  • Clean-param: s&from /catalog/item — два имени на карточки, звёздочку в конце пути робот добавит сам.
Три одинаковые тёмные карточки и отдельная коралловая скрепка между ними
Страницы одни и те же. Метка лежит рядом и сам документ не меняет.

Какие имена я туда ставлю

Беру имя, от которого документ не меняется. Это метка перехода, номер сессии или служебный хвост, который принёс партнёр или объявление. Открываю два адреса, которые отличаются только значением этого имени. Вижу одну и ту же страницу — имя записываю.
Имя, которое выбирает документ, в строку не кладу. В справке это разобрано на ссылке с книгой. Параметр ref только показывает, откуда пришли, и по всем таким адресам открывается одна книга. Параметр book_id решает, какая книга откроется. В директиву попадает ref. book_id остаётся в адресе. Иначе робот перестанет различать разные книги.
На магазине и в каталоге держусь того же. Не пишу идентификатор товара, номер страницы списка, фильтр, сортировку и запрос внутреннего поиска, если от значения меняется текст, набор или состояние страницы. Пишу from, sid, session и свои метки вроде yclid, gclid и fbclid. В автоматическом перечне справки их нет, а документ они сами по себе не подменяют.
Часть меток Яндекс может снять сам, если сочтёт их незначащими. Для этого перечня отдельная строка в файле не требуется. В справке названы ysclid, yrclid и метки utm_source, utm_medium, utm_term, utm_content, utm_campaign, utm_media, utm_group, utm_expid, utm_referrer. Вебмастер помечает адреса с ними как исключённые директивой Clean-param. Дублировать список я не начинаю, пока в ссылках не вижу своё имя вне него.
Имя в ссылкеЧто делаюПочему
ref, sid, from, session, yclidПишу в Clean-paramДокумент тот же, в автоматическом перечне этого имени нет
ysclid, yrclid и utm из справкиНе дублируюЯндекс может снять их без моей строки
id товара, page, filter, sort, запрос поискаНе пишуДругое значение открывает другой документ или другой набор

Когда ставлю префикс

Параметр, который не меняет документ и встречается в одном разделе, я ограничиваю путём. Сессия форума не должна попасть в правило каталога, если в каталоге параметр с тем же именем как раз меняет список. Тогда в строке указан путь форума, а каталог эта строка не накрывает.
Одно и то же пустое имя в двух скриптах — это две директивы с двумя префиксами. Короткий путь накрывает всё, что с него начинается, включая соседние разделы. Так и задумано — оставляю короткий путь. В соседнем разделе то же имя уже значимое — сужаю префикс до нужного скрипта. Перед широким путём я смотрю, нет ли такого соседа.
Префикс сравниваю с началом адреса как есть, с учётом регистра. Путь /catalog/item заденет и вложенные адреса, потому что звёздочка в конце подразумевается. Если мне нужен только один скрипт, я пишу его имя целиком и проверяю, что соседний скрипт с тем же параметром под правило не попал.

Чего директива не делает

Ссылку в браузере она оставляет как есть. Редиректа нет, человек по-прежнему открывает адрес с меткой. Робот перестаёт качать один и тот же документ заново на каждое значение этой метки. В справке эффект назван прямо: обход сайта расходуется экономнее, лишняя нагрузка на сервер спадает. Когда копий с пустыми параметрами много, робот медленнее добирается до важных изменений, и они позже попадают в поиск.
Адреса с таким параметром робот сводит к варианту без него. В поиске участвует этот вариант, если страница по нему на сайте открывается. Директива не создаёт адрес, которого нет. В примере со книгой остаётся ссылка с book_id и без ref. Я сначала открываю адрес без метки и смотрю, что он отвечает той же страницей. Только после этого оставляю строку.
Тёмный аппарат с коралловым объективом рядом со стопкой одинаковых карточек
Робот видит пачку одинаковых адресов и оставляет один документ.
Запрет обхода этой директиве не нужен. Пустой Disallow ничего не добавляет: в справке вариант с ним и вариант без него названы одинаковыми. Запрет при этом сильнее. Если путь закрыт в Disallow и одновременно указан в Clean-param, страница в индекс не попадёт. Раздел я не закрываю запретом только ради того, чтобы убрать из поиска варианты с параметрами. Для таких адресов справка советует Clean-param: запрет страницу отрезает, а директива может передать основному адресу часть накопленных показателей.
Чужие роботы строку понимать не обязаны. В справке по файлу сказано, что роботы других систем могут читать директивы иначе. Для Яндекса это указание, какие параметры не учитывать. На остальных роботов я эту строку не рассчитываю.
Параметр, который меняет документ, директива не чинит. Впишу туда page или фильтр — сам попрошу робота не различать разные наборы. Такую строку убираю, а не расширяю на весь сайт. Внутреннюю ссылку она тоже не причёсывает. Где хвост ставлю я сам, в обходе сайта мне спокойнее без него. Clean-param нужен там, где метку приносят реклама, партнёры и сессия, и вычистить её из всех входящих адресов я не могу.

Как я проверяю строку

Общий разбор дублей здесь не повторяю. Смотрю директиву и живую ссылку.
  1. Имя записано в том регистре, в каком оно стоит в ссылке.
  2. Два значения этого имени открывают один и тот же документ.
  3. Префикс, если он есть, совпадает с началом адреса, и я помню про звёздочку в конце.
  4. Длинный список разрезан на несколько строк и не упирается в лимит 500 символов.
  5. На тот же путь нет Disallow, если страницу нужно оставить в обходе.
  6. Имена из автоматического перечня я не копирую в файл без отдельной причины.
После обхода смотрю в Вебмастере отметку, что адрес исключён директивой Clean-param. Пока файл не перечитан, старые адреса могут ещё оставаться. Вторым шагом Disallow поверх строки я не кладу: запрет не даст директиве сработать, и закроется вся страница, а не хвост параметра.
Лупа над тёмным листом, одна борозда подсвечена коралловым
Смотрю одну строку: имя параметра, путь и то, что запрет обхода этому пути не мешает.
Так строка и остаётся в файле. Если секция Яндекса уже есть, директива лежит в ней. В перечне только имена, которые не меняют документ и которые Яндекс не снимает сам. Префикс ставлю, когда имя опасно отдать всему сайту. Запретом обхода эту задачу не подменяю.
SEO

Проверю строку Clean-param

Посмотрю robots.txt и живые ссылки с параметрами и скажу, какие имена писать в Clean-param, а какие меняют документ.
Интернет-маркетолог и автор материала
Читайте также