Robots.txt, чтобы запретить все страницы, кроме одного? Они переопределяют и каскадируют?
Я хочу, чтобы одна страница моего сайта обходилась, и никто другой.
Кроме того, если он отличается от ответа выше, я также хотел бы знать синтаксис для отказа от всего, но корень (индекс) веб-сайта.
# robots.txt for http://example.com/
User-agent: *
Disallow: /style-guide
Disallow: /splash
Disallow: /etc
Disallow: /etc
Disallow: /etc
Disallow: /etc
Disallow: /etc
Или я могу сделать это?
# robots.txt for http://example.com/
User-agent: *
Disallow: /
Allow: /under-construction
Также я должен упомянуть, что это установка WordPress, поэтому "under-construction", например, устанавливается на первую страницу. Таким образом, в этом случае он действует как индекс.
Я думаю, что мне нужно иметь http://example.com
craweld, но никаких других страниц.
# robots.txt for http://example.com/
User-agent: *
Disallow: /*
Будет ли это означать отказ от чего-либо после корня?
Ответы
Ответ 1
Самый простой способ разрешить доступ к одной странице:
User-agent: *
Allow: /under-construction
Disallow: /
оригинальная спецификация robots.txt говорит, что сканеры должны читать robots.txt сверху вниз и использовать первое правило соответствия. Если сначала поставить Disallow
, тогда многие боты будут видеть, что они не могут сканировать что-либо. Если сначала положить Allow
, те, которые применяют правила сверху вниз, будут видеть, что они могут получить доступ к этой странице.
Правила выражения просты: выражение Disallow: /
говорит "запретить все, что начинается с косой черты". Таким образом, это означает все на сайте.
Ваш Disallow: /*
означает то же самое для робота Googlebot и Bingbot, но боты, которые не поддерживают подстановочные знаки, могут видеть /*
и считают, что вы имели в виду буквальный *
. Поэтому они могли предположить, что было нормально сканировать /*foo/bar.html
.
Если вы просто хотите обходить http://example.com
, но ничего больше, вы можете попробовать:
Allow: /$
Disallow: /
$
означает "конец строки", как в обычных выражениях. Опять же, это будет работать для Google и Bing, но не будет работать для других сканеров, если они не поддерживают подстановочные знаки.
Ответ 2
Если вы заходите в Инструменты Google для веб-мастеров, с левой панели перейдите к обходу, а затем перейдите в меню "Извлечь как Google". Здесь вы можете проверить, как Google сканирует каждую страницу.
В случае блокировки всего, кроме главной страницы:
User-agent: *
Allow: /$
Disallow: /
будет работать.
Ответ 3
http://en.wikipedia.org/wiki/Robots.txt#Allow_directive
Порядок важен только для роботов, которые следуют стандарту; в случае ботов Google или Bing порядок не важен.
Ответ 4
вы можете использовать это ниже, оба будут работать
User-agent: *
Allow: /$
Disallow: /
или
User-agent: *
Allow: /index.php
Disallow: /
Разрешить должен быть перед Запретом, потому что файл читается сверху вниз
Запретить:/говорит "запретить все, что начинается с косой черты". Таким образом, это означает все на сайте.
Значение $означает "конец строки", как в обычных выражениях. поэтому результат Allow:/$- ваша домашняя страница/индекс