Файл Robots.txt

Robots.txt — это важный файл, влияющий на индексацию сайта и зеркалирование домена в различных поисковых системах.

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

Для чего служит robots.txt?

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

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

Если сайт сделан на основе популярной CMS (Joomla, WordPress), то код многих файлов будет совпадать с кодом файлов на других сайтах. Контент записей будет проиндексирован вперемежку с повторяющим его частично или полностью контентом рубрик, архивов и тегов. В поиск может попасть большое количество неуникального и дублированного контента. В результате сайт будет хуже ранжироваться в поиске.

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

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

Как поисковые роботы воспринимают содержимое robots.txt?

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

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

Если файл не удается загрузить из-за ошибок в настройке HTTP-заголовках или 404 ошибки, то считается, что файл разрешает индексировать все. Если файл весит больше 32 Кб, робот проиндексирует весь сайт.

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

Как создать файл robots.txt?

Подготовка robots.txt сводится к заполнению обычного текстового файла. Его легко создать с помощью обычных текстовых редакторов вроде Notepad. Самый простой путь – воспользоваться Блокнотом, по умолчанию установленным на каждом компьютере. В этом случае необходимо щелкнуть правой кнопкой мыши по рабочему столу и выбрать в появившемся меню команды «Создать» –> «Текстовый документ». Файлу нужно дать имя robots, а расширение .txt будет присвоено автоматически.

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

Многие популярные CMS и расширения к ним позволяют организовать robots.txt прямо в панели администратора.

Основные директивы robots.txt

Существует несколько традиционных директив:

  • User-Agent (служит ярлыком, маячком для конкретного робота, которому адресованы команды),
  • Disallow (скрывает от индексации конкретные разделы или страницы),
  • Allow (открывает для индексации каких-либо разделы),
  • Host (сообщает главное зеркало),
  • Sitemap (говорит о местоположении карты сайта)
  • Crawl-delay (отмечает желаемый минимальный временной промежуток между загрузкой страниц),
  • Clean-param (описывает страницы-дубли с параметрами в URL).

Синтаксис robots.txt

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

Все операторы подчиняются единому синтаксису. Сначала пишут оператор (директиву) в любом регистре, затем ставят двоеточие, а потом через пробел указывают параметр (значение) оператора. Новый оператор указывают с новой строки.

Оператор-S: параметр-1
Оператор-G: параметр-2

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

В файле могут присутствовать комментарии для владельца сайта. Для записи комментариев используется символ #. Фразы между # и следующей строкой игнорируются роботами.

User-Agent

Каждый фрагмент инструкций, сформированный для отдельной поисковой системы, начинается с директивы User-Agent, показывающей, какой именно поисковый робот должен заинтересоваться отрезком кода.

Значением оператора «User-Agent» служит название поискового робота.

Популярные имена:

  • * (инструкция действует на всех роботов),
  • Yandex (Yandex.ru),
  • GoogleBot (Google.com),
  • Mail.ru (Mail.Ru),
  • Slurp (Yahoo.com).

Инструкции для всех роботов можно передать строчкой:

User-agent: *

Инструкцию для поисковой системы Mail.Ru реализуют так:

User-agent: Mail.Ru

Роботы ищут описанную директиву с адресованным им маячком в первую очередь.

Если поисковый робот портала Mail.Ru обнаружит строку «User-agent: Mail.Ru», то содержание блока, озаглавленного директивой со звездочкой «User-agent: *» он учитывать не будет. Если робот не найдет директивы User-agent, он посчитает, что на сайте нет документов, запрещенных к индексации.

Стандартно перед каждым новым параметром User-agent осуществляют перевод строки, вставляют пустую строчку.

После «User-Agent» идут остальные операторы.

Disallow

Disallow запрещает заносить в индекс содержимое конкретных папок и документов.

