Подтвердить что ты не робот

Как настроить robot.txt, который разрешает только страницу сайта по умолчанию

Скажем, у меня есть сайт на http://example.com. Мне бы очень хотелось, чтобы боты увидели домашнюю страницу, но любая другая страница должна быть заблокирована, поскольку она бессмысленна для паука. Другими словами

http://example.com и http://example.com/ должно быть разрешено, но http://example.com/anything и http://example.com/someendpoint.aspx должен быть заблокирован.

Далее было бы здорово, если бы я мог разрешить некоторые строки запросов перейти на домашнюю страницу: http://example.com?okparam=true

но не http://example.com?anythingbutokparam=true

4b9b3361

Ответ 1

Итак, после некоторых исследований, вот что я нашел - решение, приемлемое для основных поставщиков поиска: google, yahoo и msn (я мог бы найти здесь валидатор):

User-Agent: *
Disallow: /*
Allow: /?okparam=
Allow: /$

Трюк использует значение $, чтобы отметить конец URL.

Ответ 2

отчет Google Webmaster Tools, который запрещает всегда иметь приоритет над allow, поэтому нет простого способа сделать это в файле robots.txt.

Вы можете выполнить это, указав тег noindex,nofollow META в HTML на каждой странице, кроме домашней страницы.

Ответ 3

Базовый файл robots.txt:

Disallow: /subdir/

Я не думаю, что вы можете создать выражение, говорящее "все, кроме корня", вы должны заполнить все подкаталоги.

Ограничение строки запроса также невозможно из файла robots.txt. Вы должны сделать это в фоновом коде (части обработки) или, возможно, с правилами перезаписи сервера.

Ответ 4

Disallow: *
Allow: index.ext

Если я правильно помню, второе предложение должно переопределить первое.

Ответ 5

Насколько я знаю, не все сканеры поддерживают Allow tag. Одним из возможных решений может быть размещение всего, кроме домашней страницы, в другую папку и запрещение этой папки.