Clean-param в robots.txt: описание, настройки и примеры применения

4 марта 20255 мин262
Поделиться
Clean-param в robots.txt: описание, настройки и примеры применения
Clean-param — это директива, используемая в файле robots.txt, которая позволяет поисковому роботу Яндексу игнорировать динамические параметры в URL-адресах, если они не влияют на содержимое страницы. Эта директива позволяет объединять дублирующиеся ссылки и повышать эффективность индексации.

Зачем использовать Clean-param?

На сайтах часто создаются динамические URL, содержащие параметры для отслеживания сессий, пользовательских идентификаторов, фильтрации, сортировки и UTM-меток. Несмотря на одинаковое содержимое таких страниц, поисковые системы воспринимают их как разные. Это может вызывать следующие проблемы:
  • Дублированный контент, снижающий позиции основной страницы.
  • Медленный обход сайта роботами, из-за чего важные изменения могут не сразу попасть в поиск.
  • Перегрузка сервера из-за индексации ненужных URL.
Clean-param помогает избежать путаницы, указывая поисковому роботу игнорировать определенные параметры.

Пример работы 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

  1. Игнорирование UTM-меток
Если сайт использует UTM-метки (например, utm_source=google, utm_medium=email) для аналитики, но содержание страницы не меняется, пропишите следующую директиву в robots.txt и Яндекс их проигнорирует:
User-agent: Yandex 
Clean-param: utm_source,utm_medium,utm_campaign /
  1. Управление параметрами фильтров и сортировки
В интернет-магазинах часто используются параметры для сортировки товаров, например sort=price или order=desc. Однако эти параметры не меняют основное содержание страницы, а лишь изменяют порядок отображения товаров. Чтобы избежать индексации множества дублирующихся страниц с разными вариантами сортировки, можно настроить Clean-param в robots.txt:
User-agent: Yandex 
Clean-param: sort&order /catalog
Таким образом, Яндекс будет игнорировать параметры сортировки и индексировать только основную версию страницы.
  1. Исключение параметров поиска
Внутренний поиск на сайте создает уникальные URL для каждого запроса, например:
/search?search_query=телефон 
/search?search_query=планшет
Чтобы избежать индексации множества страниц с разными параметрами поиска, добавьте:
User-agent: Yandex 
Clean-param: search_query /search
Это позволит поисковому роботу игнорировать параметры поиска и индексировать только основную страницу поиска, не засоряя индекс бесполезными URL.
  1. Удаление идентификаторов сессий
Идентификаторы сессий (session_id) добавляются к URL для отслеживания пользователей, создавая дублирующиеся страницы, например:
/product?id=123&session_id=abc123 
/product?id=123&session_id=xyz789
Чтобы избежать индексации дубликатов, пропишите в robots.txt:
User-agent: Yandex 
Clean-param: session_id /
  1. Параметры для различных скриптов
Некоторые параметры (s) используются в URL форумов, но не влияют на содержание страниц. Например:
/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
  1. Фильтрация региональных параметров
На сайтах бронирования отелей параметры region и city определяют местоположение, но не изменяют основной контент. Например:
/hotels?region=moscow 
/hotels?city=saint-petersburg
Чтобы избежать дублирования страниц в поисковой выдаче, в robots.txt можно добавить:
User-agent: Yandex 
Clean-param: region&city /hotels
Тогда робот будет индексировать только базовый URL /hotels, игнорируя параметры, связанные с местоположением.
  1. Удаление параметров пагинации
В разделе новостей часто используется page для разбиения на страницы, например:
/news?page=2 
/news?page=3
Так как основной контент остается на главной странице раздела, в robots.txt можно добавить:
User-agent: Yandex 
Clean-param: page /news
В результате будет индексироваться только основная страница /news, игнорируя параметры пагинации.
  1. Игнорирование реферальных меток
Часто параметр ref используется для отслеживания источников трафика, например:
/forum/showthread.php?ref=partner1
Поскольку этот параметр не влияет на содержимое страницы, его можно исключить:
User-agent: Yandex 
Clean-param: ref /forum*/showthread.php
  1. Исключение пользовательских идентификаторов
Допустим, на сайте у каждого пользователя есть уникальный идентификатор в URL:
/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.
Директива Clean-param — мощный инструмент оптимизации индексации сайта в Яндексе. Она помогает бороться с дублирующимся контентом, улучшает обход сайта и снижает нагрузку на сервер. Грамотное использование этой директивы повышает шансы на успешную индексацию ключевых страниц и помогает сохранить позиции в поиске.  
Поделиться

Полезное по теме

16.02 2 мин8 300
Продвижение корпоративного сайта
Продвижение корпоративного сайта характеризуется некоторыми особенностями. Некоторые стандартные приемы, используемые…
Читать далее →
27.12 4 мин360
Как проверить robots.txt на ошибки — полное руководство
Robots.txt — это текстовый файл, который указывает поисковым системам, какие…
Читать далее →
23.03 6 мин7 364
Платформы для интернет-магазина
Выбор CMS-платформы для будущего сайта определяет, каким образом будет функционировать…
Читать далее →

Exit mobile version