Regex for robots.txt - запрещать что-либо в каталоге, но не в самом каталоге - PullRequest
1 голос
/ 20 сентября 2010

Я использую WordPress с пользовательскими постоянными ссылками, и я хочу запретить свои сообщения, но оставить страницы моей категории доступными для пауков.Вот несколько примеров того, как выглядят URL:

Страница категории: somesite dot com / 2010 / category-name /

Сообщение: somesite dot com / 2010 / category-name / product-name /

Итак, мне любопытно, есть ли какой-нибудь тип решения для регулярных выражений, чтобы оставить страницу в / category-name / allow, не разрешая ничегоуровень глубже (второй пример.)

Есть идеи?Спасибо!:)

Ответы [ 2 ]

0 голосов
/ 20 сентября 2010

Некоторая информация, которая может помочь.

Нет официального органа по стандартизации или RFC для протокола robots.txt.Он был создан консенсусом в июне 1994 года членами списка рассылки роботов (robots-request@nexor.co.uk).Информация, указывающая части, к которым нельзя обращаться, указана в файле с именем robots.txt в каталоге верхнего уровня веб-сайта.Шаблоны robots.txt сопоставляются с помощью простых сравнений подстрок, поэтому следует убедиться, что к шаблонам, соответствующим каталогам, добавлен последний символ '/', иначе все файлы с именами, начинающимися с этой подстроки, будут совпадать, а не только те, которые находятся вкаталог предназначен.

Существует нет 100% уверенного способа исключить ваши страницы из поиска, кроме как вообще не публиковать их, конечно.

См:http://www.robotstxt.org/robotstxt.html

Нет согласия в консенсусе.Кроме того, опция Regex также отсутствует в Консенсусе.

Из консенсуса роботов:

В настоящее время это немного неудобно, так как нет поля «Разрешить».Самый простой способ - поместить все файлы, которые нужно запретить, в отдельный каталог, например «stuff», и оставить один файл на уровне выше этого каталога:

User-agent: *
Disallow: /~joe/stuff/

В качестве альтернативы вы можете явно запретить все запрещенные страницы.:

User-agent: *
Disallow: /~joe/junk.html
Disallow: /~joe/foo.html
Disallow: /~joe/bar.html

A Возможное решение :

Используйте .htaccess, чтобы запретить поисковым роботам из определенной папки при блокировке плохих роботов.

Смотри: http://www.askapache.com/htaccess/setenvif.html

0 голосов
/ 20 сентября 2010

Будет ли следующее дело?

User-agent: *
Disallow: /2010/category-name/*/

Возможно, вам придется явно разрешить определенные папки в /2010/category-name:

User-agent: *
Disallow: /2010/category-name/
Allow: /2010/category-name/product-name-1/
Allow: /2010/category-name/product-name-2/

Но, согласно этой статье , поле Allow не входит в стандарт, поэтому некоторые сканеры могут его не поддерживать.

EDIT: Я просто нашел другой ресурс, который будет использоваться на каждой странице. Эта страница хорошо объясняет:

Основная идея заключается в том, что если вы включите тег как:

<META NAME="ROBOTS" CONTENT="NOINDEX">

в вашем документе HTML, этот документ не будет проиндексирован.

Если вы делаете:

<META NAME="ROBOTS" CONTENT="NOFOLLOW">

ссылки в этом документе не будут разбирается роботом.

...