Как настроить robot.txt который разрешает только страницу сайта по умолчанию
-
09-06-2019 - |
Вопрос
Допустим, у меня есть сайт на http://example.com.Мне бы очень хотелось разрешить ботам видеть домашнюю страницу, но любую другую страницу нужно заблокировать, так как она бессмысленна для spider.Другими словами
http://example.com & http://example.com/ должно быть разрешено, но http://example.com/anything и http://example.com/someendpoint.aspx должен быть заблокирован.
Кроме того, было бы здорово, если бы я мог разрешить передачу определенных строк запроса на домашнюю страницу:http://example.com?okparam=true
Решение
Итак, после некоторых исследований, вот что я нашел - решение, приемлемое для основных поставщиков поисковых систем: Google , yahoo & msn (я мог бы найти валидатор здесь) :
User-Agent: *
Disallow: /*
Allow: /?okparam=
Allow: /$
Хитрость заключается в использовании символа $ для обозначения конца URL-адреса.
Другие советы
Инструменты Google для веб-мастеров сообщите, что запретить всегда имеет приоритет над разрешить, поэтому нет простого способа сделать это в robots.txt
файл.
Вы могли бы добиться этого, поместив noindex,nofollow
META
пометьте тегом в HTML каждую страницу, кроме домашней.
Базовый robots.txt:
Disallow: /subdir/
Я не думаю, что вы можете создать выражение, говорящее "все, кроме корневого", вы должны заполнить все подкаталоги.
Ограничение строки запроса также невозможно из robots.txt.Вы должны сделать это в фоновом коде (часть обработки) или, возможно, с помощью правил перезаписи сервера.
Disallow: *
Allow: index.ext
Если я правильно помню, второе предложение должно переопределять первое.
Насколько я знаю, не все сканеры поддерживают Разрешающий тег.Одним из возможных решений может быть помещение всего, кроме домашней страницы, в другую папку и запрет этой папки.