О сайте | Карта сайта | Календарь сайта | Содержание
www.shtogrin.com  
Главная  //  Библиотека  //  Веб  //  Файл robots.txt

Файл robots.txt

Когда робот-индексатор поисковой машины приходит на сайт, он прежде всего проверяет, нет ли в корневом каталоге сайта служебного файла robots.txt. Если робот обнаруживает этот документ, все дальнейшие действия по индексированию сайта осуществляются в соответствии с указаниями robots.txt. Вы можете запретить доступ к определенным каталогам и/или файлам своего сайта любым роботам-индексаторам или же роботам конкретной поисковой системы. Правда, инструкциям файла robots.txt (как и meta-тегов Robots) следуют только честные роботы.

Формат файла robots.txt - особый. Он состоит из записей, каждая из которых состоит из двух полей: строки с названием клиентского приложения (user-agent), и одной или нескольких строк, начинающихся с директивы Disallow:

<Поле> ":" <значение>

Robots.txt должен создаваться в текстовом формате Unix. Большинство хороших текстовых редакторов уже умеют превращать символы перевода строки Windows в Unix. Либо ваш FTP-клиент должен уметь это делать. Для редактирования не пытайтесь пользоваться HTML-редактором, особенно таким, который не имеет текстового режима отображения кода.

Поле User-agent

Строка User-agent содержит название робота.

User-agent: StackRambler

Вы можете создать инструкцию для всех роботов:

User-agent: *

Поле Disallow:

Вторая часть записи состоит из строк Disallow. Эти строки - директивы  для данного робота. В каждой группе, вводимой строкой User-agent, должна быть хотя бы одна инструкция Disallow. Количество инструкций Disallow не ограничено.Они сообщают роботу какие файлы и/или каталоги роботу неразрешено индексировать. Вы можете запретить индексацию файла или каталога.

Следующая директива запрещает индексацию каталога /cgi-bin/:

Disallow: /cgi-bin/

Обратите внимание на / в конце названия директории. Это важно. Чтобы запрещать посещение именно каталога "/dir", инструкция должна иметь вид:

"Disallow: /dir/".

А строка

"Disallow: /dir"

запрещает посещение всех страниц сервера, полное имя которых (от корня сервера) начинается с "/dir". Например: "/dir.html", "/dir/index.html", "/directory.html".

Внимание: точно так же и инструкции "Disallow: *", "Disallow: *.doc", "Disallow: /dir/*.doc" не запрещают ничего, поскольку файлов, имя которых начинается со звездочки или содержит ее, не существует! Использование регулярных выражений в строках Disallow, равно как и в файле robots.txt вообще, не предусмотрено.

Записаная следующим образом директива запрещает индексацию файла index.htm находящегося в корне:

Disallow: /index.htm

К сожалению, инструкций Allow в файлах robots.txt не бывает. Поэтому даже если закрытых для индексирования документов очень много, Вам все равно придется перечислять именно их, а не немногочисленные "открытые" документы. Продумайте структуру сайта, чтобы закрытые для индексирования документы были собраны по возможности в одном месте.

Если директива Disallow будет пустой, это значит, что робот может индексировать ВСЕ файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent, чтобы robots.txt считался верным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.

Пустые строки и комментарии

Пустые строки допускаются между группами инструкций, вводимыми User-agent.

Инструкция Disallow учитывается, только если она подчинена какой-либо строке User-agent - то есть если выше нее есть строка User-agent.

Любой текст от знака решетки "#" до конца строки считается комментарием и игнорируется.

Пример:

Следующий простой файл robots.txt запрещает индексацию всех страниц сайта всем роботам, кроме робота Рамблера, которому, наоборот, разрешена индексация всех страниц сайта.

# Инструкции для всех роботов
User-agent: *
Disallow: /

# Инструкции для робота Рамблера
User-agent: StackRambler
Disallow:
Распространенные ошибки:
Перевернутый синтаксис:
 
User-agent: /
Disallow: StackRambler
А должно быть так:

User-agent: StackRambler
Disallow: /

Несколько директив Disallow в одной строке:
 
Disallow: /css/ /cgi-bin/ /images/
Правильно так:
Disallow: /css/
Disallow: /cgi-bin/
Disallow: /images/

05.02.2007


2006-2024, Roman Shtogrin