Всем привет, сегодня, как я и обещал своим подписчикам, я опять начинаю писать полезную статью, напомню, что в прошлый раз мы обсуждали вопрос о том как избавиться от спама в блоге. Причем я обещал не только в статье про февральский отчет, но и своим подписчикам на информационную рассылку, которые всегда узнают обо все первыми – каждому советую подписаться на неё. В самом начале я планировал из этих материалов создать видео-урок, но потом что-то меня показалось, что для видео-урока мало материалов будет, возможно я просто испугался и не готов пока к созданию авторским материалов такого рода, но тем не менее… статья так статья…
Что такое robots
Некультурные роботы – это такие роботы, которые “тибрят” у вас ваш контент, занимаются спамом или сбором почт из комментариев, в общем всякая “шушара” и мусор, которые мешает жить честным личностям типа нас с вами.
Культурные же роботы – это в основном роботы поисковых систем, которые заходят на ваш сайт с целью узнать, а что же у вас обновилось и это что-то выдать в поисковую выдачу, если оно конечно того заслуживает. Так вот эти – культурные роботы – прежде чем начать вообще лазить по вашему сайту – заходят сначала в “предбанник” или можно сказать “прихожую” , которой и является файл robots.
В файле robots прописаны все инструкции, которым обязан следовать культурный робот. Если в файле robots написано нельзя – значит нельзя! Кстати, находится этот файл robots в корневой папке вашего сайта.
История Robots
Как работает Robots.txt
Вот как выглядит примерный Robots:
• User-agent: *
• Disallow: /tmp/
• Disallow: /cgi-bin/
Звездочка возле User-Agent говорит о том, что следующие инструкции предназначены для роботов любой поисковой системы. А дальше идет просто перечисление каталогов или файлов, которые не нужно индексировать. Все остальное индексироваться будет!
Собственно, вы уже наверное поняли, что параметр Disallow как раз и говорит о том чего «нельзя делать».
Можно запрещать индексировать не только каталоги, но и группы файлов или отдельные страницы вашего сайта.
Структура Robots.txt
Например User-Agent – это поле, которое обозначает идентификацию конкретного робота конкретного поисковика.
Если User-agent = “ * ” – это значит что следующие инструкции предназначены для всех поисковых роботов. Очень часто мы видим строки user-agent: yandex или user-agent: googlebot – эти строки означают что инструкции, которые перечисляются чуть ниже относятся именно к ботам яндекса или гугла соответственно.
Чуть ниже строки с идентификацией поискового робота идут директивы – приказы для робота, которые говорят индексировать или не индексировать конкретные страницы или папки. Например, поле Disallow говорит о том, что поисковой робот не должен индексировать те файлы или папки, которые стоят в значении этого поля, например
Disallow: /cgi-bin/
Или
Disallow: /about.html
Директива Disallow работает методом подстановки, т.е. в нашем примере про папку cgi-bin запрещена к индексации именно папка, а также все её содержимое. Но если бы строка строилась так:
Disallow: /cgi-bin/То в этом случае поисковой робот получил бы приказ к запрету индексации всех документов и папок, в пути которых встречается последовательность символов «cgi-bin», например /cgi-bin.html или /cgi-bin/index.html – все это было бы под запретом.
Что такое метод подстановки в Robots.txt
Disallow: fileЕсть URL вида http://site.ru/catalog/file/file.html и Robots при выполнении этой инструкции начинает подставляет значение поля Disallow (т.е. “file”) в этот URL, и там где есть совпадения – считает необходимым выполнить указание, т.е. в данном примере НЕ БУДУТ индексироваться
каталог - http://site.ru/catalog/file/
файл - http://site.ru/catalog/file/file.htmlКомментарии в Robots
Disallow: /cgi-bin/ #commentТакой стиль , так скажем, не запрещен. Однако это считается плохим стилем, правильней было бы писать каждую директиву на отдельной строке, а комментарий к ней на отдельной.
Под каждым user-agent должен быть хотя бы один Disallow
Как создать robots txt
Анализируем Robots.txt
Вот например, Анализатор Яндекса.
Здесь мы видим два поля: “Имя хоста” и “Robots.txt”, мы можем заполнить любое, потому что и так и так, мы сможем выполнить наш анализ. Дело в том что в поле “Имя хоста” мы можем ввести URL нашего сайта и справа этой строчки мы видим кнопку “Загрузить Robots с сайта”. Нажимая её, файл Robots.txt автоматически переноситься к поле “Robots.txt”. И дальше уже можно будет анализировать.
В окне, где появился файл Robots.txt , который находится у вас на сайте – вы можете редактировать этот файлик и проверять, правильно ли индексируется фаш сайт. Внизу окна анализа можно увидеть кнопку “Список URL”. Давайте её нажмем. Откроется окно, куда можно вставить список ваших страниц, про индексацию которых вы беспокоитесь и нужно проверить, а Robots вообще позволяет поисковикам из индексировать?
Я взял первые попавшиеся, наугад, страницы, которые были выделены на главной странице, и решил проверить их индексируемость, чтобы показать вам наглядно, как это может происходить. Итак, открыли мы это окошко и вбили туда списки наших урлов. Нажали уже показанную ранее кнопку “Проверить”. И в самом низу нам показывается список страниц, которые проверены и их статус.
Статус может быть двух видов “Разрешен” или “Запрещен”, в смысле к индексации.
Следует заметить, что файл robots.txt не является панацеей, так как его правила исключения используют только «культурные» роботы, а наряду с ними существует целый список роботов, сервисов и программ, которые не следуют правилам исключения, либо игнорируют существование файла robots.txt на сайте.
Кроме этого в файл исключений не стоит добавлять пути к файлам, о существовании которых не следует знать посторонним людям. Файл robots.txt доступен всем, поэтому присутствие там строк, вроде Disallow: /admin, только подзадорит некоторых посетителей к совершению вредоносных деяний.
1. В некоторых случаях используется динамическое формирование файла robots.txt, для сайтов с зеркалами.
2. Некоторые системы поддерживают дополнительные поля. Яндекс, например, использует поле Host для определения основного зеркала сайта.
3. Некоторые системы разрешают использование регулярных выражений. Так Гугл, который имеет поиск по изображениям, файлам PDF и другим, поддерживает в поле Disallow символы «*» (любая последовательность символов) и «$» (окончание строки ссылки). Это позволяет запретить индексирование определенного типа файлов:
User-agent: Googlebot
Disallow: *.pdf$
#Запрет индексации файлов PDF
По мнению автора это избыточное расширение, так как с тем же успехом можно вынести все документы PDF в отдельный каталог и запретить его индексирование:
User-agent: *
Disallow: /pdf/
Директива Crawl-delay
Если сервер сильно нагружен и не успевает отрабатывать запросы на закачку, воспользуйтесь директивой “Crawl-delay”. Она позволяет задать поисковому роботу минимальный период времени (в секундах) между концом закачки одной страницы и началом закачки следующей. В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву “Crawl-delay” необходимо добавлять в группе, начинающейся с записи “User-Agent”, непосредственно после директив “Disallow” (“Allow”).
Поисковый робот Яндекса поддерживает дробные значения Crawl-Delay, например, 0.5. Это не гарантирует, что поисковый робот будет заходить на ваш сайт каждые полсекунды, но дает роботу больше свободы и позволяет ускорить обход сайта.
User-agent: Yandex
Crawl-delay: 2 # задает таймаут в 2 секунды
User-agent: *
Disallow: /search
Crawl-delay: 4.5 # задает таймаут в 4.5 секунды
Директива Host для Яндекса
Эта директива используется только Яндексом
Если ваш сайт имеет зеркала, специальный робот, который специализируется на зеркалах определит их и сформирует группу зеркал вашего сайта. В поиске будет участвовать только главное зеркало. Вы можете указать его при помощи robots.txt, используя директиву ‘Host’, определив в качестве ее параметра имя главного зеркала. Директива ‘Host’ не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом.
#Если www.glavnoye-zerkalo.ru главное зеркало сайта, то robots.txt для
#www.neglavnoye-zerkalo.ru выглядит так
User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: www.glavnoye-zerkalo.ru
В целях совместимости с роботами, которые не полностью следуют стандарту при обработке robots.txt, директиву ‘Host’ необходимо добавлять в группе, начинающейся с записи ‘User-Agent’, непосредственно после директив ‘Disallow’(‘Allow’). Аргументом директивы ‘Host’ является доменное имя с номером порта (80 по умолчанию), отделенным двоеточием. Параметр директивы Host обязан состоять из одного корректного имени хоста (т.е. соответствующего RFC 952 и не являющегося IP-адресом) и допустимого номера порта. Некорректно составленные строчки ‘Host:’ игнорируются.
Недостатки файла robots.txt
Например, если вы хотите запретить доступ к страницу с адресомwww.domain.com/stats/index.php, необходимо прописать в файле robots.txt следующую команду:
User-agent: *
Disallow: /stats/Однако хакерам не трудно догадаться, как зайти на эту страницу – нужно просто ввести в адресной строке браузера URL www.domain.com/stats. От вас же в этом случае потребуется принятие следующих мер:
Поменяйте имя файла stats index.php на другое, например, stats-new.php. Тогда полный адрес страницы будет выглядеть следующим образом www.domain.com/stats/stats-new.php
Разместите по старому адресу страницы index.php простой текстовый файл, например, содержащий следующую информацию: “извините, но у вас нет прав для доступа к этой странице”.
В этом случае хакерам будет трудно угадать имя файла и проникнуть на страницу ограниченного доступа.
• Установите пароль:
Защитите паролем информацию, прописанную в robots.txt файле.
А теперь давайте посмотрим небольшое видео о том как правильно настраивать Robots.txt :
А сейчас пойдет серия шаблонных решений Robots.txt для стандартных, шаблонных сайтов.
Правильный Robots.txt для WordPress
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
User-agent: Yandex
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /trackback
Disallow: */trackback
Disallow: */*/trackback
Disallow: */*/feed/*/
Disallow: */feed
Disallow: /*?*
Host: hooka-mimi.ru
Sitemap: http://hooka-mimi.ru/sitemap.xml.gz
Sitemap: http://hooka-mimi.ru/sitemap.xml
Правильный Robots.txt для DLE
User-agent: Yandex
Disallow: /autobackup.php
Disallow: /user/
Disallow: /cache/
Disallow: /favorites/
Disallow: /cgi-bin/
Disallow: /engine/
Disallow: /language/
Disallow: /backup/
Disallow: /rek/
Disallow: /languages/
Disallow: /index.php?do=pm
Disallow: /index.php?do=search
Disallow: /index.php?do=register
Disallow: /index.php?do=feedback
Disallow: /index.php?do=lostpassword
Disallow: /index.php?do=stats
Disallow: /index.php?do=addnews
Disallow: /index.php?subaction=newposts
Disallow: /?do=lastcomments
Disallow: /statistics.html
Sitemap: http://сайт.ru/sitemap.xml
Host: сайт.ru
Правильный Robots.txt для Joomla
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Host: vash_sait.ru
Sitemap: http://vash_sait.ru/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1
Правильный Robots.txt для SMF форума
User-agent: *
Allow: /forum/*sitemap
Allow: /forum/*arcade # если не стоит мод игр, удалить без пропуска строки
Allow: /forum/*rss
Allow: /forum/*type=rss
Disallow: /forum/attachments/
Disallow: /forum/avatars/
Disallow: /forum/Packages/
Disallow: /forum/Smileys/
Disallow: /forum/Sources/
Disallow: /forum/Themes/
Disallow: /forum/Games/
Disallow: /forum/*.msg
Disallow: /forum/*.new
Disallow: /forum/*sort
Disallow: /forum/*topicseen
Disallow: /forum/*wap
Disallow: /forum/*imode
Disallow: /forum/*action
Disallow: /forum/*prev_next
Disallow: /forum/*all
Disallow: /forum/*go.php # либо тот редирект что стоит у вас
Host: www.мой сайт.ru # указать ваше главное зеркало
User-agent: Slurp
Crawl-delay: 100
В этом шаблоне, есть явное отличие от остальных – это наличие Slurp – это бот Yahoo , и он выполняет проверку в несколько потоков, что может негативно сказаться на производительности вашего форума. Чтобы этого не происходило – здесь включена директива задержки.
В принципе, это все что нужно знать блоггеру или начинающему вебмастеру. Сложного вроде бы ничего нет, но пошевелить мозгами придется. Я кстати описал не все директивы, который есть, например, у Яндекса. А чтобы никогда не пропускать ничего интересного – подпишись на обновления моего блога. А под конец хочу вам показать кое что – дриф на фуре:
С уважением, Тумилович Денис.

Наконец-то я нашла интересующую меня информацию. Сохраню в закладки, завтра же изучу. А-то у меня этот робот частенько не допускает страницы к индексации.
Денис,отличная статья!Я на своем сайте тоже писал на эту тему,но у вас получился уникальный пост,мне есть с чем сравнивать.Вы не забыли даже о директиве Crawl-delay.Хотя она обычно прописывается для крупных ресурсов с большой нагрузкой,но тем не менее…С удовольствием прочитал пост.И вообще мне нравится юзабилити блога.
Спасибо
Рад стараться
А как на счёт директивы “Visit-time: 2300-0700″
Мой хостер поставил такую в робот.тхт на моем сайте http://realestate-odessa.io.ua/
Яндекс ругается, что не понимает???
Статья очень полная, читал с удовольствием. Однако роботс для dle, все таки можно дополнить.
давайте подробнее… сделаем роботс для DLE максимально правильным.
Сейчас попробую использовать Ваш вариант, а то проблемы с яндексом, нашел ошибки в robots
Отпишитесь – как успехи?
Потрясающая статья! На порядок выше всех, что пришлось перелопатить, решая проблему индексации сайта. Но, к сожалению, и она не ответила мне на вопрос – почему же, кроме первой и главной, у меня не индексируются страницы
Яндекс пишет, что это установки файла-робота. но я уже все запреты сняла, чем рискую плохим роботам дорогу протоптать к недозволенному… И плагин установила по индексации… и всё равно
Спасибо за статью. Наконец можно изучить.
Спасибо! Исчерпывающая информация, после которой и вопросов не осталось!