4 марта 20255 мин262
Поделиться

Clean-param — это директива, используемая в файле robots.txt, которая позволяет поисковому роботу Яндексу игнорировать динамические параметры в URL-адресах, если они не влияют на содержимое страницы. Эта директива позволяет объединять дублирующиеся ссылки и повышать эффективность индексации.
Зачем использовать Clean-param?
На сайтах часто создаются динамические URL, содержащие параметры для отслеживания сессий, пользовательских идентификаторов, фильтрации, сортировки и UTM-меток. Несмотря на одинаковое содержимое таких страниц, поисковые системы воспринимают их как разные. Это может вызывать следующие проблемы:- Дублированный контент, снижающий позиции основной страницы.
- Медленный обход сайта роботами, из-за чего важные изменения могут не сразу попасть в поиск.
- Перегрузка сервера из-за индексации ненужных URL.
Пример работы Clean-param
Предположим, на вашем сайте существуют страницы с одинаковым содержимым, но разными параметрами URL:http://catalog.ru/objects/list.php?get=1&r_id=123 http://catalog.ru/objects/list.php?get=2&r_id=123 http://catalog.ru/objects/list.php?get=3&r_id=123Параметр get используется для отслеживания источника перехода, но содержимое страницы остается неизменным. Чтобы робот Яндекса индексировал только один URL, используйте следующую директиву в robots.txt:
User-agent: Yandex Clean-param: get /objects/list.phpВ результате все три ссылки будут сведены к одной:
http://catalog.ru/objects/list.php?r_id=123Если данная страница доступна, именно она будет участвовать в результатах поиска.
Синтаксис директивы Clean-param
Clean-param: p0[&p1&p2&..&pn] [path]Пояснения:
- p0, p1, p2…pn — параметры, которые нужно игнорировать. Перечисляются через символ &.
- [path] — путь к разделу сайта, для которого применяется правило. Если путь не указан, директива применяется ко всем страницам.
- Clean-param — межсекционная директива. Ее можно размещать в любом месте файла robots.txt.
- Допустимы регулярные выражения, но с ограничениями: разрешены только символы A-Za-z0-9.-/*_.
- Регистр учитывается.
- Длина директивы ограничена 500 символами.
Примеры использования Clean-param
- Игнорирование UTM-меток
User-agent: Yandex Clean-param: utm_source,utm_medium,utm_campaign /
- Управление параметрами фильтров и сортировки
User-agent: Yandex Clean-param: sort&order /catalogТаким образом, Яндекс будет игнорировать параметры сортировки и индексировать только основную версию страницы.
- Исключение параметров поиска
/search?search_query=телефон /search?search_query=планшетЧтобы избежать индексации множества страниц с разными параметрами поиска, добавьте:
User-agent: Yandex Clean-param: search_query /searchЭто позволит поисковому роботу игнорировать параметры поиска и индексировать только основную страницу поиска, не засоряя индекс бесполезными URL.
- Удаление идентификаторов сессий
/product?id=123&session_id=abc123 /product?id=123&session_id=xyz789Чтобы избежать индексации дубликатов, пропишите в robots.txt:
User-agent: Yandex Clean-param: session_id /
- Параметры для различных скриптов
/forum/index.php?s=12345 /forum/showthread.php?s=67890Чтобы избежать индексации URL с ненужными параметрами, можно добавить:
User-agent: Yandex Clean-param: s /forum/index.php Clean-param: s /forum/showthread.php
- Фильтрация региональных параметров
/hotels?region=moscow /hotels?city=saint-petersburgЧтобы избежать дублирования страниц в поисковой выдаче, в robots.txt можно добавить:
User-agent: Yandex Clean-param: region&city /hotelsТогда робот будет индексировать только базовый URL /hotels, игнорируя параметры, связанные с местоположением.
- Удаление параметров пагинации
/news?page=2 /news?page=3Так как основной контент остается на главной странице раздела, в robots.txt можно добавить:
User-agent: Yandex Clean-param: page /newsВ результате будет индексироваться только основная страница /news, игнорируя параметры пагинации.
- Игнорирование реферальных меток
/forum/showthread.php?ref=partner1Поскольку этот параметр не влияет на содержимое страницы, его можно исключить:
User-agent: Yandex Clean-param: ref /forum*/showthread.php
- Исключение пользовательских идентификаторов
/profile?user_id=123Этот параметр не меняет содержимое страницы, поэтому его можно игнорировать:
User-agent: Yandex Clean-param: user_id /profileТогда робот Яндекса будет индексировать только общую страницу профиля, игнорируя индивидуальные идентификаторы пользователей.
10. Параметры для разных языковых версий
Если сайт использует параметр lang для переключения языковых версий страницы, например:/blog?lang=en /blog?lang=ruОн не влияет на основной контент, а лишь меняет язык. Чтобы избежать дублирования, можно указать параметр lang в robots.txt, чтобы поисковый робот игнорировал его:
User-agent: Yandex Clean-param: lang /blog
Ограничения и рекомендации
- Clean-param работает только для Яндекса. Для Google используйте canonical-теги или настройте параметры в Google Search Console.
- Не закрывайте важные параметры. Перед внесением изменений обязательно тестируйте настройки.
- Не путайте Clean-param и Disallow. Если вы хотите исключить страницу из поиска полностью, используйте Disallow.
Поделиться