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

Вопрос задан: 11 лет назад Последняя активность: 5 лет назад
up 21 down

Скажи, у меня есть сайт на 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

5 ответов

Возможно, для Вашего проекта будут необходимы бесплатные векторные карты. На нашем сайте представлены карты для всех стран.

Реклама

up 49 down accepted

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

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

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

up 1 down

Инструменты Google для веб-мастеров сообщить, что запретить всегда имеет приоритет над разрешением, поэтому нет простого способа сделать это в robots.txt файл.

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

up 0 down

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

up 0 down

Основной файл robots.txt:

Disallow: /subdir/

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

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

up 0 down
Disallow: *
Allow: index.ext

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