Файл robots.txt

Продвижение сайтов самостоятельно | Внутренняя оптимизация сайта

Первое, что делает поисковый бот, который приходит на ваш сайт, это поиск и чтение файла robots.txt. Что это за файл? - это набор инструкций для поисковой системы. Он представляет собой текстовый файл, с расширением txt, который находится в корневой директории сайта. Данный набор инструкций указывает поисковому роботу, какие страницы и файлы сайта индексировать, а какие нет. Так же в нем указывается основное зеркало сайта и где искать карту сайта.

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

Как составить правильный robots.txt


Составить robots.txt достаточно легко, создаем текстовый документ в стандартном блокноте винды. Пишем в этом файле директивы для поисковых систем. Далее сохраняем этот файл под названием «robots» и текстовым расширением «txt». Все теперь его можно залить на хостинг, в корневую папку сайта. Учтите, для одного сайта можно создать только один документ "роботс". Если этот файл отсутствует на сайте, то бот автоматические «решает» что можно индексировать все.

Так как он один, то в нем прописываются инструкции ко всем поисковым системам. Причем можно записать как отдельно инструкции под каждую ПС, так и общую сразу под все. Разделение инструкций для различных поисковых ботов делается через директиву User-agent. Подробнее поговорим об этом ниже.

Директивы robots.txt


Файл "для роботов" может содержать следующие директивы для управления индексацией: User-agent, Disallow, Allow, Sitemap, Host, Crawl-delay, Clean-param. Давайте рассмотрим каждую инструкцию по подробней.

Директива User-agent


Директива User-agent - указывает для какой поисковой системы будут инструкции (точнее для какого конкретно бота). Если стоит «*» то инструкции предназначены для всех роботов. Если указан конкретный бот, например Googlebot, значит, инструкции предназначены только для основного индексирующего робота Google. Причем если инструкции есть и отдельно для Googlebot и для всех других ПС, то гугл прочтет только свою инструкцию, а общую проигнорирует. Бот Яндекса поступит так же. Смотрим пример записи директивы.

User-agent: YandexBot - инструкции только для основного индексирующего бота Яндекса
User-agent: Yandex - инструкции для всех бот Яндекса
User-agent: * - инструкции для всех ботов



Директивы Disallow и Allow


Директивы Disallow и Allow - дают команды что индексировать, а что нет. Disallow дает команду не индексировать страницу или целый раздел сайта. А Allow наоборот указывает, что нужно проиндексировать.

Disallow: / - запрещает индексировать весь сайт
Disallow: /papka/ - запрещает индексировать все содержимое папки
Disallow: /files.php - запрещает индексировать файл files.php


Allow: /cgi-bin – разрешает индексировать страницы cgi-bin


В директивах Disallow и Allow можно и зачастую просто необходимо использовать спецсимволы. Они нужны для задания регулярных выражений.

Спецсимвол * - заменяет любую последовательность символов. Он по умолчанию приписывается к концу каждого правила. Даже если вы его не прописали, ПС сами приставят. Пример использования:

