Игнорировать URL-адреса в robot.txt с определенными параметрами?

Я бы хотел, чтобы Google игнорировал такие URL-адреса:

http://www.mydomain.com/new-printers?dir=asc&order=price&p=3

Все URL-адреса с параметрами dir, order и price следует игнорировать, но у меня нет опыта работы с Robots.txt.

Есть идеи?


person Luis Valencia    schedule 05.02.2012    source источник


Ответы (3)


Вот решения, если вы хотите запретить строки запроса:

Disallow: /*?*

или если вы хотите быть более точным в строке запроса:

Disallow: /*?dir=*&order=*&p=*

Вы также можете добавить в robots.txt, какой URL разрешить

Allow: /new-printer$

$ позаботится о том, чтобы разрешено было только /new-printer.

Подробнее:

http://code.google.com/web/controlcrawlindex/docs/robots_txt.html

http://sanzon.wordpress.com/2008/04/29/advanced-usage-of-robotstxt-w-querystrings/

person Book Of Zeus    schedule 05.02.2012
comment
это запретит новые принтеры. Я хочу только расстроить часть строки запроса. - person Luis Valencia; 05.02.2012
comment
значит, вы хотите разрешить /new-printer, но не /new-printers?dir=*&order=*&p=*?? - person Book Of Zeus; 05.02.2012
comment
Хорошо ли поддерживаются эти расширенные подстановочные знаки и директива allow? - person Tony McCreath; 15.01.2013
comment
Согласно robotstxt.org/robotstxt.html - нет поля "Разрешить" - person Jamie Edwards; 22.04.2013
comment
Если взять пример с новыми принтерами немного дальше, что, если в этом файле возможны разные комбинации и порядок параметров. Можете ли вы указать в одном запросе, что конкретный файл должен быть запрещен, если к нему добавляются какие-либо параметры без явного указания их? Будет ли... Disallow: /new-printer?* работать? - person AdamJones; 28.08.2014
comment
@AdamJones, последняя команда должна работать. Оно будет следовать той же логике, что и первое условие. Я никогда не пробовал это, поэтому я не могу гарантировать, что это сработает. - person Book Of Zeus; 28.08.2014
comment
@JamieEdwards это правда, что технически Allow не является частью стандарта, но большинство популярных поисковых систем поддерживают его. Разрешающие строки должны быть перед запрещающими строками. - person Andy Madge; 06.10.2014
comment
@BookOfZeus Будет ли сканироваться страница или нет? Если мы добавим указанное условие в robots - person PPB; 02.08.2017
comment
В настоящее время (по состоянию на 2019 г.) предложенный стандарт проходит ратификацию, и он включает строки разрешения — datatracker.ietf.org/doc/html/draft-koster-rep - возможно, удивительно, но до этого не существовало формального стандарта, и поисковые системы были предоставлены самим себе, чтобы действовать по соглашению. со стандартом де-факто, который привел к неравномерной поддержке строк Allow, за исключением больших (например, Google и Bing). - person Matt Wagner; 04.06.2021

Вы можете заблокировать эти конкретные параметры строки запроса со следующими строками

Disallow: /*?*dir=
Disallow: /*?*order=
Disallow: /*?*p=

Таким образом, если какой-либо URL-адрес содержит dir=, order= или p= в любом месте в строке запроса, он будет заблокирован.

person Nick Rolando    schedule 04.05.2015
comment
Означает ли это, что вся страница не будет просканирована до тех пор, пока выполняется указанное выше условие. - person PPB; 02.08.2017
comment
Осторожно: это также заблокирует параметры, которые частично соответствуют выражению, то есть не только example.com?p=test, но и example.com?top=test. - person rob006; 01.12.2019
comment
Если вы хотите игнорировать эти параметры независимо от их положения в URL-адресе (первое или следующее), вы можете попробовать следующее: Disallow: /*?dir=* Disallow: /*?order=* Disallow: /*?p=* Disallow: /*&dir=* Disallow: /*&order=* Disallow: /*&p=* - person lboix; 20.02.2020

Зарегистрируйте свой сайт в Google WebMaster Tools. Там вы можете указать Google, как поступить с вашими параметрами.

Конфигурация сайта -> Параметры URL

У вас должны быть страницы, которые содержат эти параметры, указывающие, что они должны быть исключены из индексации через метатег robots. например

person Tony McCreath    schedule 05.02.2012
comment
Хотя в исходном вопросе конкретно упоминается Google, важно отметить, что инструменты Google WebMaster заблокируют только Google. Добавление правил Disallow в файл robots.txt затронет и другие поисковые системы. - person Matt V.; 15.01.2013
comment
Истинный. Также следует уточнить, что robots.txt не останавливает индексацию страниц Google, но останавливает чтение их содержимого. Лучшее решение — использовать метатег robots на самой странице. Это поддерживается всеми системами. - person Tony McCreath; 15.01.2013