Robots.txt
Файл robots.txt содержит инструкции по индексации для поисковых роботов, т. е. предназначен для указания всем поисковым роботам (spiders) индексировать информационные сервера так, как определено в этом файле, т.е. только те директории и файлы сервера, которые не описаны в robots.txt. Этот файл должен содержать 0 или более записей, которые связаны с тем или иным роботом и указывают для каждого робота или для всех сразу, что именно им не надо индексировать. Инструкции файла robots.txt могут запрещать к индексации некоторые разделы или страницы на сайте, указывать на правильное «зеркалирование» домена, рекомендовать поисковому роботу соблюдать определенный временной интервал между скачиванием документов с сервера и т. д. Инструкции могут быть как общими, так и отдельными для конкретных роботов.
Файл robots.txt представляет собой обыкновенный файл с расширением .txt, который создают с помощью Блокнота и располагают в корневой директории конкретного сайта.
Основные требования к файлу robots.txt
- все буквы в названии файла должны быть прописными, т. е. должны иметь нижний регистр:
robots.txt – правильно,
Robots.txt или ROBOTS.TXT – неправильно; - файл robots.txt должен создаваться в текстовом формате Unix. При копировании данного файла на сайт, ftp-клиент должен быть настроен на текстовый режим обмена файлами;
- файл robots.txt должен быть размещен в корневом каталоге сайта.
Записи файла robots.txt
Файл robots.txt включает в себя три основных записи: «User-agent», «Allow» и «Disallow». Названия данных записей не чувствительны к регистру букв.
Некоторые поисковые системы поддерживают еще и дополнительные записи. Так, например, поисковая система «Yandex» использует запись «Host» для определения основного зеркала сайта (основное зеркало сайта – это сайт, находящийся в индексе поисковых систем).
Каждая запись имеет свое предназначение и может встречаться несколько раз, в зависимости от количества закрываемых от индексации страниц или (и) директорий и количества роботов, к которым Вы обращаетесь.
Предполагается следующий формат строк файла robots.txt:
- имя_записи[необязательные пробелы]:[необязательные пробелы]значение[необязательные пробелы]
- Чтобы файл robots.txt считался верным, необходимо, чтобы, как минимум, одна директива «Disallow» присутствовала после каждой записи «User-agent».
- Полностью пустой файл robots.txt эквивалентен его отсутствию, что предполагает разрешение на индексирование всего сайта.
Запись «User-agent» должна содержать название поискового робота. В данной записи можно обратиться к каждому конкретному роботу. Если обращение происходит ко всем роботам, можно использовать символ подстановки «*».
Пример | Пояснение |
User-agent: * | обращение происходит ко всем поисковым системам без исключений |
User-agent: StackRambler | обращение происходит только к роботу поисковой системы «Rambler» |
User-agent: Yandex | обращение происходит только к роботу поисковой системы «Yandex» |
Робот каждой поисковой системы имеет своё название. Существует два основных способа узнать его (название):
- на сайтах многих поисковых систем присутствует специализированный раздел «помощь веб-мастеру», в котором часто указывается название поискового робота;
- при просмотре логов веб-сервера, а именно при просмотре обращений к файлу robots.txt, можно увидеть множество имён, в которых присутствуют названия поисковых систем или их часть. Поэтому Вам остается лишь выбрать нужное имя и вписать его в файл robots.txt.
Запись «Disallow» должна содержать предписания, которые указывают поисковому роботу из записи «User-agent», какие файлы или (и) каталоги индексировать запрещено. Если необходимо полностью запретить сайт к индексации, то можно использовать символ подстановки «/».
Можно закрыть от индексирования ряд документов и (или) директорий, начинающихся с одних и тех же символов, используя только одну запись «Disallow». Для этого необходимо прописать начальные одинаковые символы без закрывающей наклонной черты.
Пример | Пояснение |
Disallow: | сайт полностью открыт для индексирования |
Disallow: / | сайт полностью запрещен к индексации |
Disallow: /page.htm Disallow: /dir/page2.htm |
для индексирования запрещен файл «page.htm», находящийся в корневом каталоге, и файл «page2.htm», располагающийся в директории «dir» |
Disallow: /cgi-bin/ Disallow: /forum/ |
для индексирования запрещены директории «cgi-bin» и «forum» и, следовательно, всё содержимое данных директорий |
Disallow: /dir | для индексирования запрещены директория «dir», а так же все файлы и директории, начинающиеся буквами «dir», т. е. файлы: «dir.htm», «direct.htm», директории: «dir», «directory1», «directory2» и т. д. |
Disallow: /? | от индексации закрываются все страницы, имеющие знак вопроса после главной страницы, т.е., например, страницы вида www.site.ru/?kdjfnhgj. Подобных страниц на сайте нет, но они появляются, если их так ввести в адресную строку браузера. |
Поисковые системы разрешают использование регулярных выражений в записи «Disallow». Так, например, в директиве «Disallow» символ «*» означает любую последовательность символов и «$» - окончание строки. Это позволяет запретить индексирование определенного типа файлов.
Пример | Пояснение |
Disallow: *.htm$ | запрет индексации файлов с расширением «htm» |
Запись «Host» используется поисковой системой «Yandex» для определения основного зеркала сайта. Если сайт имеет зеркала, то с помощью директивы «Host» можно выбрать то имя, под которым сайт должен быть проиндексирован. В противном случае «Yandex» выберет главное зеркало самостоятельно, а остальные имена будут запрещены к индексации.
Пример | Пояснение |
Host: www.site.ru | www.site.ru – основное зеркало |
Примечание. Зеркало сайта – это частичная или полная копия сайта. Наличие дубликатов ресурса бывает необходимо владельцам высокопосещаемых сайтов для повышения надежности и доступности их сервиса.
В целях совместимости с поисковыми роботами, которые при обработке файла robots.txt не воспринимают директиву Host, необходимо добавлять запись «Host» непосредственно после записей Disallow.
Комментарии
Любая строка в robots.txt, начинающаяся с символа «#», считается комментарием. Разрешено использовать комментарии в конце строк с директивами, но некоторые роботы могут неправильно распознать данную строку. Желательно размещать комментарий на отдельной строке. Пробел в начале строки разрешается, но не рекомендуется.
Пример | Пояснение |
Disallow:/cgi-bin/ #комментарий | комментарий находится на одной строке вместе с директивой |
Disallow: /cgi-bin/ #комментарий |
комментарий находится на отдельной строке |
Примеры файлов robots.txt
Пример | Пояснение |
User-agent: * Disallow: Host: www.site.ru |
файл robots.txt, разрешающий всем роботам индексирование всего сайта |
User-agent: * Disallow: / Host: www.site.ru |
файл robots.txt, запрещающий всем роботам индексирование сайта |
User-agent: * Disallow: /abc Host: www.site.ru |
файл robots.txt, запрещающий всем роботам индексирование директории «abc», а так же всех директорий и файлов, начинающихся с символов «abc» |
User-agent: googlebot Disallow: /page.htm Host: www.site.ru |
файл robots.txt, запрещающий индексирование страницы «page.htm», находящейся в корневом каталоге сайта, поисковым роботом «googlebot» |
User-agent: googlebot Disallow: /directory/page1.htm User-agent: Yandex Disallow: /dir Host: www.site.ru |
файл robots.txt, запрещающий индексирование: – роботу «googlebot» – страницы «page1.htm», находящейся в директории «directory»; – роботу «Yandex» – все директории и страницы, начинающиеся символами «dir» (/dir/, /direct/, dir.htm, direction.htm, и т. д.) и находящиеся в корневом каталоге сайта |
Ошибки, связанные с файлом robots.txt
Неправильно | Правильно |
User-agent: * Disallow: /dir/ /cgi-bin/ /forum/ |
User-agent: * Disallow: /dir/ Disallow: /cgi-bin/ Disallow: /forum/ |
User-agent: */ Disallow: /CGI-BIN/ |
User-agent: */ Disallow: /cgi-bin/ |
User-agent: */ Disallow: dir/ User-agent: */ Disallow: page.html |
User-agent: */ Disallow: /dir/ User-agent: */ Disallow: /page.html |