Disallow: /cgi-bin/*.aspx – запрещает индексировать все файлы с расширением .aspx
Disallow: /*foto - запрещает индексацию файлов и папок содержащих слово foto


Спецсимвол $ - отменяет действие спецсимвола «*» в конце правила. Например:

Disallow: /example$ - запрещает индексировать '/example', но не запрещает '/example.html'


А если прописать без спецсимвола $ то инструкция сработает уже по другому:

Disallow: /example - запрещает и '/example' и '/example.html'



Директива Sitemap


Директива Sitemap - предназначена для указания роботу поисковой системы, в каком месте на хостинге лежит карта сайта. Формат карты сайта должен быть sitemaps.xml. Карта сайта нужна для более быстрой и полной индексации сайта. Причем карта сайта это не обязательно один файл, их может быть несколько. Формат записи директы:

Sitemap: http://seob.info/sitemaps1.xml
Sitemap: http://seob.info/sitemaps2.xml



Директива Host



Директива Host - указывает роботу основное зеркало сайта. Что бы не было в индексе зеркал сайта, всегда нужно указывать эту директиву. Если ее не указать, робот Яндекса будет индексировать как минимум две версии сайт с www и без. Пока робот зеркальщик их не склеит. Пример записи:

Host: www.seob.info
Host: seob.info


В первом случае робот будет индексировать версию с www, во втором случае без. Разрешается прописывать только одну директиву Host в файле robots.txt. Если вы пропишите их несколько, бот обработает и примет к сведению только первую.

Правильная директива хост должна иметь следующие данные:
- указывать на протокол соединения (HTTP или HTTPS);
- корректно написанное доменное имя (нельзя прописывать IP-адрес);
- номер порта при необходимости (например, Host: site.com:8080).

Не правильно сделанные директивы просто будут игнорированы.

не правильно заполненная директива host

Директива Crawl-delay


Директива Crawl-delay позволяет снизить нагрузку на сервер. Она нужна на случай если ваш сайт начинается ложиться под натиском различных ботов . Директива Crawl-delay указывает поисковому боту время ожидания между окончанием закачки одной страницы и началом закачки другой страницы сайта. Директива должна идти непосредственно после записей директив «Disallow» и/или «Allow». Поисковый робот Яндекса умеет читывать дробные значения. Например: 1.5 (полторы секунды).

директива Crawl-delay


Директива Clean-param


Директива Clean-param нужна сайтам, страницы которых содержат динамические параметры. Речь о тех, которые не влияют на содержимое страниц. Это различная служебная информация: идентификаторы сессий, пользователей, рефереров и т.д. Так вот, что бы не было дублей эти страниц и используется эта директива. Она скажет ПС не закачивать повторно добирающуюся информацию. Снизится и нагрузка на сервер и время обхода сайта роботом.

Clean-param: s /forum/showthread.php


Данная запись говорит ПС, что параметр s будет считаться незначительным для для всех url, которые начинаются с /forum/showthread.php. Максимальная длина записи 500 символов.

С директивами разобрались, переходим к настройке нашего файла роботс.

Настройка robots.txt


Приступаем непосредственно к настройке файла robots.txt. Он должен содержать как минимум две записи:

User-agent: - указывает для какой поисковой системы будут идущие ниже инструкции.
Disallow: - уточняет, какую именно часть сайта не индексировать. Может закрывать от индексации, как отдельную страницу сайта, так и целые разделы.

Причем можно указать, что эти директивы предназначены для всех поисковых систем, или для какой-то одной конкретно. Указывается это в директиве User-agent. Если вы хотите что бы инструкции читали все боты - ставим «звездочку»

User-agent: *



Если хотите прописать инструкции для конкретного робота, но надо указать его имя.

User-agent: YandexBot



Упрощенно пример правильно составленного файла robots будет таким:

User-agent: *
Disallow: /files.php
Disallow: /razdel/
Host: seob.info



Где, * говорит о том, что инструкции предназначены для всех ПС;
Disallow: /files.php – дает запрет на индексацию файла file.php;
Disallow: /foto/ - запрещает индексировать целиком весь раздел «foto» со всеми вложенными файлами;
Host: seob.info - указывает роботам, какое зеркало индексировать.

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

User-agent: *
Disallow:
Host: seob.info



Robots.txt для Яндекса (Yandex)


Что бы указать, что данные инструкции предназначены для поисковой системы Яндекс, надо прописать в директиве User-agent: Yandex. Причем если мы пропишем «Yandex» то сайт будут индексировать все роботы Яндекса, а если укажем «YandexBot» - то это будет команда только для основного индексирующего робота.

Так же надо обязательно прописать директиву «Host», где указать основное зеркало сайта. Как я писал выше, делается это для недопущения дублей страниц. Ваш правильный robots.txt для Yandex будет таким:

User-agent: Yandex
Disallow: /cgi-bin
Disallow: /adminka
Host: seob.info
Sitemap: http://seob.info/sitemaps.xml


До сих пор часто приходится слышать вопросы, что лучше указывать в директиве host, сайт с www или без. А ведь ни какой разницы нет. Тут просто как вам больше нравится, что бы сайт выглядел в выдаче ПС. Главное не забыть ее указать вообще, что бы не создавать дубли.

Robots.txt для Google


Поисковая система Google поддерживает все общепринятые форматы записи файла robots.txt. Правда он не учитывает директиву Host. Поэтому отличий от Яндекса фактически не будет. Robots.txt для Google будет выглядеть следующим образом:

User-agent: Googlebot
Disallow: /cgi-bin
Disallow: /adminka
Sitemap: http://seob.info/sitemaps.xml



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

Оглавление