У меня есть куча файлов на www.example.com/A/B/C/NAME (A, B, C меняются местами, NAME статично), и я в основном хочу добавить команду в robots.txt, чтобы сканеры не перейдите по любым таким ссылкам, в конце которых есть ИМЯ.
Какую команду лучше всего использовать в robots.txt для этого?
это невозможно сделать. нет официального стандарта для robots.txt
, это просто соглашение, которое различные веб-сканеры пытаются уважать и правильно интерпретировать.
тем не мение Робот Googlebot поддерживает подстановочные знаки, поэтому у вас может быть такой раздел:
User-agent: Googlebot
Disallow: /*NAME
поскольку большинство веб-сканеров не будут правильно интерпретировать подстановочные знаки, и кто знает, как они их интерпретируют, вероятно, безопасно изолировать это правило только для googlebot, но я предполагаю, что к настоящему времени каждая крупная поисковая система может поддерживать его, а также все, что Google делает в поиск становится стандартом де-факто.
User-agent: googlebot
Disallow: /*NAME
User-Agent: slurp
Disallow: /*NAME
Я вижу, что вы разместили это на Stack Overflow, но я также поставлю здесь свой ответ.
К сожалению, вы не можете использовать подстановку в строке Disallow, поэтому никаких подстановочных знаков. Вам потребуется запретить строку для каждого каталога, который вы хотите исключить.
User-agent: *
Disallow: /A/B/C/NAME/
Disallow: /D/E/F/NAME/
К сожалению, стандарты очень упрощены, и именно так это нужно делать. Также обратите внимание, что в строке запрета должен быть завершающий /. Вот довольно хороший справочник по использованию robots.txt.
Насколько мне известно, не существует процедуры сопоставления с образцом, поддерживаемой парсерами файла robots.txt. В этом случае вам нужно будет перечислить каждый из этих файлов с их собственным оператором Disallow.
Помните, что перечисление этих файлов в файле robots.txt предоставит список этих ссылок любому, кто может захотеть увидеть, что вы пытаетесь «скрыть» от поисковых роботов, поэтому может возникнуть проблема безопасности, если это чувствительный материал.
Если эти ссылки находятся в HTML, обслуживаемом вашим сервером, вы также можете добавить rel="nofollow"
к тегам A этих ссылок, и это предотвратит переход по ссылкам большинства поисковых роботов.
Как упоминалось ранее, спецификация robots.txt довольно проста. Однако я создал динамический сценарий (PHP, Python и т. Д.), Названный просто «robots.txt», и заставил его грамотно сгенерировать ожидаемую простую структуру с использованием более интеллектуальной логики сценария. Вы можете обходить подкаталоги, использовать регулярные выражения и т. Д.
Возможно, вам придется немного настроить свой веб-сервер, чтобы он выполнял robots.txt как сценарий, а не просто обслуживал содержимое файла. В качестве альтернативы вы можете запустить скрипт через задание cron, которое регенерирует ваш robots.txt один раз за ночь (или как бы часто его не обновляли)
К сожалению, вы не можете использовать подстановку в строке Disallow, поэтому никаких подстановочных знаков. Вам потребуется запретить строку для каждого каталога, который вы хотите исключить.
User-agent: *
Disallow: /A/B/C/NAME/
Disallow: /D/E/F/NAME/
К сожалению, стандарты очень упрощены, и именно так это нужно делать. Также обратите внимание, что в строке запрета должен быть завершающий /. Вот неплохой ссылка на использование robots.txt.
Лучшая документация, которую я видел по этому поводу, находится на robotstxt.org.