Предотвращение сканирования поисковых систем в определенных папках
Я установил robot.txt моего сайта, как показано ниже, после просмотра большого количества ошибок в инструментах для веб-мастеров Google. Главным образом из-за файлов шаблонов Smarty. Поэтому я изменил файл robots следующим образом:
User-agent: *
Allow: /
Disallow: /templates_c
Мой вопрос: во второй строке я разрешаю каждую папку, а в третьей строке я запрещаю папку /templates_c
. Итак, какой случай будет оцениваться роботами? Я имею в виду, если я разрешаю все, кроме следующей строки, запретить одну папку, каков будет результат?
Или мне нужно добавить любые папки, которые я хочу найти, в Allow
, а затем вызвать Disallow
2 ответа
Вам действительно нужно только запретить. Поисковые роботы автоматически предполагают, что они разрешены повсюду, которые не запрещены.
User-agent: *
Disallow: /templates_c
Но ответ на ваш вопрос, согласно Google:
На уровне группы, в частности для разрешения и запрета директивы, наиболее конкретное правило, основанное на длине [пути] вход будет превзойти менее конкретное (более короткое) правило. Получатель чего-то приоритет для правил с подстановочными знаками не определен.
Таким образом, ваши текущие правила должны работать как предназначенные для правильного поведения ботов (т. е. разрешены везде, кроме каталога templates_c).
Примечание: Disallow: /templates_c
будет запрещать все файлы и папки в корневом каталоге, которые содержат имя в их имени. Если вы намерены запретить только конкретный каталог templates_c
, добавьте конечную косую черту: Disallow: /templates_c/
Извините, если это неправильно, я не знаком с движком шаблонов Smarty.
Папка template_c должна быть общедоступной вообще? Я полагаю, что Smarty использует функции, такие как include()
, чтобы получить код шаблона, поэтому вы можете легко создать файл .htaccess в папке template_c, запрещает доступ к любому посетителю. Это будет выглядеть так:
DENY FROM ALL