robots.txt — файл с инструкциями для роботов поисковых систем по обходу содержимого вашего сайта или блога. Данный файл находится в корне сайта, и в нем нужно прописать некоторые директивы для различных поисковиков, то есть он нужен, в первую очередь для SEO. В данной статье речь пойдёт о файле robots.txt для wordpress, но описанные принципы применимы для любого движка.
Если указанного файла на вашем сайте не имеется, создайте его в любом текстовом редакторе (или скачайте по ссылке в этой статье) и поместите на сервере в корне вашего ресурса. Поисковый робот при заходе на ваш сайт в первую очередь ищет именно этот файл, поскольку в нем находятся инструкции для дальнейшей работы робота.
В общем сайт может существовать и без этого файла, но, например, яндекс вебмастер расценивает его отсутствие как ошибку, так же как и отсутствие директив host и карты сайта.
Пример файла robots.txt
User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Disallow: */embed* Disallow: */wp-json/* Allow: /wp-content/uploads/ Host: site.ru User-agent: Googlebot Disallow: /wp-admin Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Disallow: */embed* Disallow: */wp-json/* Allow: /wp-content/uploads/ User-agent: Mail.Ru Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Disallow: */embed* Disallow: */wp-json/* Allow: /wp-content/uploads/ User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback/ Disallow: */feed Disallow: */comments/ Disallow: */comment Disallow: */attachment/* Disallow: */print/ Disallow: *?print=* Disallow: */embed* Disallow: */wp-json/* Allow: /wp-content/uploads/ User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ User-agent: Mediapartners-Google Disallow: User-Agent: YaDirectBot Disallow: Sitemap: http://site.ru/sitemap.xml
Вы можете скачать этот файл по ссылке в формате zip и взять его за шаблон.
Обратите внимание, что нужно заменить site.ru на адрес вашего ресурса.
Настройка robots.txt
Нельзя говорить о каком-то стандартном или самом правильном robots.txt. Для каждого сайта в нем могут быть свои директивы в зависимости от установленных плагинов и т.д.
Рассмотрим основные применяемые инструкции.
User-Agent означает, что следующие после него инструкции предназначены именно для этого юзерагента. В данном случае под юзерагентом подразумевается название поискового робота. Рекомендуется создать разные разделы для основных поисковых систем, то есть для Яндекс, Гугл, а в нашем случае еще и для mail. Инструкции для прочих агентов находятся в блоке со “*”.
Директива disallow означает, что адреса страниц, соответствующие указанной после нее маске, не подлежат обходу и индексации. Например, маска /wp-admin закрывает все файлы из служебного каталога wp-admin.
Сайт WP содержит большое количество служебных папок, индексировать которые поисковикам не нужно. Поэтому рекомендуется сделать так, чтобы поисковик не тратил на них ресурсы, а индексировал лишь необходимое.
Команда allow обладает, соответственно, противоположным смыслом и указывает, что эти адреса можно обходить.
Директива host (ее требует яндекс) указывает основное зеркало сайта (то есть с www или без).
Sitemap указывает на адрес карты сайта, обычно – sitemap.xml. В том случае, если карты сайта у вас нет, ее желательно создать. (Статья о создании карты сайта.)
Кроме того, для гугл нужно открыть некоторые используемые файлы js и css. Робот google хочет видеть все файлы, в том числе стили и скрипты, участвующие в формировании страницы. Эти инструкции могут отличаться в зависимости от конфигурации сайта. Рекомендую прочитать статью Что делать с сообщением — Googlebot не может получить доступ к файлам CSS и JS на сайте.
Если закрыть для индексации папки /wp-content/themes и /wp-content/plugins то вы потеряете возможность индексации изображений с вашего сайта. Кроме того, например Google будет понижать ваш сайт в рейтинге, так как мобильная версия сайта будет отображаться неправильно (из-за запрета на индексацию CSS файлов)
Андрей, изображения в wordpress хранятся в папке /wp-content/uploads/. Она открыта для индексирования.
По поводу css – проверил этот сайт на планшете в вертикальном режиме – нормально отображается, значит стили подгружаются.
А я думаю, что две нижние директивы для картинок лишние. Папка с картинками не закрыта. И еще можно объединить директивы Для Всех и для Яши в одну, они одинаковые. Я проэкспериментировал с “нововведением” Гугла – это кошмар. Роботы Гугла умные – ходят аккуратно, но вот вместе с ними налетела еще “стая голодных волков”. Нагрузка на сервер увеличилась в двое! Долбят картинки, CSS. Не жалко картинок, но вот почему-то от этих “волков” идут запросы от 20 до 30 в секунду, на файл с логами страшно смотреть! Теперь сижу и думаю, а может к старой форме robots.txt вернуться?…
Да, в данный момент последние 2 директивы избыточные, но файл robots периодически меняется, поэтому они на всякий случай присутствуют.
Если нагрузку на сайт создают роботы, которые вам не нужны, попробуйте закрыть их в файле htaccess. Можно закрыть через юзерагент.
Подскажите нужно ли блокировать wp-comments или */comments и какая вообще между ними разница? А то у одних так, у других так
Конкретные настройки зависят от конфигурации сайта, установленных плагинов и т.д. Здесь только общие рекомендации, которые, однако, для большинства подходят. Если на вашем сайте формируются отдельные адреса для каждого комментария, то лучше их закрыть.