
Не так давно Яндекс внедрил данный функционал, и тут от особо одаренных полились советы как из рога изобилия. Необходимо сделать разъяснения.
Вступление
Начать стоит с изучения вопроса Что такое get-параметры.
Фабула
В панели ошибка именуется "Найдены страницы-дубли с GET-параметрами", имеет статус Критичная.
В пояснении говорится
Некоторые страницы с GET-параметрами в URL дублируют содержимое других страниц (без GET-параметров). Например, https://example.com/tovary?from=mainpage дублирует https://example.com/tovary. Из-за их обхода информация о важных для вас страницах может медленнее передаваться в поисковую базу, что может влиять на состояние сайта в поиске.
Посмотрите примеры. Если в поиске есть дубли из-за GET-параметров, рекомендуем использовать директиву Clean-param в robots.txt, чтобы робот игнорировал незначащие GET-параметры и объединил все сигналы со страниц-копий на основной странице. Когда робот узнает о внесенных изменениях, страницы с незначащими GET-параметрами пропадут из поиска.
Незначащие GET-параметры
Что же такое "незначащие GET-параметры"?
Для того чтобы это узнать, не нужно далеко ходить. В том же пояснении идет ссылка на справку. Где всё доходчиво и многократно пояснено:
Используйте директиву Clean-param, если адреса страниц сайта содержат GET-параметры (например, идентификаторы сессий, пользователей) или метки (например, UTM), которые не влияют на их содержимое.
Новый параметр, не влияющий на контент страницы, может привести к появлению страниц-дублей, которые не должны попасть в поиск.
Например, на сайте есть страницы:www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123 
www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123
www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123
Параметр ref используется только для того, чтобы отследить с какого ресурса был сделан запрос и не меняет содержимое, по всем трем адресам будет показана одна и та же страница с книгой book_id=123.
робот Яндекса сведет все адреса страницы к одному:www.example.com/some_dir/get_book.pl?book_id=123 
в данном примере ref не меняет содержимое (незначащий GET-параметр), а book_id меняет (является значащим), соответственно первый можно добавить в Clean-param, второй категорически нельзя.
Не редко можно встретить ситуацию где из-за одной страницы, на которой Get-параметр действительно не меняет содержимое, Яндекс считает что он не меняет ничего на всех страницах где присутствует, хотя это не так. Например если в категории 5 товаров, при использовании параметра limit, кол-во выводимых позиций не увеличится, т.к. просто больше нет товаров.
Clean-param - принцип работы
Поисковый робот Яндекса при анализе URL отсекает из адреса, заданные в robots.txt GET-параметры. Получившийся адрес сканируется и при условии что страница доступна (ну и естественно является достаточно качественной) она попадает в выдачу, а все ёё дубли с дополнительными GET-параметрами будут с ней склеены.
О чем и говорится в справке:
Если на сайте доступна такая страница, именно она будет участвовать в результатах поиска.
Что же произойдёт если конечный адрес недоступен? Тут варианта два:
- из поиска выкинет всё
- Clean-param будет игнорироваться
Вредные советы
Давайте рассмотрим такой случай. На каком-нибудь форуме, не особо способный думать человек, посоветовал добавить в Clean-param что попало.
Например на сайте есть страницы:
index.php?route=product/category&path=*  (категории)index.php?route=product/product&product_id=*   (товары)index.php?route=product/manufacturer/info&manufacturer_id=* (производители)И вам с умным видом сказали "Сделай Clean-param: path|product_id|manufacturer_id|... , я так всегда делаю".
В результате бот прочитает это и сочтет что всё множество категорий, товаров и производителей надо свести к виду:
index.php?route=product/categoryindex.php?route=product/productindex.php?route=product/manufacturer/infoЧто в буквальном смысле обозначает "выкинуть всё из индекса и попытаться проиндексировать три битые страницы", т.к. они без id сущности в адресе будут отдавать ошибку 404.
А особо упоротые предлагают еще добавить параметр route в Clean-param, тем самым свести всё это к
/index.phpClean-param здорового человека
Итак, порядок действий адекватного разумного человека:
- определить значение GET-параметра, меняет ли он содержимое
- определить какой будет конечный адрес без всех незначащих GET-параметров, проверить доступность и убедиться что содержимое идентично
- убедиться что конечный адрес сам не является дублем другой страницы и именно он должен индексироваться (очень важно)
... и тут последний пункт нас подводит к одному из основных нюансов, о котором ниже. ↓
Clean-param не нужен
Данный функционал внедрен в Яндекс.Вебмастер недавно и является очень сырым. Часто Clean-param вообще не нужен. Кривой анализ не способен оценить верно те случаи, когда страницу требуется склеить с использованием редиректа.
Наиболее часто редирект требуется если страница без ЧПУ является дублем страницы с ЧПУ. При этом важно убедиться что редирект имеет код 301.
Clean-param не может заменять редирект. Лишь иногда может быть урезанным аналогом атрибута canonical, при этом нося превентивный характер, что дает в определенных ситуациях некий плюс.
Может возникнуть вопрос: Зачем тогда нужен Clean-param, если проще сделать редирект? В двух случаях.
- CMS генерирует кучу мусора в url и нет технической возможности его убрать на этапе формирования.
- нужно сохранять в адресе идентификаторы сессий, пользователей, метки отслеживания, ...
А Гугл учитывает?
Нет!
Но есть небольшой секрет: там имеется свой аналогичный функционал. Тык
Вывод
- Clean-param может использоваться только в случае если редирект невозможен (нужно сохранить в адресе идентификаторы сессий, пользователей, метки).
- Прежде чем добавлять GET-параметр в Clean-param нужно чётко понимать за что он отвечает и убедиться что он не влияет на содержимое.
- + понимать каким получится адрес без GET-параметров, и что именно его должен индексировать Яндекс.
- Такие ситуации - еще один аргумент в пользу использования ЧПУ (важно заполнение с самого начала).
1johser21-02-2023 13:15Учитываю...
Статья - огонь! Полезный огонь.