Вступление
Поисковые роботы (или спайдеры, пауки, поисковые машины и т.д.) постоянно шарят по веб-страницам, обрабатывая, содержащуюся на них информацию. Веб-мастер может управлять поведением поисковиков на своём сайте двумя способами: при помощи мета-тегов, либо файла robots.txt. Рассмотрим подробнее второй способ.
Общие сведения
robots.txt — особый файл (точнее, это — обычный текстовый файл с расширением txt, но составленный особым образом), лежащий в корневой директории сайта (например, если сайт имеет адрес https://statievsky.ru/, то файл robots.txt должен находиться по адресу: https://statievsky.ru/robots.txt). Обратите внимание: имя файла и расширение надо писать в нижнем регистре! Любой поисковик, заходя на какой-либо сайт, прежде всего, проверит наличие и содержимое файла robots.txt (можете посмотреть логи своего сервера и убедиться как часто запрашивается этот файл). И, уже исходя из полученной информации, будет осуществлять свою дальнейшую деятельность на этом сайте. На одном сайте может быть только один файл robots.txt. Если робот не находит файл исключений для поисковых роботов, то он действует на сайте по своему собственному алгоритму (делает что хочет :-)).
Формат записи файла robots.txt
В файле robots.txt указывается: какому роботу и что НЕ надо индексировать на сервере. Вообще, записи в этом файле составлены из нескольких групп инструкций, а проще говоря — блоков (разделяемых пустой строкой), каждый из которых предназначен для одного или нескольких роботов. Название робота указывается в первой строке блока (параметр User-agent, его наличие в robots.txt обязательно):
User-agent: robot1 robot2 robot3, где:
robot1, robot2 и robot3 — названия поисковых роботов. Например:
User-agent: WebCrawler Lycos StackRambler
Как видите, названия поисковых роботов иногда отличаются от названий поисковых систем (в нашем примере: робота поисковой системы Rambler «зовут» StackRambler). В большинстве случаев, однако, писать названия роботов не требуется. Достаточно просто написать:
User-agent: *, здесь знак «*» означает, что запись относится ко всем роботам (в файле может быть только одна такая строка).
Далее идёт вторая строка:
Disallow: путь, где:
путь — часть URI, который запрещено посещать роботу. Можно указывать полностью или частично (любой URI, начинающийся с указанного значения роботу посещать запрещено). Для каждого объекта, запрещённого к индексации нужно писать отдельный Dissallow.
Обратите внимание: указываются не абсолютные, а относительные пути.
Например:
Disallow: /topsecret/ — запрещает доступ к директории с таким именем, но не запрещает файлы с таким именем, т.е. файл topsecret.html будет проиндексирован, а все файлы в директории /topsecret/ — нет.
Disallow: /privat — запрещает доступ как к директориям с таким именем, так и к файлам.
Disallow: /folder/file.htm — запрещает доступ к определённому файлу в определённой директории.
Из примера видно, что для каждого объекта, запрещённого к индексированию, записывается отдельная строка Disallow. Пустое значение параметра Disallow означает, что все URL могут загружаться. В файле robots.txt должен быть, по крайней мере, один параметр Disallow. Параметр Disallow всегда относится только к предшествующему параметру User-agent, поэтому для каждого параметра User-agent нужно задавать свои параметры Disallow.
Примеры записи файлов
Проще всего понять синтаксис файла robots.txt и научиться грамотно его использовать можно на конкретных примерах. Ниже приведены примеры нескольких типичных записей в этот файл.
Пример 1.
# robots.txt file for https://statievsky.ru/
# contact e-mail for criticsUser-agent: StackRambler Googlebot
Disallow:User-agent: *
Disallow: /tmp/
Disallow: /logs/
Значок # означает комментарий. Комментарии лучше писать на отдельной строке.
В этом примере всем роботам запрещается посещать директории tmp и logs, и только роботам StackRambler и Googlebot разрешено посещать всё.
Пример 2.
# I hate search engines!
User-agent: *
Disallow: /
В этом примере всем роботам запрещена любая деятельность на сайте.
Пример 3.
User-agent: *
Disallow: /private/letters/
# This is top secret directory.
Disallow: /cgi-bin/
Disallow: /anektods.html
В этом примере всем роботам запрещается посещать страницы, находящиеся в директориях /private/letters/ и /cgi-bin/, а так же файл anektods.html.
Пример 4.
User-agent: *
Disallow:
Это самый простой случай. Всем роботам можно обрабатывать любые документы на сервере.
Специфические директивы
Помимо управления индексацией сайта, robots.txt сейчас решает ещё смежную информирующую задачу при помощи двух директив:
Host: URL, где URL — адрес сайта с www или без, что говорит роботу (в первую очередь, Яндексу) какой из адресов является основным, а какой — зеркалом.
Sitemap: URL, где URL — адрес XML-карты сайта с перечнем всех страниц сайта. Естественно, карта должна обновляться каждый раз при появлении новых страниц и обновлении старых.
Пример 5.
Host: statievsky.ru
Sitemap: https://statievsky.ru/sitemap.xml
этот пример из файла robots.txt данного блога, говорит, что основная версия сайта — statievsky.ru, а не www.statievsky.ru, а карта всех страниц расположена по адресу https://statievsky.ru/sitemap.xml.
Проблемы безопасности
Использование на своём сайте файла robots.txt хранит в себе потенциальную опасность. Вы можете пострадать от действий злоумышленников. Если кто-то наберёт в адресной строке броузера непосредственно адрес этого файла, ему станет известно, какие каталоги и файлы администратор пытается скрыть от посторонних глаз. Затем можно в строке броузера набирать прямой путь к этим «секретным объектам» и спокойно их лицезреть. Это называется «чёрный ход».
Как же защитить информацию от посторонних? Самое очевидное — не размещать её на общедоступных ресурсах. Если это действительно важная информация, зачем выкладывать её в глобальную Сеть? Если же информацию всё-таки надо выложить, используйте в заголовках документов мета-тег «robots». И установите надлежащую систему аутентификации.
Запрет на индексацию определенных страниц роботами полезен, когда нужно избавить поисковик от разной мусорной информации — дублирующегося контента на сайте, технических и бессодержательных страниц и прочего, что не представляет ценности для поискового робота. Так Вы снизите количество его работы на сайте и поспособствуете улучшению индексируемости полезной информации (которая потом приведет к Вам на сайт посетителей из поисковых систем).
Думаю, в этой статье описано всё, что нужно знать об управлении действиями поисковых роботов на сайте. Если же кто-то хочет более глубоко изучить этот вопрос, рекомендую посетить следующие ресурсы Интернет:
http://www.w3.org/TR/html401/ — спецификация HTML 4.01.
http://www.robotstxt.org/ — Этот сайт полностью посвящён поисковым роботам и взаимодействию с ними. Да это и из названия видно.