Создание Robots.txt
Последовательно заполняйте все необходимые поля. По мере ваших указаний, Вы будете видеть наполнение вашего Robots.txt директивами. Ниже подробно описаны все директивы файла Robots.txt.
Пометьте, скопируйте и вставьте текст в текстовый редактор. Сохраните файл как "robots.txt" в корневой директории Вашего сайта.
Описание формата файла robots.txt
Файл robots.txt состоит из записей, каждая из которых состоит из двух полей: строки с названием клиентского приложения (user-agent), и одной или нескольких строк, начинающихся с директивы Disallow:
Директива ":" значениеRobots.txt должен создаваться в текстовом формате Unix. Большинство хороших текстовых редакторов уже умеют превращать символы перевода строки Windows в Unix. Либо ваш FTP-клиент должен уметь это делать. Для редактирования не пытайтесь пользоваться HTML-редактором, особенно таким, который не имеет текстового режима отображения кода.
Директива User-agent:
Для Рамблера:User-agent: StackRamblerДля Яндекса:
User-agent: YandexДля Гугла:
User-Agent: googlebot
Вы можете создать инструкцию для всех роботов:
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 понимает только Яндекс.
User-agent: Yandex Allow: /cgi-bin Disallow: / # запрещает скачивать все, кроме страниц начинающихся с '/cgi-bin'Для остальных поисковиков вам придется перечислять все закрытые документы. Продумайте структуру сайта, чтобы закрытые для индексирования документы были собраны по возможности в одном месте.
Если директива Disallow будет пустой, это значит, что робот может индексировать ВСЕ файлы. Как минимум одна директива Disallow должна присутствовать для каждого поля User-agent, чтобы robots.txt считался верным. Полностью пустой robots.txt означает то же самое, как если бы его не было вообще.
Робот Рамблера понимает * как любой символ, поэтому инструкция Disallow: * означает запрещение индексации всего сайта.
Директивы Allow, Disallow без параметров. Отсутствие параметров у директив Allow, Disallow трактуется следующим образом:User-agent: Yandex Disallow: # тоже что и Allow: /
User-agent: Yandex Allow: # тоже что и Disallow: /
Использование спецсимволов "*" и "$".
При указании путей директив Allow-Disallow можно использовать спецсимволы '*' и '$',
задавая, таким образом, определенные регулярные выражения. Спецсимвол '*' означает любую
(в том числе пустую) последовательность символов. Примеры:
User-agent: Yandex Disallow: /cgi-bin/*.aspx # запрещает '/cgi-bin/example.aspx' и '/cgi-bin/private/test.aspx' Disallow: /*private # запрещает не только '/private', но и '/cgi-bin/private'Спецсимвол '$'.
По умолчанию к концу каждого правила, описанного в robots.txt, приписывается '*', например:
User-agent: Yandex Disallow: /cgi-bin* # блокирует доступ к страницам начинающимся с '/cgi-bin' Disallow: /cgi-bin # то же самоечтобы отменить '*' на конце правила, можно использовать спецсимвол '$', например:
User-agent: Yandex Disallow: /example$ # запрещает '/example', но не запрещает '/example.html'
User-agent: Yandex Disallow: /example # запрещает и '/example', и '/example.html'
User-agent: Yandex Disallow: /example$ # запрещает только '/example' Disallow: /example*$ # так же, как 'Disallow: /example' запрещает и /example.html и /example
Директива Host.
Если ваш сайт имеет зеркала, специальный робот зеркальщик определит их и сформирует группу зеркал вашего сайта. В поиске будет участвовать только главное зеркало. Вы можете указать его при помощи robots.txt, используя директиву 'Host', определив в качестве ее параметра имя главного зеркала. Директива 'Host' не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом. Пример:#Если www.glavnoye-zerkalo.ru главное зеркало сайта, то robots.txt для #www.neglavnoye-zerkalo.ru выглядит так User-Agent: * Disallow: /forum Disallow: /cgi-bin Host: www.glavnoye-zerkalo.ruВ целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву 'Host' необходимо добавлять в группе, начинающейся с записи 'User-Agent', непосредственно после директив 'Disallow'('Allow'). Аргументом директивы 'Host' является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием. Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки 'Host:' игнорируются.
# Примеры игнорируемых директив Host Host: www.myhost-.ru Host: www.-myhost.ru Host: www.myhost.ru:100000 Host: www.my_host.ru Host: .my-host.ru:8000 Host: my-host.ru. Host: my..host.ru Host: www.myhost.ru/ Host: www.myhost.ru:8080/ Host: http://www.myhost.ru Host: 213.180.194.129 Host: www.firsthost.ru,www.secondhost.ru Host: www.firsthost.ru www.secondhost.ru
Директива Crawl-delay
Задает таймаут в секундах, с которым поисковый робот закачивает страницы с вашего сервера (Crawl-delay).
Если сервер сильно нагружен и не успевает отрабатывать запросы на закачку, воспользуйтесь директивой "Crawl-delay". Она позволяет задать поисковому роботу минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей. В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву "Crawl-delay" необходимо добавлять в группе, начинающейся с записи "User-Agent", непосредственно после директив "Disallow" ("Allow").
Поисковый робот Яндекса поддерживает дробные значения Crawl-Delay, например, 0.5. Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но дает роботу больше свободы и позволяет ускорить обход сайта.
Пример:
User-agent: Yandex Crawl-delay: 2 # задает таймаут в 2 секунды User-agent: * Disallow: /search Crawl-delay: 4.5 # задает таймаут в 4.5 секунды
Пустые строки и комментарии
Пустые строки допускаются между группами инструкций, вводимыми 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/
- Примечания:
- Недопустимо наличие пустых переводов строки между директивами 'User-agent' и 'Disallow' ('Allow'), а также между самими 'Disallow' ('Allow') директивами.
- В соответствии со стандартом перед каждой директивой 'User-agent' рекомендуется вставлять пустой перевод строки.
- Комментарии рекомендуется писать отдельной строкой, чтобы одни однозначно воспринимались поисковыми роботами
- Пробел в начале строки разрешается, но не рекомендуется.
- Не указывайте несколько директив в одной строке. Различные почтовые роботы могут понять эту директиву по-разному. Некоторые проигнорируют пробелы и поймут директиву, как запрет на индексацию каталога, состоящего из всех записей строки, либо возьмут только один каталог и проигнорируют все остальное
- Не редактируйте файл robots.txt в формате DOS. Всегда редактируйте свой robots.txt в режиме UNIX и закачивайте файл на сайт в режиме ASCII. Многие FTP-клиенты умеют при закачке в текстовом режиме переводить символы строки из DOS-формата в UNIX-формат.
- Google - первый поисковый сервер, который поддерживает в директивах регулярные выражения. Что позволяет запрещать индексацию файлов по их расширениям.
User-agent: googlebot Disallow: *.cgi
Кроме использования файла robots.txt, Вы можете управлять индексацией с помощью МЕТА-тега robots и директив <noindex>...</noindex>
Использованы материалы с сайтов поисковых систем:
Rambler,
Yandex,
Google.
А проверить как Яндекс "реагирует на ваш robots.txt можно на этой страничке