В интернете куча статей наподобие таких «оптимизация robots.txt для WordPress’а». В них блогеры просто приводят пример своей реализации файла robots.txt, а читатели уже в комментариях пытаются выяснить, как это работает. Я решил написать статью, в которой хотя бы чуть-чуть попытаюсь объяснить, как устроен robots.txt.
Сегодня все поисковые роботы в первую очередь проверяют наличие файла robots.txt, индексируя сайт. Поэтому любой уважающий себя веб-мастер (даже новичок) должен заняться созданием и настройкой robots.txt. Что такое robots.txt? Это, как можно догадаться из его названия, файл, содержащий настройки индексирования для поисковых роботов. С его помощью можно запретить индексировать определенные файлы и папки на сайте. Подробнее под катом.
Каждый поисковый робот имеет свои особенности, но в большинстве своем они понимают стандартный вид файла robots.txt, который может выглядеть, например вот так:
User-agent: * Disallow: /images/ Disallow: /text.html Sitemap: http://mysite.com/sitemap.xml
Файл robots.txt состоит из инструкций, каждая, из которой в свою очередь состоит из команды, стоящей перед двоеточием, и цели, которая стоит после. Каждая инструкция начинается с новой строки. Давайте разберем, что и зачем. Команда User-agent указывает для какого робота данный блок настроек. Звездочка(«*») означает, что настройки доступны всем роботам. Можно, например, написать:
User-agent: Yandex
Тогда блок настроек(до следующего User-agent, или до конца файла) будет использоваться только Yandex’ом.
Следующая команда Disallow. Она определяет, какие файлы или папки запрещены для индексирования. В нашем случае robots.txt запретил индексировать папку /images/ и файл /text.html. Слеш(«/») в начале указывает на то, что файл или папка находятся в корневой директории, в конце слеш ставится для того, что бы указать роботу, что целью является папка. Для одной команды Disallow можно указать только одну цель.
Целью команды Sitemap является полный путь к карте вашего сайта. В примере карта сайта лежит по адресу http://mysite.com/sitemap.xml. Карта нужна поисковым роботам, для оптимального индексирования страниц. Самый простой способ создания карты для блога на WordPress — это специальный плагин. Их много, но я лично пользуюсь Google XML Sitemaps.
Кроме команд перечисленных выше, так же распространенной является Allow. И хотя многие не рекомендуют ее использовать, мотивируя это тем, что не все поисковики ее понимают, я расскажу что, она делает. Allow указывает роботу принудительно проиндексировать содержимое файла или папки. Это бывает необходимо, когда вы запретили доступ к определенной папке, но вам нужно индексировать внутреннюю папку. Например, вот так:
Allow: /wp-content/uploads/ Disallow: /wp-content/
WordPress хранит загруженный контент (например, картинки, или архивы, загруженный администратором сайта) в папке /wp-content/uploads/. Но папку /wp-content/ я хочу закрыть от поисковиков, так как она содержит так же папку с плагинами и т.д.. Показывать установленные плагины публике не безопасно, потому что злоумышленники могут навредить вашему блогу. Поэтому я скрыл содержимое папки /wp-content/ от поисковиков, но при этом разрешил индексировать /wp-content/uploads/. Кстати, Google и Yandex отлично распознают команду Allow. Если вы в основном ориентируетесь на эти поисковики, можете смело ее использовать.
Существует команда Host, которую по моим сведениям понимает только Yandex. Она используется, что бы указать роботу на зеркала сайта. Если у вас нет зеркала, можете ее не использовать. Однако мешать она тоже не будет, если в качестве цели указать URL вашего сайта. Например, домен mydom.com главное зеркало домена www.mydom.com, тогда Host можно записать так:
Host: mydom.com
При создании файла robots.txt можно использовать некоторые шаблоны. Например звездочка(«*») означает любой символ, исключая пробелы, а символ доллара(«$») означает конец имени файла или папки. Таким образом, можно запретить например индексировать txt файлы на сайте:
Disallow: /*.txt$
Если вам понадобится, вы можете использовать комментарии в своем файле robots.txt, например вот так:
#this is Yandex instructions block User-agent: Yandex Allow: /wp-content/uploads/ Disallow: /cgi-bin/ Sitemap: http://mysite.com/sitemap.xml Host: mysite.com
Давайте подытожим правила создания robots.txt:
- Каждый блок команд, начинается со своего User-agent и должен содержать обязательно хотя бы одну команду Disallow. При необходимости она может быть пустой;
- Команда Disallow блокирует только один файл или одну папку, для запрета индексирования нескольких файлов или папок используйте несколько команд Disallow;
- Команду Allow понимают Google и Yandex, но старые парсеры поисковых роботов могут ее не распознать;
- Файл robots.txt должен лежать в корневой директории сайта, должен быть доступен для чтения и не может содержать в названии букв в верхнем регистре;
- После каждой команды ставиться двоеточие и пробел (пробел не обязателен);
- Не используйте комментарии на одной строке с инструкциями;
Вот собственно и все основы создания robots.txt файла. Пример моего robots.txt вы можете посмотреть прямо на сайте.
Ничего особенного. Задавайте свои ответы в комментариях, пишите пожелания и благодарности. И не забывайте рассказывать о статье своим друзьям в социальных сетях!
Wow… This is great! I can say that this is the first time I visited the site and I found out that this blog is interesting to read. Thanks for this awesome monitor.
Это спам? Странный спам пошел. Сообщение есть — ссылок нет .
Спасибо за статью.
Пожалуйста. Кстати, зацените мой блог на английском в шапке сайта ссылка.
Пожалуйста :).
Здраствуйте. У меня в гугл AdSense пишет Ошибки сканирования страниц, причина блокировки robots.txt.
Подскажите пожалуста что делать?
Гугл скорее всего имеет ввиду заблокированные страницы в robots.txt. Может вы слишком много заблокировали?
Большое спасибо
Пожалуйста. Кстати, зацените мой английской блог, ссылка в шапке сайта.
ну и для полноты картины:
1.В какой кодировке сохранять robots.txt
2.какие права доступа должны быть у robots.txt после закачки по фтп в корневую директорию?
1. Можно и в ANSI, можно и в UTF-8;
2. Права оставляйте стандартные, robots.txt меняется только вами, и доступ на запись не нужен больше никому.
Такой вот вопрос возник. А нужно ли / как скрывать /скрыть такое: сайт.ру/2012/08??
А то в яндекс вебмастере показывается, что это вот про индексировалось: сайт.ру/2012/08.
То есть как я понимаю архив в индексацию влез?
Это по пожеланию. Просто, архив ,по сути, дубликат других страниц, поэтому можно скрыть, что бы поисковая машина вдруг не посчитала, что у вас страницы дублируются.
Но я думаю, что все не настолько печально :). Можете не скрывать.
Спасибо за статью! Информативно и доступно написано 🙂
Пожалуйста.
Спасибо за статью!)
Пожалуйста.
В пункте 3 и 5 подитоживаний — явные ошибки.
Спасибо, исправил.
Скажите правильно ли указана команда запрет на индексацию страницы Disallow: /http://payture.com/ru/kompania/#partners
Правильнее будет написать так: «Disallow: /ru/kompania/#partners»