Google: отключить определенную строку запроса в robots.txt

http://www.site.com/shop/maxi-dress?colourId=94&optId=694
http://www.site.com/shop/maxi-dress?colourId=94&optId=694&product_type=sale

У меня есть тысячи URL-адресов, подобных приведенным выше. Различные комбинации и названия. У меня также есть дубликаты этих URL-адресов со строкой запроса product_type=sale.

Я хочу запретить Google индексировать что-либо с помощью product_type=sale

Возможно ли это в robots.txt


person TheBlackBenzKid    schedule 01.10.2013    source источник
comment
Этот вопрос кажется не по теме, потому что он касается SEO.   -  person John Conde    schedule 01.10.2013


Ответы (2)


Google поддерживает подстановочные знаки в robots.txt. Следующая директива в файле robots.txt запрещает роботу Googlebot сканировать любую страницу с любыми параметрами:

Disallow: /*?

Это не помешает многим другим поисковым роботам сканировать эти URL-адреса, поскольку подстановочные знаки не являются частью стандартного файла robots.txt.

Google может занять некоторое время, чтобы удалить заблокированные вами URL-адреса из поискового индекса. Дополнительные URL-адреса могут индексироваться в течение нескольких месяцев. Вы можете ускорить процесс, используя функцию «Удалить URL-адреса» в инструментах для веб-мастеров после того, как они были заблокированы. Но это ручной процесс, когда вам нужно вставить каждый отдельный URL-адрес, который вы хотите удалить.

Использование этого правила robots.txt также может повредить рейтингу вашего сайта в Google, если Googlbot не найдет версию URL без параметров. Если вы часто ссылаетесь на версии с параметрами, вы, вероятно, не хотите блокировать их в robots.txt. Было бы лучше использовать один из других вариантов ниже.


Лучше использовать метатег rel canonical на каждой из ваших страниц.

Таким образом, оба ваших примера URL-адресов будут иметь следующее в разделе заголовка:

<link rel="canonical" href="http://www.site.com/shop/maxi-dress">

Это говорит роботу Googlebot не индексировать так много вариантов страницы, а индексировать только «каноническую» версию выбранного вами URL-адреса. В отличие от файла robots.txt, робот Googlebot по-прежнему сможет сканировать все ваши страницы и присваивать им ценность, даже если они используют различные параметры URL.


Другой вариант — войти в Инструменты Google для веб-мастеров и использовать функцию "Параметры URL" в разделе "Сканирование". .

Оказавшись там, нажмите «Добавить параметр». Вы можете установить для product_type значение «Не влияет на содержимое страницы», чтобы Google не сканировал и не индексировал страницы с этим параметром.

введите здесь описание изображения

Сделайте то же самое для каждого из используемых вами параметров, которые не изменяют страницу.

person Stephen Ostermiller    schedule 01.10.2013
comment
Это должно быть объединено с ответом от moobot. Я думаю, справедливо наградить его/ее, так как они новые. - person TheBlackBenzKid; 01.10.2013
comment
Если я добавлю это в свой файл robots.txt, User-Agent: * Disallow: /flickering/*? Это было просто запретить запросы для страниц в мерцающей папке, но все равно индексировать все страницы в этой папке? - person Richard Young; 01.06.2016

Да, это довольно просто сделать. Добавьте следующую строку в файл robots.txt:

Запретить: /*product_type=sale

Предыдущий подстановочный знак (*) означает, что любые URL-адреса, содержащие product_type=sale, больше не будут сканироваться Google.

Хотя они могут по-прежнему оставаться в индексе Google, если они были там ранее, но Google больше не будет их сканировать, и при просмотре в поиске Google будет указано: Описание этого результата недоступно из-за файла robots.txt этого сайта. – узнать больше.

Дополнительные сведения см. здесь: спецификации файла robots.txt.

person moobot    schedule 01.10.2013
comment
Как вы можете удалить их из индекса? - person TheBlackBenzKid; 01.10.2013
comment
Добавление URL-адресов в robots.txt НЕ немедленно удалит их из индекса. Это просто предотвратит их повторное сканирование роботом Googlebot. Чтобы удалить URL-адреса из индекса Google, вам нужно добавить метатег noindex или метатег rel canonical (и позволить Google сканировать их); или вручную введите каждый из них в запрос на удаление инструментов для веб-мастеров после того, как они будут в robots.txt - person Stephen Ostermiller; 01.10.2013