Знакомство с файлом robots.txt

29.05.2014
Нет комментариев

robots.txt

Что это за файл и зачем он нужен?

Если вы заходили на ftp-сервер, где находится ваш сайт, то  наверняка задавались вопросом, какие функции выполняют разные файлы,  зачем они нужны и как они работают.

В этой статье мы рассмотрим robots.txt и ответим на эти вопросы о нем.

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

При этом роботы читают инструкции, которые прописаны специально для них в этом файле, в основном там прописано, что из страниц и даже целых разделов сайта разрешено, а что – запрещено индексировать и разглашать всему миру.

FTP-robots txt

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

Примеры страниц, которые рекомендуется исключить из индекса: версия для печати, страница регистрации, логина, RSS, архивы сайта и тому подобные.

Кроме запретов и разрешений robots.txt может приносить пользу, —  например, указывать расположение карты сайта, задавать главное зеркало сайта (домен с www или без), уменьшать нагрузку поисковых ботов на хостинг, задавая интервалы посещения и т.д.

Итак, файл robots.txt нужен для правильной обработки сайта поисковыми ботами.

 Robots_txt_info

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

В одних системах управления контентом файл robots.txt может генерироваться автоматически, в других – его нужно создавать вручную. Но этот файл всегда нужно проверять, а в большинстве случаев и редактировать.

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

Итак, когда мы знаем, зачем нам нужен этот файл, мы можем углубиться в технические подробности.

Поскольку это обычный текстовый файл с названием robots.txt, то его можно создать в любом блокноте (системном, Notepad++, AkelPad или другом) и загрузить в корневую папку сайта на сервер.

После загрузки можно просмотреть все содержимое этого файла по адресу: http://<имя сайта>/robots.txt. Это работает для всех сайтов, у которых есть этот файл. А вот роботс самого Яндекса http://yandex.ru/robots.txt

yandex_robots

и Google http://www.google.com/robots.txt

google_robots

Изучим основы синтаксиса robots.txt и самые распространенные директивы

Прежде всего нужно знать, что использование кириллицы запрещено в файлах robots.txt, файлах sitemap и http-заголовках сервера. То есть никакой кириллицы в этом файл быть не должно, а вместо нее нужно использовать специальный Punycode.

Поисковые агенты (User-agent)

В первой строке, которая не закомментирована знаком #, обычно указывается поисковый агент (робот конкретной поисковой системы или группа ботов), которому предназначены последующие правила. Будьте внимательны — User-agent не должен быть пустым! То есть вот такая строка и последующие не сработают:

Useragent:

Последующие директивы не обрабатываются, так как задан пустой поисковый агент.

А вот так правильно:

#robots.txtcomment

 User-agent:

# со знака решетки начинается комментарий, который игнорируется поисковыми ботами. Для улучшения читаемости и соблюдения хорошего стиля комментарий лучше писать с новой строки, а не продолжать ту, в которой уже прописаны директивы.

* звездочка означает последовательность любых символов, то есть любой агент должен выполнять дальнейшие указания.

User-agent: Yandex

— означает, что следущие правила написаны для ботов Яндекса.

Useragent: Googlebot

 — соответственно для ботов Гугла.

В старых версиях robots.txt можно встретить устаревшие инструкции:

UseragentStackRambler

— устарел, так как Рамблер перешел к использованию поисковых технологий Яндекса.

Useragent: Slurp

— поисковый робот Yahoo!, имел смачное имя Slurp. Больше не используется, так как компания Yahoo! вместо своей поисковой машины SearchMonkey перешла на использование поисковика Bing от Майкрософт.

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

 

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

 

Сразу после указания поискового агента должны идти директивы, относящиеся к нему.

Disallow

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

User-agent: *

Disallow:

Такой роботс ничего не запрещает, но наличие строки Disallow ожидается поисковым ботом, без нее он может некорректно обработать директивы.

Вот так закрываются определенные папки, каждая папка – отдельной строкой.

Disallow: /css/

Disallow: /cgibin/

Disallow: /images/

Запись одной строкой не только нарушает стандарты robots.txt, но и может повлечь непредсказуемую работу разных ботов.

Disallow: /css/ /cgi-bin/ /images/

Директива распространяется только для текущего поискового агента, то есть такой роботс закроет каталог для всех роботов кроме Яндекса:

User-agent: *

Disallow: /css/

 

User-agent: Yandex

Disallow:

 

Вот так выглядит роботс, полностью закрывающий весь сайт от индексации:

