Все о файле robots.txt по-русски

Файл robots.txt


Все поисковые роботы при заходе на сайт в первую очередь ищут файл robots.txt. Если вы - вебмастер, вы должны знать назначение и синтаксис robots.txt.


Файл robots.txt - это текстовый файл, находящийся в корневой директории сайта, в котором записываются специальные инструкции для поисковых роботов. Эти инструкции могут запрещать к индексации некоторые разделы или страницы на сайте, указывать на правильное «зеркалирование» домена, рекомендовать поисковому роботу соблюдать определенный временной интервал между скачиванием документов с сервера и т.д.

Создание robots.txt


Чтобы создать файл robotx.txt, нужен простой текстовый файл. Если вы не собираетесь создавать запреты к индексации, можно сделать пустой файл robots.txt.


Для Рунета самой часто встречающейся задачей является создание файла robots.txt для Яндекса, так как сейчас Яндекс - самая популярная поисковая система. Важно уметь правильно использовать директиву host, которую соблюдает этот поисковик.

Описание robots.txt


Чтобы правильно написать robots.txt, предлагаем вам изучить разделы этого сайта. Здесь собрана самая полезная информация о синтаксисе robots.txt, о формате robots.txt, примеры использования, а также описание основных поисковых роботов Рунета.

 

 

Ошибки, часто встречающиеся в файле robots.txt


Оглавление документаНепосредственно ошибкиПерепутанные инструкцииУказание нескольких каталогов в одной инструкции DisallowИмя файла содержит заглавные буквыИспользование файла robot.txt вместо robots.txtПустая строка в User-agentUrl в директиве HostИспользование в Disallow символов подстановкиПлохой стильКомментарии на одной строке с инструкциямиРедирект на страницу 404-й ошибки:Заглавные буквы - это плохой стильПеречисление всех файловИнструкции Allow не существует!Использование дополнительных директив в секции *Отсутствие инструкции DisallowОтсутствие слешей при указании директорииНеправильный http-заголовок

Непосредственно ошибки

Перепутанные инструкции


Одна из самых распространённых ошибок в robots.txt - перепутаные между собой инструкции. Например:


User-agent: /
Disallow: Yandex

Правильно писать вот так:


User-agent: Yandex
Disallow: /

Указание нескольких каталогов в одной инструкции Disallow


Многие владельцы сайтов пытаются поместить все запрещаемые к индексации каталоги в одну инструкцию Disallow.


Disallow: /css/ /cgi-bin/ /images/

Такая запись нарушает стандарт, и невозможно угадать, как ее обработают разные роботы. Некоторые могут «отбросить» пробелы и интерпретируют эту запись как «Disallow: /css/cgi-bin/images/». Некоторые могут использовать только первую или последнюю папки (/css/ или /images/ соответственно). Кто-то может просто отбросить непонятную инструкцию полностью.


Конечно, какие-то роботы могут обработать эту конструкцию именно так, как расчитывал веб-мастер, но расчитывать на это все же не стоит. Правильно надо писать так:


Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/

Имя файла содержит заглавные буквы


Файл должен называться robots.txt, а не Robots.txt или ROBOTS.TXT.

Использование файла robot.txt вместо robots.txt


Еще раз - файл должен называться robots.txt.

Пустая строка в User-agent


Так неправильно:

User-agent: 
Disallow:

Так правильно:

User-agent: *
Disallow:

Url в директиве Host


Следует писать без аббревиатуры протокола передачи гипертекста, то есть без http:// и без закрывающего слеша /


Неправильно:


User-agent: Yandex
Disallow: /cgi-bin
Host: http://www.site.ru/

Правильно:


User-agent: Yandex
Disallow: /cgi-bin
Host: www.site.ru

Директива host Является корректной только для робота Яндекса

Использование в Disallow символов подстановки


Иногда хочется написать что-то вроде:


User-agent: *
Disallow: file*.html

