Телефон:
+7(911)9162571
Настройка файла Robots.txt
Особый формат файла robots.txt состоит из записей. Каждая такая запись состоит из двух полей:
— строка с названием клиентского приложения (user-agent)
- одна или нескольких строк, начинающихся с директивы Disallow:
<Поле> «:» <значение>
Файл Robots.txt должен создаваться в текстовом формате Unix. Существуют текстовые редакторы, умеющие переводить символы строки из Windows в Unix. Также эту функцию берут на себя стандартные FTP-клиенты. Не пытайтесь использовать HTML-редактор для редактирования Robots.txt.
Поле User-agent
Строка User-agent содержит название паука (поискового бота). Например:
User-agent: googlebot
Для обращения ко всем ботам без исключения — используйте символ*:
User-agent: *
Названия ботов можно найти в лог-файлах веб-сервера. Для этого создайте запросы к файлу robots.txt. Большинство поисковых серверов присваивают своим ботам короткие и ёмкие имена.
Поле Disallow:
Вторая часть записи состоит из строк Disallow. Эти строки — директивы (правила) для данного поискового бота. Эти директивы объясняют боту какие файлы и/или каталоги запрещено индексировать. Приведенная ниже директива накладывает запрет на индексирование файла sendmail.htm:
Disallow: sendmail.htm
Директива может содержать не имя файла, а название каталога:
Disallow: /cgi-bin/
Эта директива запрещает ботам индексировать всё содержание каталога «cgi-bin».
Вы можете использовать символы подстановки в директивах Disallow. Стандарт диктует, что директива /asv запретит паукам индексировать и /asv.html и /asv/index.html.
Если директива Disallow не будет заполнена, то это говорит поисковому боту, что он может индексировать ВСЕ файлы. Для каждого поля User-agent, должна существовать хотябы одна директива Disallow, чтобы файл robots.txt был правильным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.
Пробелы и комментарии
Любая строка в robots.txt, начинающаяся с #, считается комментарием. Стандарт разрешает использовать комментарии в конце строк с директивами, но это считается плохим стилем:
Disallow: asv #comment
Некоторые пауки не смогут правильно разобрать данную строку и вместо этого поймут ее как запрет на индексацию ресурсов asv#comment. Вывод: расположите все комментарии к директивам на отдельной строке файла.
Пробел в начале строки ставить не рекомендуется, но не запрещено.
Disallow: asv #comment
Примеры
Следующая директива разрешает всем ботам индексировать все ресурсы сайта, так как используется символ подстановки*.
User-agent: *
Disallow:
Эта директива запрещает всем поисковым ботам индексировать все ресурсы сайта:
User-agent: *
Disallow: /
Данная директива запрещает всем поисковым ботам заходить в каталоги «cgi-bin» и «images»:
User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Данная директива запрещает поисковому боту Roverdog индексировать все файлы сервера:
User-agent: Roverdog
Disallow: /
Данная директива запрещает поисковому боту googlebot индексировать файл rush.htm:
User-agent: googlebot
Disallow: rush.htm
Если Вам необходимы более сложные примеры, попробуйте скачь файл robots.txt с какого-нибудь крупного портала, например Microsoft или Ebay.
Дополнения к стандартам
Несмотря на то, что были предложения по расширению стандарта и введению директивы Allow или учета версии робота, эти предложения формально так и не были утверждены.
Поход в поисках robots.txt
При проверке нашего валидатора robots.txt, нам понадобилось найти много-много «корма» для него. Мы создали спайдер, который скачивал с каждого найденного сайта лишь один файл robots.txt. Мы прошлись по всем ссылкам и доменам, занесенным в Open Directory Project. Так мы прошлись по 2.4 миллионам URL и накопали файлов robots.txt примерно на 75 килобайт.
Во время этого похода мы обнаружили огромное количество проблем с файлами robots.txt. Мы увидели, что 5% robots.txt плохой стиль, а 2% файлов были настолько плохо написаны, что ни один робот не смог бы их понять. Вот список некоторых проблем, обнаруженных нами:
Перевернутый синтаксис
Одна из самых распространенных ошибок — перевернутый синтаксис:
User-agent: *
Disallow: scooter
А должно быть так:
User-agent: scooter
Disallow: *
Несколько директив Disallow в одной строке:
Многие указывали несколько директив на одной строке:
Disallow: /css/ /cgi-bin/ /images/
Различные пауки поймут эту директиву по разному. Некоторые проигнорируют пробелы и поймут директиву как запрет на индексацию каталога /css//cgi-bin//images/. Либо они возьмут только один каталог (/images/ или /css/) и проигнорируют все остальное.
Правильный синтаксис таков:
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/
Перевод строки в формате DOS:
Еще одна распространенная ошибка — редактирование файла robots.txt в формате DOS. Несмотря на то, что из-за распространенности данной ошибки многие пауки-идексаторы научились понимать ее, мы считаем это ошибкой. Всегда редактируйте свой robots.txt в режиме UNIX и закачивайте файл на сайт в режиме ASCII. Многие FTP-клиенты умеют при закачке в текстовом режиме переводить символы строки из DOS-формата в UNIX-формат. Но некоторые этого не делают.
Комментарии в конце строки:
Согласно стандарту, это верно:
Disallow: /cgi-bin/ #this bans robots from our cgi-bin
Но в недавнем прошлом были роботы, которые заглатывали всю строку в качестве директивы. Сейчас нам такие роботы неизвестны, но оправдан ли риск? Размещайте комментарии на отдельной строке.
Пробелы в начале строки:
Disallow: /cgi-bin/
Стандарт ничего не говорит по поводу пробелов, но это считается плохим стилем. И опять-таки, стоит ли рисковать?
Редирект на другую страницу при ошибке 404:
Весьма распространено, когда веб-сервер при ошибке 404 (Файл не найден) выдает клиенту особую страницу. При этом веб-сервер не выдает клиенту код ошибки и даже не делает редиректа. В этом случае робот не понимает, что файл robots.txt отсутствует, вместо этого он получит html-страницу с каким-то сообщением. Конечно никаких проблем здесь возникнуть не должно, но стоит ли рисковать? Бог знает, как разберет робот этот html-файл, приняв его за robots.txt. чтобы этого не происходило, поместите хотя бы пустой robots.txt в корневой каталог вашего веб-сервера.
Конфликты директив:
Чтобы вы сделали на месте робота slurp, увидев данные директивы?
User-agent: *
Disallow: /
#
User-agent: slurp
Disallow:
Первая директива запрещает всем роботам индексировать сайт, но вторая директива разрешает роботу slurp это делать. Так что же все-таки должен делать slurp? Мы не можем гарантировать, что все роботы поймут эти директивы правильно. В данном примере slurp должен проиндексировать весь сайт, а все остальные не должны уйти прямо с порога.
Верхний регистр всех букв — плохой стиль:
USER-AGENT: EXCITE
DISALLOW:
Несмотря на то, что стандарт безразлично относится к регистру букв в robots.txt, в именах каталогов и файлов регистр все-таки важен. Лучше всего следовать примерам и в верхнем регистре писать первые буквы только в словах User и Disallow.
Список всех файлов
Еще одна ошибка — перечисление всех файлов в каталоге:
Disallow: /AL/Alabama.html
Disallow: /AL/AR.html
Disallow: /Az/AZ.html
Disallow: /Az/bali.html
Disallow: /Az/bed-breakfast.html
Вышеприведенный пример можно заменить на:
Disallow: /AL
Disallow: /Az
Помните, что начальная наклонная черта обозначает, что речь идет о каталоге. Конечно, ничто не запрещает вам перечислить парочку файлов, но мы речь ведем о стиле. Данный пример взят из файла robots.txt, размер которого превышал 400 килобайт, в нем было упомянуто 4000 файлов! Интересно, сколько роботов-пауков, посмотрев на этот файл, решили больше не приходить на этот сайт.
Есть только директива Disallow!
Нет такой директивы Allow, есть только Disallow. Этот пример неверный:
User-agent: Spot
Disallow: /john/
allow: /jane/
Правильно будет так:
User-agent: Spot
Disallow: /john/
Disallow:
Нет открывающей наклонной черты:
Что должен сделать робот-паук с данной директивой:
User-agent: Spot
Disallow: john
Согласно стандартам эта директива запрещает индексировать файл «john“ и каталог john». Но лучше всего, для верности, использовать наклонную черту, чтобы робот мог отличить файл от каталога.
Еще мы видели, как люди записывали в файл robots.txt ключевые слова для своего сайта (подумать только — для чего?).
Бывали такие файлы robots.txt, которые были сделаны в виде html-документов. Помните, во FrontPage делать robots.txt не стоит.
Неправильно настроенный сервер
Почему вдруг на запрос robots.txt веб-сервер выдает бинарный файл? Это происходит в том случае, если ваш веб-сервер настроен неправильно, либо вы неправильно закачали на сервер сам файл.
Всегда после того, как вы закачали файл robots.txt на сервер, проверяйте его. Достаточно в броузере набрать простой запрос:
http://www.ВашДомен.ru/robots.txt
Вот и все что нужно для проверки.
Особенности Google:
Google — первый поисковый сервер, который поддерживает в директивах регулярные выражения. Что позволяет запрещать индексацию файлов по их расширениям.
User-agent: googlebot
Disallow: *.cgi
В поле user-agent вам следует использовать имя «googlebot». Не рискуйте давать подобную директиву другим роботам-паукам.
МЕТА-тег robots
МЕТА тег robots служит для того, чтобы разрешать или запрещать роботам, приходящим на сайт, индексировать данную страницу. Кроме того, этот тег предназначен для того, чтобы предлагать роботам пройтись по всем страницам сайта и проиндексировать их. Сейчас этот тег приобретает все большее значение.
Кроме того, этим тегом могут воспользоваться те, кто не может доступиться к корневому каталогу сервера и изменить файл robots.txt.
Некоторые поисковые сервера, такие как Inktomi например, полностью понимают мета-тег robots. Inktomi пройдет по всем страницам сайта если значение данного тега будет «index,follow».
Формат мета-тега Robots
Мета тег robots помещается в тег html-документа. Формат достаточно прост (регистр букв значения не играет):
<HTML>
<HEAD>
<META NAME= «ROBOTS» CONTENT= «NOINDEX, NOFOLLOW»>
<META NAME= «DESCRIPTION» CONTENT= «Эта страница ….»>
<TITLE>…</TITLE>
</HEAD>
<BODY>
Значения мета-тега robots
Данному мета-тегу можно присвоить варианта четыре значений. Атрибут content может содержать следующие значения:
index, noindex, follow, nofollow
Если значений несколько, они разделяются запятыми.
В настоящее время лишь следующие значения важны:
Директива INDEX говорит роботу, что данную страницу можно индексировать.
Директива FOLLOW сообщает роботу, что ему разрешается пройтись по ссылкам, присутствующим на данной странице. Некоторые авторы утверждают, что при отсутствии данных значений, поисковые сервера по умолчанию действуют так, как если бы им даны были директивы INDEX и FOLLOW. К сожалению это не так по отношению к поисковому серверу Inktomi. Для Inktomi значения по умолчанию равны «index, nofollow“.
Итак, глобальные директивы выглядят так:
Индексировать всё = INDEX, FOLLOW
Не индексировать ничего = NOINDEX,NOFLLOW
Примеры мета-тега robots:
<META NAME=ROBOTS» CONTENT= «NOINDEX, FOLLOW“>
<META NAME=ROBOTS» CONTENT= «INDEX, NOFOLLOW“>
<META NAME=ROBOTS» CONTENT= «NOINDEX, NOFOLLOW»>
06.06.2009