Уважаемые форумчане! Прошу совета. На сайте https://partnertorg.com/ установлена CMS, которая формирует параметры фильтрации в формате массива с динамическими ID. Примеры URL:
?s[vid_267]=123
?s[cvet_956]=456
?s[poverhnost_742]=789 и т.д.
Например: https://partnertorg.com/mebel-dlya-vannoy-komnaty?s ( https://searchengines.guru/go?link=https://partnertorg.com/mebel-dlya-vannoy-komnaty?s )[cvet_956][0]=191355509, https://partnertorg.com/dveri-mezhkomnatnye?s ( https://searchengines.guru/go?link=https://partnertorg.com/dveri-mezhkomnatnye?s )[razmer_304][0]=12841603 и т.д.
Поскольку таких ID (vid_..., cvet_...) сотни, и они постоянно добавляются, перечислять их все вручную в robots.txt невозможно.
На сколько мне известно, ставить директиву Disallow: *?s для интернет магазина, не есть хорошо. Что делать в данной ситуации?
Закрывать через Disallow: *?s действительно опасно — можете случайно отрезать внутренний поиск сайта (если он висит на ?s=запрос) или другие системные параметры.
В robots.txt квадратные скобки Яндексом и Google воспринимаются как обычные символы, поэтому фильтры надежнее закрыть тоЧeчной маской: Disallow: /*?*s[* (или Disallow: /*?s[*). А на самих страницах фильтрации лучше дополнительно отдавать тег <link rel="canonical"> на чистый URL категории.
Чтобы убедиться, что маска не перекрывает нужные разделы и не ломает синтаксис, прогоните итоговый файл через itseo.pro/ru/tools/robots-sitemap-validator — он сразу покажет, как поисковые боты разбирают эти пути.