User-agent: *

Disallow: /

 

Allow

Эта директива появилась сравнительно недавно, по логическому смыслу является противоположной команде Disallow, но ее понимает только Яндекс.

User-agent: Yandex

Allow: /

Такой роботс запрещает доступ к всему сайту для ботов Яндекса, строка

Allow:

аналогично

Disallow: /

Иногда для ботов Яндекса (но не для других ботов) удобней разрешить несколько каталогов, чем прописывать множество запрещающих строк.

 

Sitemap

Если сайт достаточно большой и содержит тысячи страниц, то ему для лучшей индексации потребуется карта сайта.

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

Sitemap:  http://<имя_сайта>/sitemap.xml

 

Host

Директива host сообщает поисковому боту, какое зеркало домена главное — с www или без. Поддерживается только Яндексом. Обратите внимание, он указывается без http:// и без слеша в конце строки /.

Указание хоста не гарантирует, что главным зеркалом сайта будет установлен именно этот хост, однако Яндекс будет его учитывать при определении главного зеркала.

Для счастливых обладателей кириллических доменов нужно учитывать то, что необходимо использовать специальный Punycode, а не кириллицу. Так, если нам нужно указать домен.рф главным зеркалом, то это будет выглядеть так:

Host: xn--d1acufc.xn--p1ai

Узнать Punycode для своего домена можно с помощью специального сервиса – Punycode-конвертера.

Особенности robots.txt для разных поисковых систем

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

Директивы Allow и Host обрабатывают только боты Yandex, для остальных юзерагентов они не сработают.

GoogleBot – поддерживает в директивах регулярные выражения. Если нам нужно запретить индексацию файлов по расширениям, то можно написать так:

User-agent: googlebot

Disallow: *.cgi

Нужно учитывать, что Гугл может игнорировать правила, так как для него это не догма, а рекомендация. Если на страницу есть ссылка, то она может попасть в индекс Гугла. Поэтому нежелательно закрывать от индексации страницу, на которую есть ссылки. У таких страниц плохой сниппет:

 

disallow

В таких случаях для закрытия дублей страниц лучше воспользоваться средствами, предоставляемыми самой CMS, а уже потом использовать robots.txt.

Во всех сомнительных ситуациях лучше обращаться к документации, которую предоставляют поисковые системы для вебмастеров. Тем более, что рассмотренные правила могут обновиться.

 

Советы по работе с robots.txt

При разработке сайта нужно закрыть его полностью, чтобы не засорять индекс ненужными страницами

  • Закрыть приватные данные, которые не должны попасть в индекс
  • Запретить определенным поисковым системам индексировать сайт. Например, если на русскоязычном сайте не нужен трафик с Yahoo! Или наоборот – на англоязычном нам не нужны посетители с Yandex.
  • Снятие нагрузки на сервер: если сайт часто обновляется, содержит множество страниц и боты некоторых поисковых систем чрезмерно нагружают его, то можно умерить их пыл директивой

Crawl-delay: 20

Выставили таймаут, чтобы текущий юзерагент сканировал сайт не чаще, чем раз в 20 секунд. При этом нужно убедиться, что этот бот поддерживает директиву.

Чего следует избегать при использовании robots.txt

 Закрывать дубли страниц с помощью роботс нужно только в том случае, если исчерпаны средства самой CMS. В остальных случаях лучше воспользоваться 301 редиректом через соответствующую команду в файле .htaccess, тегами robots noindex, rel=canonical, страницей 404.

  • Удалить существующие в индексе страницы с помощью robots.txt не получится
  • Закрытие админ панели помогает злоумышленнику узнать путь к админке сайта, так как robots.txt доступен всем желающим.

Если закрываете страницы, четко представляйте, что при этом происходит. Например, если мы закроем в WordPress всю папку /wp-content/, то /wp-content/uploads/ также закроется. А если у нас сайт с большими фотографиями или уникальными изображениями, то будет обидно, что они не индексируются и по ним мы не получим трафика.

Что можно еще почитать по robots.txt

У Яндекса и Google есть соответствующие разделы для вебмастеров о robots.txt. У Яндекса есть анализатор robots.txt

По файлу robots.txt есть полезный сайт robotstxt.org.ru, на котором можно найти множество подробной информации.

Автор
Александр
Копирайтер, вебмастер, программист Java
Оцените статью:
(7 оценок, средняя: 4,86 из 5)
Загрузка...

Читайте также

Оставьте свой комментарий к статье