Как исключить всех роботов, кроме Googlebot и Bingbot с обоими robots.txt и X-Robots-Tag - PullRequest
1 голос
/ 09 мая 2019

У меня есть 2 вопроса относительно гусеничных роботов.

Справочная информация

Я хочу, чтобы только Google и Bing были исключены из ограничений "disallow" и "noindex". Другими словами, я хочу, чтобы ВСЕ поисковые системы, кроме Google и Bing, следовали правилам «disallow» и «noindex». Кроме того, я хотел бы также использовать функцию «nosnippet» для поисковых систем, о которых я упоминал (которые все поддерживают «nosnippet»). Какой код я использую для этого (используя robots.txt и X-Robots-Tag)?

Я хочу, чтобы он был в файле robots.txt, а также в файле htacess в виде X-Robots-Tag. Я понимаю, что файл robots.txt может быть устаревшим, но я хотел бы, чтобы сканеры получили четкие инструкции, даже если они считаются «неэффективными» и «устаревшими», если вы не считаете иначе.

Вопрос 1

Получил ли я следующий код, чтобы разрешить индексировать только Google и Bing (чтобы другие поисковые системы не отображали свои результаты), и, кроме того, запретить Bing и Google показывать фрагменты в своих результатах поиска?

Код X-Robots-Tag (Это правильно? Не думаю, что мне нужно добавлять «index» в googlebot и bingbot, поскольку «index» является значением по умолчанию, но не уверен.)

X-Robots-Tag: googlebot: nosnippet
X-Robots-Tag: bingbot: nosnippet
X-Robots-Tag: otherbot: noindex

robots.txt code (Это правильно? Я думаю, что 1-й, но не уверен.)

    User-agent: Googlebot
    Disallow:
    User-agent: Bingbot
    Disallow:
    User-agent: *
    Disallow: /

или

    User-agent: *
    Disallow: /
    User-agent: Googlebot
    Disallow:
    User-agent: Bingbot
    Disallow:

Вопрос 2: Конфликты между robots.txt и X-Robots-Tag

Я ожидаю конфликтов между robots.txt и X-Robots-Tag из-за того, что функции disallow и функциям noindex не разрешено работать вместе ( Есть ли какое-либо преимущество использования X-Robot-Tag вместо этого robots.txt? ). Как мне обойти это, и какова ваша рекомендация?

Конечная цель

Как уже упоминалось, основной целью этого является явное указание всем старым роботам (все еще использующим robots.txt) и всем более новым, кроме Google и Bing (использующим X-Robots-Tag), не показывать ни одну из моих страниц в их результатах поиска (которые, я предполагаю, суммируются в функции noindex). Я понимаю, что они могут не все следовать за этим, но я хочу, чтобы они ВСЕ знали, кроме Google и Bing, чтобы не показывать мои страницы в результатах поиска. С этой целью я ищу правильные коды для кода robots.txt и кода X-Robots-Tag, которые будут работать без конфликтов для этой функции для сайтов HTML, которые я пытаюсь создать.

1 Ответ

0 голосов
/ 10 мая 2019

robots.txt не устарел.Это все еще единственный открытый / независимый от поставщика способ контролировать то, что не должно просканировано .X-Robots-Tag (и соответствующий meta - robots) является единственным открытым / независимым от поставщика способом контроля того, что не должно быть проиндексировано .

Как вы знаете, вы не можете запретить оба для одного и того же URL.Обойти это невозможно.Если бот хочет сканировать https://example.com/foo, он (надеюсь) проверяет https://example.com/robots.txt, чтобы узнать, разрешено ли его сканировать:

  • Если сканирование разрешено, бот запрашивает документ,и только тогда узнает, что его нельзя индексировать.Очевидно, что он уже сканировал документ, и ему по-прежнему разрешено сканировать его.

  • Если сканирование запрещено, бот не запрашивает документ и, следовательно, никогда не узнает, что он также не сканируется.разрешено индексировать его, потому что для просмотра заголовка HTTP или элемента HTML потребуется сканировать документ.

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

Итак, вы должны выбрать: не хотите ли вы появляться в других поисковых системах'результаты (→ X-Robots-Tag), или вы не хотите, чтобы боты других поисковых систем сканировали ваши документы (→ robots.txt).

X-Robots-Tag

Если вы хотите настроить таргетинг на всех других ботов (вместо перечисления каждого из них, как предлагает ваш otherbot, что практически невозможно), вы должны использовать

X-Robots-Tag: bingbot: nosnippet
X-Robots-Tag: googlebot: nosnippet
X-Robots-Tag: noindex

(я полагаюBingbot / Googlebot игнорируют последнюю строку, так как они уже совпадаютВы можете добавить index к строкам обоих ботов.)

robots.txt

Записи (каждая запись начинается со строки User-agent) должны быть разделены пустыми строками:

User-agent: *
Disallow: /

User-agent: Bingbot
Disallow:

User-agent: Googlebot
Disallow:

Порядок записей не имеет значения, если только бот "не слушает" несколько имен в вашем файле robots.txt (itбудет следовать первой записи, которая соответствует ее названию;и только если имя не совпадает, оно будет следовать за записью *).Итак, после добавления пустых строк оба файла robots.txt в порядке.

Вы также можете использовать одну запись для обоих ботов:

User-agent: *
Disallow: /

User-agent: Bingbot
User-agent: Googlebot
Disallow:
...