Правильный файл robot.txt |
|
Поисковые сервера всегда перед индексацией вашего ресурса ищут в корневом каталоге вашего домена файл с именем "robots.txt" (http://www.mydomain.com/robots.txt). Этот файл сообщает роботам (паукам-индексаторам), какие файлы они могут индексировать, а какие нет.
Формат файла robots.txt - особый. Он состоит из записей. Каждая запись состоит из двух полей: строки с названием клиентского приложения (user-agent), и одной или нескольких строк, начинающихся с директивы Disallow: <Поле> ":" <значение>Robots.txt должен создаваться в текстовом формате Unix. Большинство хороших текстовых редакторов уже умеют превращать символы перевода строки Windows в Unix. Либо ваш FTP-клиент должен уметь это делать. Для редактирования не пытайтесь пользоваться HTML-редактором, особенно таким, который не имеет текстового режима отображения кода. Поле User-agentСтрока User-agent содержит название робота. Например: User-agent: googlebotЕсли вы обращаетесь ко всем роботам, вы можете использовать символ подстановки "*": User-agent: * Названия роботов вы можете найти в логах вашего веб-сервера. Для этого выберите только запросы к файлу robots.txt. большинство поисковых серверов присваивают короткие имена своим паукам-индексаторам. Поле DisallowВторая часть записи состоит из строк Disallow. Эти строки - директивы для данного робота. Они сообщают роботу какие файлы и/или каталоги роботу неразрешено индексировать. Например следующая директива запрещает паукам индексировать файл email.htm:Disallow: email.htmДиректива может содержать и название каталога Disallow: /cgi-bin/Эта директива запрещает паукам индексировать директорию "cgi-bin". В Disallow могут использоваться и символы подстановки, стандарт диктует, что директива /bob запретит паукам лезть в /bob.html и так же в /bob/index.html. Если же директива Disallow останется пустой, то роботу разрешено индексировать обсолютно все файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent, для того, чтобы robots.txt считался корректным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще. Пробелы и комментарииНачинающаяся строка с # в robots.txt считается комментарием. Разрешается использовать комментарии в конце строк с директивами, но это считается плохим стилем:Disallow: bob #commentНекоторые пауки не смогут правильно разобрать данную строку и вместо этого поймут ее как запрет на индексацию ресурсов bob#comment. Поэтому все комментарии должны размещаться на отдельной строке. Пробел в начале строки разрешается, но не рекомендуется Disallow: bob #commentПримеры Следующая директива разрешает всем роботам индексировать все ресурсы сайта, так как используется символ подстановки "*". User-agent: *Следующая директива будет запрещать всем роботам это делать: User-agent: *Запрещается всем роботам индексировать директории "cgi-bin" и "images": User-agent: *Запрещается роботу Roverdog заходить во все каталоги сервера: User-agent: RoverdogДанная директива запрещает Google роботу googlebot индексировать файл cheese.htm: User-agent: googlebotЕсле Вас интересуют более сложные примеры или же хотите посмотреть на действующий файл robots.txt, то просмотрите его на каком-нибудь большом сайте. http://sitename.com/robots.txt В поисках корректного robots.txtСтатистика показывает, что около 5% всех robots.txt имеют плохой стиль или некорректны, а 2% вообще настолько плохо написаны, что ни один робот не разберется в написанном. Рассмотрим наиболее встречаемые ошибки при создании robots.txt Перевернутый синтаксисОдна из самых распространенных ошибок - перевернутый синтаксис:User-agent: *А должно быть так: User-agent: scooterНесколько директив Disallow в одной строке Многие указывали несколько директив на одной строке: Disallow: /css/ /cgi-bin/ /images/Различные пауки поймут эту директиву по-разному. Некоторые из них проигнорируют пробелы и поймут директиву как запрет на индексацию дирректории /css//cgi-bin//images/. Возможен вариант, что они проиндексируют лишь один каталог (/images/ или /css/), остальные проигнорируют. Правильный синтаксис в данном случае будет таков: Disallow: /css/ Строка в формате 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 (файл не найден) веб-сервер выдает особую страницу, например 404.html. При этом сервер не выдает код ошибки и не делает редиректа на главную страницу. В этом случае робот не понимает, что файл robots.txt отсутствует, вместо этого он получит html-страницу с определённым содержимым. Конечно никаких проблем здесь возникнуть не должно, но стоит ли рисковать? Кто знает, как разберет робот этот html файл. Ведь он может принять страницу за robots.txt. Чтобы этого не происходило, обязательно поместите хотя бы пустой robots.txt в Ваш корневой каталог.Конфликты директивЧтобы вы сделали на месте робота slurp, увидев данные директивы?User-agent: *Первая директива запрещает всем роботам индексировать сайт, но вторая директива разрешает роботу slurp это делать. Так что же все-таки должен делать slurp? Мы не можем гарантировать, что все роботы поймут эти директивы правильно. В данном примере slurp должен проиндексировать весь сайт, а все остальные не должны уйти прямо с порога. Верхний регистр всех букв - плохой стиль: USER-AGENT: EXCITEНесмотря на то, что стандарт безразлично относится к регистру букв в robots.txt, в именах каталогов и файлов регистр все-таки важен. Лучше всего следовать примерам и в верхнем регистре писать первые буквы только в словах User и Disallow. Список всех файловЕще одна ошибка - перечисление всех файлов в каталоге:Disallow: /AL/Alabama.htmlВышеприведенный пример можно заменить на: Disallow: /ALПомните, что начальная наклонная черта обозначает, что речь идет о каталоге. Конечно, ничто не запрещает вам перечислить парочку файлов, но мы речь ведем о стиле. Данный пример взят из файла robots.txt, размер которого превышал 400 килобайт, в нем было упомянуто 4000 файлов! Интересно, сколько роботов-пауков, посмотрев на этот файл, решили больше не приходить на этот сайт. Есть только директива Disallow! Нет такой директивы Allow, есть только Disallow. Этот пример неверный: User-agent: SpotПравильно будет так: User-agent: Spot Нет открывающей наклонной чертыЧто должен сделать робот-паук с данной директивой: User-agent: SpotСогласно стандартам эта директива запрещает индексировать файл "john" и каталог john". Но лучше всего, для верности, использовать наклонную черту, чтобы робот мог отличить файл от каталога. Еще мы видели, как люди записывали в файл robots.txt ключевые слова для своего сайта (подумать только - для чего?). Бывали такие файлы robots.txt, которые были сделаны в виде html-документов. Помните, во FrontPage делать robots.txt не стоит. Неправильно настроенный серверПочему вдруг на запрос robots.txt веб-сервер выдает бинарный файл? Это происходит в том случае, если ваш веб-сервер настроен неправильно, либо вы неправильно закачали на сервер сам файл.Всегда после того, как вы закачали файл robots.txt на сервер, проверяйте его. Достаточно в броузере набрать простой запрос: http://www.mydomain.com/robots.txtВот и все что нужно для проверки. Google - первый поисковый сервер, который поддерживает в директивах регулярные выражения. Что позволяет запрещать индексацию файлов по их расширениям. |

