Разрешить только один файл каталога в роботах.txt?
Я хочу разрешить только один файл каталога /minsc
, но я хотел бы запретить остальную часть каталога.
User-agent: *
Crawl-delay: 10
# Directories
Disallow: /minsc/
Файл, который я хочу разрешить, это /minsc/menu-leaf.png
Я боюсь причинить вред, поэтому не знаю, должен ли я использовать:
А)
User-agent: *
Crawl-delay: 10
# Directories
Disallow: /minsc/
Allow: /minsc/menu-leaf.png
Или
B)
User-agent: *
Crawl-delay: 10
# Directories
Disallow: /minsc/* //added "*" -------------------------------
Allow: /minsc/menu-leaf.png
?
Спасибо и извините за мой английский.
2 ответа:
Согласно роботам.сайт txt :
Исключить все файлы, кроме одного
В настоящее время это немного неудобно, так как нет поля "разрешить". То простой способ-поместить все файлы, которые будут запрещены, в отдельный файл. каталог, скажите "материал", и оставьте один файл на уровне выше этого каталог:
User-agent: *
Запретить: / ~joe / stuff /
В качестве альтернативы вы можете явно запретить все запрещенные страницы:
User-agent: *
Запретить: / ~joe / junk.html
Запретить: / ~joe / foo.html
Запретить: / ~joe / bar.html
Согласно Википедии , Если вы собираетесь использовать директиву Allow, она должна идти перед Disallow для максимальной совместимости:
Allow: /directory1/myfile.html Disallow: /directory1/
Кроме того, вы должны поставить Crawl-delay последним, согласно Yandex:
Итак, в конце концов, ваши роботы.txt файл должен выглядеть так:Для поддержания совместимости с роботами, которые могут отклоняться от стандарт при обработке роботов.txt, директива Crawl-delay нуждается для добавления в группу, которая начинается с записи User-Agent справа после директив запретить и разрешить).
User-agent: * Allow: /minsc/menu-leaf.png Disallow: /minsc/ Crawl-delay: 10
Роботы.txt-это своего рода "неформальный" стандарт, который можно интерпретировать по-разному. Единственный интересный "стандарт" - это то, как его интерпретируют крупные игроки.
Я нашел этот источник, говорящий, что globbing ('*'- style wildcards) не поддерживаются:
Обратите также внимание, что глобализация и регулярное выражение не поддерживаются ни в строках User-agent, ни в строках Disallow. '*' В поле User-agent-это специальное значение, означающее "любой робот". В частности, вы не можете иметь строки типа " User-agent: bot", "Disallow: /tmp/*" или " Disallow: *.файл GIF".
Http://www.robotstxt.org/robotstxt.html
Итак, согласно этому источнику, вы должны придерживаться своей альтернативы (A).