для указания все файлов file1.html, file2.html, file3.html и т.д. Но нельзя, к сожалению (некоторые роботы поддерживают символы подстановки).

Плохой стиль

Комментарии на одной строке с инструкциями


По стандарту, такая запись вполне возможна:


Disallow: /cgi-bin/ #запрещаем роботам индексировать cgi-bin

В прошлом некоторые роботы не обрабатывали такие строки. Вероятно, сейчас ни у одной из основных поисковых систем уже нет такой проблемы, но стоит ли рисковать? Лучше помещать комментарии отдельно.

Редирект на страницу 404-й ошибки:


Довольно часто, на сайтах без файла robots.txt при запросе этого файла делается переадресация на другую страницу. Иногда такая переадресация происходит без отдачи статуса 404 Not Found. Пауку самому приходится разбираться, что он получил - robors.txt или обычный html-файл. Эта ситуация вряд ли создаст какие-то проблемы, но все-таки лучше всегда класть в корень сайта пустой файл robots.txt.

Заглавные буквы - это плохой стиль


USER-AGENT: GOOGLEBOT
DISALLOW:

Хотя по стандарту robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файов и директорий. Кроме того, написание robots.txt сплошь заглавными буквами считается плохим стилем.


User-agent: googlebot
Disallow:

Перечисление всех файлов


Еще одной ошибкой является перечисление каждого файла в директории:


User-agent: *
Disallow: /AL/Alabama.html
Disallow: /AL/AR.html
Disallow: /Az/AZ.html
Disallow: /Az/bali.html
Disallow: /Az/bed-breakfast.html

Вместо этого можно просто закрыть от индексации директорию целиком:


User-agent: *
Disallow: /AL/
Disallow: /Az/

Инструкции Allow не существует!


Нет инструкции Allow, есть только Disallow. Файл robots.txt ничего не разрешает, только запрещает!

Отдельные роботы (например googlebot) понимают директиву Allow

Так неправильно:


User-agent: Yandex
Disallow: /john/
Allow: /jane/

А вот так - правильно:


User-agent: Yandex
Disallow: /john/
Disallow:

Использование дополнительных директив в секции *


Некоторые роботы могут неправильно отреагировать на использование дополнительных директив. Это значит, что не стоит использовать дополнительные директивы в секции «*».
То есть рекомендуется создавать специальные секции для нестандартных директив, таких как «Host».


Так неправильно:


User-agent: *
Disallow: /css/
Host: www.example.com

А вот так - правильно:


User-agent: *
Disallow: /css/

User-agent: Yandex
Disallow: /css/
Host: www.example.com

Отсутствие инструкции Disallow


Даже если мы хотим просто использовать дополнительную директиву и не хотим ничего запрещать, лучше всего указать пустой Disallow. По стандарту интрукция Disallow является обязательной, и робот может «неправильно вас понять».


Так неправильно:


User-agent: Yandex
Host: www.example.com

Так правильно:


User-agent: Yandex
Disallow:
Host: www.example.com

Обсуждение этого вопроса на Searchengines.ru

Отсутствие слешей при указании директории


Как в этом случае поступит робот?


User-agent: Yandex
Disallow: john

По стандарту, он не будет индексировать файл с именем "john" и директорию с именем "john". Для указания только директории надо писать так:


User-agent: Yandex
Disallow: /john/

Неправильный http-заголовок


Сервер должен возвращать в HTTP-заголовке для robots.txt «Content-Type: text/plain» а, например, не «Content-Type: text/html». Неправильный заголовок может привести к тому, что некоторые роботы не обработают файл.

Дата: 2009.11.13   Автор: lynx   Категория: Web-разработка   Комментарии (0)  

Нет комментариев
Имя *
E-mail *
Сообщение *
Защита * Загрузите изображение
главная|о компании|услуги|портфолио|контакты|хостинг|LYNX.cms|карта сайта |Блоги |NOD32

Все права защищены © 2008-2009 ООО "Линкс-Веб"
E-mail:
Все контакты
www.lynx-web.ru