Disallow: /zxc-biz/*

В каждом разделе User-agent, должна быть прописана хотя бы одна команда Disallow. Максимальное количество команд Disallow не орграничено. Пустая Disallow подразумевает разрешение на индексацию всего сайта целиком.

Между User-agent и Disallow нельзя ставить пустую строку.

Allow

Allow, напротив, открывет путь к индексации определенных разделов или страниц.

Allow: /zxc -biz

Между User-agent и Allow нельзя ставить пустую строку.

Комбинация значений Disallow и Allow

Disallow и Allow можно применять в комплекте. Порядок команд не влияет на их толкование роботом. В рамках отдельного блока User-agent команды пересортировываются в зависимости от протяженности URL (от короткого адреса к длинному). Робот формирует свой список директив и выполняет команды, следуя этому списку. Если для конкретной веб-странички подходит несколько команд, то робот выберет последнюю команду в отсортированном им списке.

Если конфликтуют две директивы с одинаковыми по длине урлами, то приоритет получает Allow.

Задавать путь к страницам и папкам (разделам) сайта можно с участием знаков * и $. С помощью * может обозначить любую (даже пустую) последовательность символов. Данный знак как бы заменяет собой любую возможную комбинацию символов в адресе и символизирует целую группу страниц, удовлетворяющих общему правилу. Значение * традиционно присваивается в конце каждой команды. Знак $ отменяет * на конце записи.

Sitemap

Параметр Sitemap сообщает адрес карты сайта или нескольких карт, если таковые имеются.

Sitemap: http://blog.com/blog_structure/ sitemaps1.xml

В результате использования такой директивы, робот не только исследует карту сайта, но и запоминает путь к ней.

Host

Host передает информацию о главном зеркале сайта. Директива имеет рекомендательный характер, но поисковые алгоритмы отдают этой информации высокий приоритет.

Host должна быть записана после Disallow и Allow. Ее значение –доменное имя – пишется в след за двоеточием.

Если нужно, может сообщить номер порта:

Host: blog.ru:9090

Если основное зеркало открывается по защищенному протоколу HTTPS, он должен быть указан именно в такой форме:

Host: https://blog.ru

Для доменов в зоне .рф необходим punycode.

В robots.txt можно употребить лишь одну команду Host. Если их будет несколько, робот интерпретирует только первую. Директива Host, составленная с ошибками, проигнорируется.

Crawl-delay

Такое простое действие, как применение Crawl-delay, помогает успешно уменьшить нагрузку на сервер. Она диктует роботу, через какой интервал времени после завершения загрузки странички можно загружать следующую.

Директива должна включаться в конкретный блок User-Agent в след за командами Disallow и Allow.

Clean-param

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

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

Clean-Param можно поместить в любом участке robots.txt. Если написать несколько команд Clean-Param, они все будут учтены.

Простой пример robots.txt

User-agent: Yandex
Allow: /papka1/
Disallow: /x-file.html
Host: blog.ru
User-agent: *
Disallow: / dokument.php
Disallow: /papkaxxx/
Disallow: /papkayyy/papkazzz
Disallow: /feed/
Sitemap: http://www.blog.ru/sitemap.xml

Данный файл составляют 3 фрагмента:

  • для Яндекса,
  • для прочих поисковых систем,
  • для указания адреса карты сайта.

В приведенном примере Яндекс может проиндексировать папку «papka1» и все содержимое этой папки, но не может проиндексировать документ «x-file.html», который находится в корневом каталоге на сервере. Здесь же упоминается главное зеркало.

Второй блок предназначен для всех остальных поисковых систем. Запрещены к индексации папки «papkaxxx», «papkayyy/papkazzz» и «feed» и документ «dokument.php». При этом запрещена к индексации не вся папка «papkayyy», а только подпапка внутри этой папки – «papkazzz». Здесь указан полный путь до «papkazzz». Таким способом можно запретить документ, который находится не в корне сайта, а где-то в глубине, внутри других папок.

В третьем блоке указан путь к карте сайта, который поймут все без исключения поисковые системы.

Как проверить файл robots.txt?

Чтобы узнать, насколько корректно составлен файл robots.txt, можно открыть в панели Yandex Webmaster вкладку «Проверить robots.txt». В поле для текста нужно скопировать блок правил, предназначенных для Яндекса и директиву Host. Яндекс непременно покажет существующие ошибки.

Также можно проверить статус отдельных страниц сайта. Достаточно вставить URL записи в поле «Список URL», и можно будет узнать, разрешена или запрещена данная страница к индексации.

Аналогично можно проверить корректность robots.txt и статус отдельных страниц и в панели вебмастеров Google Webmasters.

Проанализировать список команд в файле robots.txt можно и при помощи онлайн сервисов. Сразу по завершению анализа появятся рекомендации по исправлению файла.

robots.txt и запрет индексации

Файл robots.txt является эффективным инструментом для запрета индексации (отображения в результатах поиска) папок и документов сайта.

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

Исключенные страницы даже при большом их количестве не влияют на ранжирование сайта в Яндексе.

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

Google не индексирует контент страниц, заблокированных через robots.txt. Однако если на эти страницы ведут внешние или внутренние ссылки, данные URL-адреса, могут попасть в индекс.

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