png
к ленте
#111

Описание и настройка директивы Clean-param

Апрель'19

Clean-param — это директива файла robots.txt, которую поддерживают роботы Яндекса. Она позволяет сообщить динамические параметры, которые присутствуют в url-адресе страницы, но не изменяют ее содержание. Это могут быть идентификаторы пользователя, сессии, параметры сортировки товаров и другие элементы.

Например, имеются страницы:

  • site.ru/catalog/category/?sort_field=PRICE&order=asc
  • site.ru/catalog/category/?sort_field=PRICE&order=desc
  • site.ru/catalog/category/?sort_field=id&order=asc

Все они содержат одинаковый контент, но имеют в своих URL-адресах параметры sort_field и order, которые определяют сортировку товаров на этой странице, но формально не меняют ее содержание. В результате у нас получается 3 страницы-дубликата. Правильно настроить обработку таких страниц нам поможет директива Clean-param. Необходимо прописать её в файле robots.txt следующим образом:

User-Agent: Yandex ... Clean-param: sort_field&order /catalog/category/

После этого индексироваться роботом Яндекса будет только одна страница: site.ru/catalog/category/, параметры sort_field и order учитываться не будут.

Данная настройка позволит снизить нагрузку на сервер, т.к. робот не будет загружать страницы с указанными параметрами, повысится эффективность обхода сайта роботом, и убережет Вас от появления в индексе дубликатов страниц.

Синтаксис директивы

Clean-param: p0[&p1&p2&..&pn] [path]

Поле p — это динамические параметры, влияние которых на индексацию необходимо устранить. Если таких несколько, их нужно перечислить через амперсанд, например, sort&price.

Поле path — префикс, указывающий путь применения директивы. Если его не указывать, Clean-param применится для всего сайта.

Файл robots.txt не имеет ограничений на количество указываемых директив Clean-param. В любом месте файла и количестве они будут учтены. В написании директивы учитывается регистр, а также длина правила ограничена 500 символами.

Пример применения

Допустим у нас имеется страница с такими get-параметрами:

  • https://orteka.ru/catalog/kompressionnyi-trikotazh/golfy/?sort=popularity&order=asc
  • https://orteka.ru/catalog/kompressionnyi-trikotazh/golfy/?sort=price&order=asc
  • https://orteka.ru/catalog/kompressionnyi-trikotazh/golfy/?sort=price&order=desc

Директива Clean-param должна иметь следующее содержание:

Clean-param: sort& order /catalog/kompressionnyi-trikotazh/golfy/

  • sort& order — это динамическиt параметры, которые не нужно учитывать;
  • /catalog/kompressionnyi-trikotazh/golfy/— префикс применения директивы, обозначает, что данные параметры не нужно учитывать только для страниц, начинающихся с /catalog/kompressionnyi-trikotazh/golfy/. Если необходимо, чтобы правило применялось ко всем страницам сайта, префикс указывать не нужно.