Robots.txt - управление индексацией сайта

Опубликовано 09.12.2005.

Управление индексацией сайта всеми поисковыми системами возможно с помощью файла robots.txt, находящегося в корневом каталоге сервера. Этот файл сообщает поисковым роботам (ботам), какие файлы они могут индексировать, а какие нет.

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

User-agent

Строка User-agent служит для указания названия робота. Например в следующей строке указано название поискового робота Google - «googlebot»:

User-agent: googlebot

Бот Яндекса - «Yandex»
Бот Рамблера - «StackRambler»
Бот Yahoo! - «Yahoo! Slurp»
Бот MSN - «msnbot»

Названия других роботов вы можете найти в логах Вашего сервера.

Если Вы хотите запретить индексацию файлов и/или папок всеми поисковыми системами, то Вы можете использовать символ подстановки «*»:

User-agent: *

Disallow

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

Например следующая директива запрещает паукам индексировать файл «download.htm», находящийся в корневой директории сайта:

Disallow: download.htm

Директива может содержать и название папки. Например следующая директива запрещает индексацию папки «cgi-bin», которая находится в корневой директории сайта:

Disallow: /cgi-bin/

Следующая директива запретит паукам индексировать и файл «catalog.html», и папку «catalog»:

Disallow: /catalog

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

Всем поисковым системам разрешено полностью индексировать сайт:

User-agent: *
Disallow:

Индексация сайта запрещена всеми поисковыми системами:

User-agent: *
Disallow: /

Запрет на индексацию папки «cgi-bin» всеми поисковыми системами:

User-Agent: *
Disallow: /cgi-bin/

Запрет на индексацию файла «download.htm» всеми поисковыми системами:

User-Agent: *
Disallow: download.htm

Запрет на индексацию файла «download.htm» и папки «cgi-bin» всеми поисковыми системами:

User-Agent: *
Disallow: /cgi-bin/
Disallow: download.htm

Запрет на индексацию файла «download.htm» для робота Google - «googlebot»:

User-agent: googlebot
Disallow: download.htm

Комментарии

Любой текст от знака решетки “#” до конца строки считается комментарием и поисковыми роботами игнорируется. Пример:

# Yahoo! No index.
User-agent: Yahoo! Slurp
Disallow: /

Ссылки по теме:

Стандарт исключений для роботов.

Все, все, все о Robots.txt 

Яндекс. Раздел помощи. Советы вебмастеру.

Rambler - Как управлять индексированием сайта

Информация Google для вебмастеров - Google-бот: сканер Google

Приоритеты обработки записей в robots.txt

The Robots Exclusion Protocol (En)

Robots.txt Tutorial (En)

The Web Robots FAQ… (En)

Комментарии (4):

  1. Germik:

    Спасибо за статью.
    Вопрос назрел. Как исключить переход ботов на страницы, в урле которых содержится “стоп-слово”?
    Пример:
    site.com/1/2/3/stop/
    site.com/2/1/3/stop/

  2. Гроссмейстер:

    Не знаю… единственный путь, который я сейчас вижу, это генерация robots.txt самописным скриптом в случае, если таких URL много и их постоянно становится всё больше и больше (либо список “стоп-слов” достаточно динамичен), либо ручное добавление, если запрещаемых URL мало и редко появляются новые… Можно еще продумать варианты с мета-тегом robots…

    Но смысл один: либо руками, либо программно. Вариантов с использованием исключительно синтаксиса robots.txt я не вижу.

  3. Germik:

    Спасибо за ответ.
    Дело в том, что есть только одно стоп-слово и это означает наличие антилича. То есть смысла в переходе ботов по этим ссылкам нет. И запретить мета-тегом тоже не представляется возможным.
    Как мне представляется, данная проблема решается, если стоп-слово находится в начале урла. То еть Disallow /стоп-слово/, но это возможно только, если переписать движок. Вот и хотел узнать позволяет ли синтаксис robots.txt решить мою задачу “малой кровью” :)
    В любом случае, спасибо :)

  4. oqbo:

    Germik, Яндекс сейчас позволяет вставлять значки * и $ для подстановки.

    Можно сделать так:
    Disallow: /*/*/*/stop/