Должна ли строка пользовательского агента быть именно такой, как она отображается в журналах моего сервера? - PullRequest
3 голосов
/ 13 января 2011

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

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

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

Ответы [ 5 ]

4 голосов
/ 13 января 2011

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

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

3 голосов
/ 05 августа 2013

(как уже ответил в другом вопросе )

В оригинальной спецификации robots.txt (с 1994 года) написано:

User-agent

[…]

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

[…]

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

  • Bing

    Мы хотим, чтобы веб-мастера знали, что bingbot по-прежнему будет соблюдать директивы robots.txt, написанные для msnbot, поэтому никаких изменений в ваших файлах robots.txt не требуется.

  • DuckDuckGo

    DuckDuckBot - это веб-сканер для DuckDuckGo. Он уважает WWW :: RobotRules […]

  • Google

    Пользовательский агент Google (достаточно) Googlebot.

  • Интернет-архив :

    Пользовательский агент archive.org_bot используется для нашего широкого сканирования в Интернете. Он разработан с учетом тегов robots.txt и META robots.

  • ...

1 голос
/ 15 июня 2018

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

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

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

Эти тесты были выполнены с Google robots.txt tester .

Ссылка:

1 голос
/ 13 января 2011

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

0 голосов
/ 13 января 2011

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

С robotstxt.org : «глобализация и регулярные выражения не поддерживаются ни в пользовательском агенте, ни в строках Disallow»

...