Robots disallow all: Create and Submit a robots.txt File | Google Search Central | Documentation

robots.txt, чтобы запретить все страницы, кроме одной? Они переопределяют и каскадируют?

спросил

Изменено 5 лет, 7 месяцев назад

Просмотрено 49 тысяч раз

Я хочу, чтобы сканировалась одна страница моего сайта и никакие другие.

Кроме того, если это отличается от ответа выше, я также хотел бы знать синтаксис для запрета всего, кроме корня (индекса) веб-сайта.

 # robots.txt для http://example.com/
Пользовательский агент: *
Запретить: /style-guide
Запретить: /всплеск
Запретить: /etc
Запретить: /etc
Запретить: /etc
Запретить: /etc
Запретить: /etc
 

Или можно так?

 # robots.txt для http://example.com/
Пользовательский агент: *
Запретить: /
Разрешить: /в стадии строительства
 

Также я должен упомянуть, что это установка WordPress, поэтому, например, «в разработке» установлено на первой странице.

Так что в этом случае он действует как индекс.

Я думаю, что мне нужно, чтобы http://example.com ползали, но не другие страницы.

 # robots.txt для http://example.com/
Пользовательский агент: *
Запретить: /*
 

Означает ли это, что запрещать что-либо после корня?

  • robots.txt

Самый простой способ разрешить доступ только к одной странице:

 User-agent: *
Разрешить: /в стадии строительства
Запретить: /
 

В исходной спецификации robots.txt сказано, что поисковые роботы должны читать robots.txt сверху вниз и использовать первое правило соответствия. Если поставить Сначала запретите , тогда многие боты увидят, что они не могут ничего сканировать. Поставив сначала Разрешить , те, кто применит правила сверху вниз, увидят, что они могут получить доступ к этой странице.

Правила выражения просты: выражение

Disallow: / говорит «запретить все, что начинается с косой черты «. Так что значит все на сайте.

Ваш Disallow: /* означает одно и то же для Googlebot и Bingbot, но боты, которые не поддерживают подстановочные знаки, могут видеть /* и думаю, что вы имели в виду буквальное * . Таким образом, они могли предположить, что сканирование /*foo/bar.html — это нормально.

Если вы просто хотите просканировать http://example.com , но ничего больше, вы можете попробовать:

 Разрешить: /$
Запретить: /
 

$ означает «конец строки», как и в регулярных выражениях. Опять же, это будет работать для Google и Bing, но не будет работать для других сканеров, если они не поддерживают подстановочные знаки.

4

Если вы войдете в Инструменты Google для веб-мастеров, на левой панели перейдите к сканированию, затем перейдите к Просмотреть как Google. Здесь вы можете проверить, как Google будет сканировать каждую страницу.

В случае блокировки всего, кроме главной страницы:

 User-agent: *
Разрешить: /$
Запретить: /
 

подойдет.

1

вы можете использовать это ниже, оба будут работать

 User-agent: *
Разрешить: /$
Запретить: /
 

или

 User-agent: *
Разрешить: /index.php
Запретить: /
 

Разрешить должно быть перед Запретить, потому что файл читается сверху вниз

Запретить: / говорит «запретить все, что начинается с косой черты». Так что значит все на сайте.

Символ $ означает «конец строки», как и в регулярных выражениях. поэтому результатом Allow : /$ является ваша домашняя страница /index

http://en.wikipedia.org/wiki/Robots.txt#Allow_directive

Порядок важен только для роботов, которые следуют стандарту; в случае ботов Google или Bing порядок не важен.

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

robots.

txt разрешить только root, запретить все остальное?

спросил

Изменено 2 года, 8 месяцев назад

Просмотрено 19 тысяч раз

Кажется, я не могу заставить это работать, но это кажется очень простым.

Я хочу, чтобы корневой домен сканировался

 http://www.example.com
 

Но сканировать больше нечего, и все подкаталоги динамические

 http://www.example.com/*
 

Пробовал

 User-agent: *
Позволять: /
Запретить: /*/
 

, но инструмент тестирования Google для веб-мастеров говорит, что разрешены все подкаталоги.

У кого-нибудь есть решение? Спасибо 🙂

  • robots.txt

3

Согласно определениям синтаксического анализа формы Бэкуса-Наура (BNF) в документации Google robots. txt, порядок директив Allow и Disallow не имеет значения. Так что изменение порядка действительно не поможет вам.

Вместо этого используйте оператор $ , чтобы указать на закрытие вашего пути. $ означает «конец строки» (т. е. с этого момента ничего не совпадает)

Проверить этот robots.txt. Я уверен, что это должно сработать для вас (я также проверил в Google Search Console):

 user-agent: *
Разрешить: /$
Запретить: /
 

Это позволит сканировать http://www.example.com и http://www.example.com/ , но все остальное будет заблокировано.

примечание: что директива Allow удовлетворяет вашему конкретному варианту использования, но если у вас есть index.html или default.php , эти URL не будут сканироваться.

примечание: Я действительно знаком только с поведением Googlebot и bingbot.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *