Clean-param – это директива, описывающая в файле Robots.txt динамические параметры страниц, которые отдают одинаковое их содержимое при разных УРЛ-адресах. Данная директива используется только для роботов Яндекса.
Динамическими параметрами могут выступать:
- Идентификаторы пользователей.
- Идентификаторы сессий.
- Индивидуальные префиксы, меняющие URL, но сохраняющие прежнее содержимое.
- UTM-метки и многое другое.
Из-за дублей основная страница не сможет высоко ранжироваться в поисковой выдаче, но благодаря robots.txt можно исключить все GET-параметры или UTM-метки, используя указание Clean-param. Поисковики перестанут индексировать дублирующийся контент по множеству раз, а обход сайта станет более эффективным, снизится нагрузка на сервер, увеличится краулинговый бюджет.
Пример использования Clean-param в robots.txt
Допустим, на вашем сайте есть 3 страницы с одинаковым содержанием:
- http://site.ru/folder/page.php?get=1&r_id=985
- http://site.ru/folder/page.php?get=2&r_id=985
- http://site.ru/folder/page.php?get=3&r_id=985
Все эти страницы одинаковые по содержимому, но они имеют в своем URL разный параметр get=, который в данном случае применяется для отслеживания сайта, с которого пользователь сделал запрос и перешел на страницу. Получается, что он меняет URL, но содержимое остается таким же, поэтому все три URL-адреса ведут на ту же страницу http://site.ru/folder/page.php?r_id=985.
Во избежание обхода роботов всех трех страниц, в robots.txt нужно прописать Clean-param:
User-agent: *
Disallow:
Clean-param: get /folder/page.php
Данные инструкции указывают всем роботам поисковых систем объединить все URL страницы к единой ссылке:
http://site.ru/folder/page.php?r_id=985
Если на веб-ресурсе есть доступ к данной странице, то робот проиндексирует именно ее.
Синтаксис директивы Clean-param
Clean-param: p0[&p1&p2&..&pn] [path]
В поле [&p1&p2&..&pn] идет перечисление параметров через символ &, которые роботу не стоит индексировать. В поле [path] прописывается префикс пути страниц, для которых используется директива.
На заметку. Правило Clean-param межсекционное и нет разницы, где именно его прописывать в robots.txt. Если вы укажите несколько правил, поисковый бот учтет каждую из них.
Допускается в префиксе содержание регулярного выражения в формате, схожем с файлом robots. Но у него есть некоторые ограничения. Допускается написание лишь таких символов: A-Za-z0-9.-/*_.
Учтите, что символ “*” интерпретируется аналогично, как и в файле Robots: в конце префикса дописывают *.
Пример:
Clean-param: s /forum/showthread.php
Указание выше сообщает, что параметр s ничего не значит для УРЛ-адресов, начинающихся с /forum/showthread.php. Если не указать второе поле, а только s, директива используется для всех страниц веб-ресурса.
Отмечу, что регистр учитывается. Также есть лимит на объем директивы: 500 символов – максимально допустимая длина.
Примеры:
Clean-param: abc /forum.showthread.php
Clean-param: sid&sort /forum/*.php
Clean-param: someTrash&otherTrash
Дополнительные примеры использования Clean-param
Для адресов типа:
- www.site1.ru/forum/showthread.php?s=681498b9648949605&t=8243
- www.site1.ru/forum/showthread.php?s=1e71c4427317a117a&t=8243
Robots будет содержать:
User-agent: *
Disallow:
Clean-param: s /forum/showthread.php
Для адресов типа:
- www.site2.ru/index.php?page=1&sid=2564126ebdec301c607e5df
- www.site2.ru/index.php?page=1&sid=974017dcd170d6c4a5d76ae
Robots будет содержать:
User-agent: *
Disallow:
Clean-param: sid /index.php
Если таких параметров несколько:
- www.site1.ru/forum_old/showthread.php?s=681498605&t=8243&ref=1311
- www.site1.ru/forum_new/showthread.php?s=1e71c417a&t=8243&ref=9896
Robots будет содержать:
User-agent: *
Disallow:
Clean-param: s&ref /forum*/showthread.php
Если параметр используется в нескольких скриптах:
- www.site1.ru/forum/showthread.php?s=681498b9648949605&t=8243
- www.site1.ru/forum/index.php?s=1e71c4427317a117a&t=8243
Robots.txt будет содержать:
User-agent: *
Disallow:
Clean-param: s /forum/index.php
Clean-param: s /forum/showthread.php
Если прописать Clean-param: ? / будет работать? Задача закрыть все url у которых на конце идет ?……….
Тоже интересует данный вопрос)))
Вопрос
У меня на сайте на всех страницах товара — ?amp это несколько тысяч.
Какой синтаксис для массовых операций для Clean-param
Подскажите, пожалуйста, как мне почистить ссылки, которые сайт наспамил за годы
https://site.com/search/?tags=control%2Cscripts%2Ccommunication
Clean-param: tags /search/
Здравствуйте! Подскажите пожалуйста, как прописать элемент get-параметров содержащих точку с запятой? (пример: ?amp&nw=1636993975000)
как то удалось решить проблему?
Подскажите как прописать Clean-param к таким ссылка
param_f_spisok_1[1]=1807
Тот же вопрос… удалось решить???
«Такие ссылки действительно хранятся в базе робота в закодированном виде: скобки [ и ] кодируются в виде %5B и %5D соответственно. Поэтому в директиве Clean-param их нужно указывать в таком же виде.»
Если что, это ответ от саппорта Яндекса
подскажите правильно я это прописал
User-agent: *
Allow: /
Disallow: /__404$
Disallow: /ustanovka-konditsionerov$
Disallow: /sitesearch.html$
Disallow: /sitesearch
Disallow: /html/
Disallow: /widgets/
User-agent: Yandex
Clean-param: etext
Sitemap: https://khv-dom.ru/sitemap.xml
https://сайт/
https://сайт/?id=31
https://сайт/?id=36
https://сайт/?id=36&L=1
Подскажите как прописать Clean-param
Clean-param: id
Может кто знает как правильно прописать?
гет параметр path
https://fishtrail.by/index.php?route=product/product&path=18_83&product_id=3028
страницы с гет параметрами
https://fishtrail.by/index.php?route=product%2Fproduct&product_id=3028
Добрый день. Подскажите, у меня есть параметр который генерируется случайными числами /catalog/?searchFilter_804_3402082965=Y Причём постоянно генерируются новые цифры вместо 804 и 3402082965 Помогите с cleanparam, у меня уже нсколько десятков вариантов в robots и они не останавливаются, вот примеры Clean-param: searchFilter_408_1046173690 Clean-param: searchFilter_408_1230792556 Clean-param: searchFilter_408_165915523 Clean-param: searchFilter_408_2128911125 Clean-param: searchFilter_408_2152171347 Clean-param: searchFilter_408_244215706 Clean-param: searchFilter_408_2572989970 Clean-param: searchFilter_408_395665115 Clean-param: searchFilter_408_3998975620 Clean-param: searchFilter_408_4187701239 Clean-param: searchFilter_408_4277599214 Clean-param: searchFilter_408_686168152 Clean-param: searchFilter_414_2227739503 Clean-param: searchFilter_414_4098217933 Clean-param: searchFilter_489_1006159912 Clean-param: searchFilter_489_1183792237 Clean-param: searchFilter_489_1433566376 Clean-param: searchFilter_489_1580483528 Clean-param: searchFilter_489_163555280 Clean-param: searchFilter_489_1914675509 Clean-param: searchFilter_489_2044023647 Clean-param: searchFilter_489_2373420720 Clean-param: searchFilter_489_2710017134 Clean-param: searchFilter_489_3155286429 Clean-param: searchFilter_489_3258323063 Clean-param: searchFilter_489_3322669505 Clean-param: searchFilter_489_3579845715 Clean-param: searchFilter_489_3887187708 Clean-param: searchFilter_489_423866245 Clean-param: searchFilter_489_571547899 Clean-param: searchFilter_489_913538485… Подробнее »
Для информации ос странице:
https://qilix.ru/catalog/?searchFilter_489_913538485=Y&searchFilter_414_4098217933=Y&searchFilter_892_2051190424=Y73690%3DY
Если только в catalog:
Clean-param: searchFilter /catalog/
Если для всего сайта, то
Clean-param: searchFilter
Так не срабатывает, потому что «searchFilter_489_913538485=», а не «searchFilter=» Цифры каждый раз новые генерируются