Должна ли строка пользовательского агента быть точно такой же, как в журналах моего сервера?

При использовании файла Robots.txt должна ли строка пользовательского агента быть точно такой же, как в журналах моего сервера?

Например, при попытке сопоставить GoogleBot, могу ли я просто использовать googlebot?

Кроме того, будет ли работать частичное совпадение? Например, просто используя Google?


person Zero    schedule 13.01.2011    source источник


Ответы (5)


Да, пользовательский агент должен точно совпадать.

Из robotstxt.org: "Подстановка и регулярное выражение не поддерживаются ни в User-agent, ни в Disallow линии"

person Cameron Skinner    schedule 13.01.2011
comment
Обратите внимание, что точное соответствие — это не то, что рекомендуется в исходной спецификации robots.txt (на том же сайте). - person unor; 05.08.2013
comment
пользовательский агент должен быть точным совпадением. - Вы, конечно, не должны использовать агент пользователя с точным соответствием (как он появляется в [] журналах сервера) в директиве User-agent в robots.txt. например. Вы никогда не увидите User-agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) (который на самом деле не соответствует гуглботу согласно тестеру Google robots.txt). Что касается робота Googlebot, требуется частичное совпадение: User-agent: Googlebot. - person DocRoot; 15.06.2018
comment
Привет @DocRoot, у вас есть ссылка на то, какое соответствие поддерживается? Этот ответ был получен в 2011 году, когда в спецификации robots.txt прямо указывалось, что подстановка и регулярные выражения не поддерживаются (хотя совпадения не должны учитывать регистр). - person Cameron Skinner; 16.06.2018
comment
@CameronSkinner См. ответ unor (ссылка выше) - person DocRoot; 19.06.2018
comment
подстановка и регулярные выражения не поддерживаются, но это не означает, что должно быть точное совпадение. Сопоставление подстроки без учета регистра предназначено для User-Agent. Это не точное совпадение, и это не подстановка или регулярное выражение. - person Erwin Bolwidt; 19.06.2019

По крайней мере, для googlebot пользовательский агент не чувствителен к регистру. Прочтите раздел «Порядок приоритета пользовательских агентов»:

https://code.google.com/intl/de/web/controlcrawlindex/docs/robots_txt.html

person jdev    schedule 13.01.2011

(Как уже отвечено в другом вопросе)

В исходной спецификации robots.txt (от 1994 г.) сказано:

Агент пользователя

[…]

Робот должен свободно интерпретировать это поле. Рекомендуется совпадение подстроки имени без информации о версии без учета регистра.

[…]

Но работают ли/какие парсеры так — это другой вопрос. Лучше всего поискать документацию ботов, которых вы хотите добавить. Обычно вы найдете в нем строку идентификатора агента, например:

  • #P6# <блочная цитата> #P7#
  • #P8# <блочная цитата> #P9#
  • #P10# <блочная цитата> #P11#
  • #P12# <блочная цитата> #P13#
person unor    schedule 05.08.2013

robots.txt чувствителен к регистру, хотя Google более консервативен, чем другие боты, и может принять его строку в любом случае, а другие боты - нет.

person KyleWpppd    schedule 13.01.2011

Кроме того, будет ли работать частичное совпадение? Например, просто используя Google?

Теоретически да. Однако на практике это, по-видимому, конкретные частичные совпадения или «подстроки» (как указано в ответе @unor), которые совпадают. Эти конкретные «подстроки», по-видимому, называются «токенами». И часто это должно быть точное совпадение для этих "токенов".

Что касается стандартного робота Googlebot, то он соответствует только Googlebot (без учета регистра). Любое меньшее частичное совпадение, такое как Google, не соответствует. Любое более длинное частичное совпадение, такое как Googlebot/1.2, не соответствует. И использование полной строки пользовательского агента (Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) также не соответствует. (Хотя в любом случае технически существует более одного пользовательского агента для робота Googlebot, поэтому сопоставление полной строки пользовательского агента в любом случае не рекомендуется, даже если это сработает.)

Эти тесты проводились с помощью роботов Google. тестер .txt.

Ссылка:

person DocRoot    schedule 15.06.2018