Директивы robots txt. Роботы яндекса

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

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

Для чего нужен файл robots.txt

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

Таким образом, файл указывает поисковым роботам, какие директории сайта разрешены для индексирования, и какие этому процессу не подлежат.

Учитывая, что на процесс ранжирования наличие файла не влияет, много сайтов не содержат robots.txt. Но это не совсем верный путь. Рассмотрим преимущества robots.txt, которые он дает ресурсу.

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

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

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

Как создать правильный robots.txt

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

Что нужно прописывать в файле? Обязательно употребление двух директив: User-agent и Disallow. Первая определяет, какому боту адресовано данное послание, вторая показывает, какую страницу или директорию ресурса запрещено индексировать.

Чтобы задать одинаковые правила для всех ботов, можно в директиве User-agent вместо названия прописать символ «звездочку».
Файл robots.txt в таком случае будет выглядеть таким образом:

Кстати, разработчики Гугл неоднократно напоминали веб-мастерам, что файл robots.txt не должен превышать по размерам 500 Кб. Это непременно приведет к ошибкам при индексации. Если создавать файл вручную, то «достичь» такого размера, конечно, нереально. Но вот некоторые CMS, автоматически формирующие содержание robots.txt, могут значительно его «утяжелить».

Простое создание файла для любого поисковика

Если страшно наделать ошибок при написании файла (или просто лень этим заниматься), можно поручить создание нужных директив конструктору. Он прост, как дважды два, но небольшое объяснение по работе с ним все же приведем.

В первом поле прописывается адрес ресурса. Только после этого пользователю представится возможность выбрать поисковую систему, для которой устанавливаются данные правила (можно последовательно выбрать несколько поисковиков). Далее нужно указать папки и файлы, доступ к которым будет запрещен, прописать адрес зеркала сайта, указать расположение карты ресурса.

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

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

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

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

Аналогичную услугу предоставляет сервис «Инструменты для веб-мастеров» от поисковика Google

Создание robots.txt для WordPress , Joomla и Ucoz

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

Можно пытаться внести изменения в них вручную (что при недостатке знаний не очень-то эффективно), а можно воспользоваться опытом более профессиональных коллег. Как говорится, все уже сделано до нас. Например, robots.txt для WordPress может выглядеть таким образом:


Строку www.site.ru, само собой, следует заменить на адрес сайта пользователя.

Файл robots.txt находится в корневом каталоге вашего сайта. Например, на сайте www.example.com адрес файла robots.txt будет выглядеть как www.example.com/robots.txt. Он представляет собой обычный текстовый файл, который соответствует стандарту исключений для роботов , и включает одно или несколько правил, каждое из которых запрещает или разрешает тому или иному поисковому роботу доступ к определенному пути на сайте.

Ниже приведен пример простого файла robots.txt, содержащего два правила, и его интерпретация.

# Rule 1 User-agent: Googlebot Disallow: /nogooglebot/ # Rule 2 User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml

Интерпретация

  1. Агент пользователя с названием Googlebot не должен сканировать каталог http://example.com/nogooglebot/ и его подкаталоги.
  2. У всех остальных агентов пользователя есть доступ ко всему сайту (можно опустить, результат будет тем же, так как полный доступ предоставляется по умолчанию).
  3. Файл Sitemap этого сайта находится по адресу http://www.example.com/sitemap.xml.

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

Формат и расположение

Создать файл robots.txt можно почти в любом текстовом редакторе (он должен поддерживать кодировку ASCII или UTF-8). Не используйте текстовые процессоры: зачастую они сохраняют файлы в проприетарном формате и добавляют в них недопустимые символы, например фигурные кавычки, которые не распознаются поисковыми роботами.

Применяйте инструмент проверки файлов robots.txt при создании и тестировании таких файлов. Он позволяет проанализировать синтаксис файла и узнать, как он будет функционировать на вашем сайте.

Правила в отношении формата и расположения файла

  • Файл должен носить название robots.txt.
  • На сайте должен быть только один такой файл.
  • Файл robots.txt нужно разместить в корневом каталоге сайта. Например, чтобы контролировать сканирование всех страниц сайта http://www.example.com/ , файл robots.txt следует разместить по адресу http://www.example.com/robots.txt . Он не должен находиться в подкаталоге (например, по адресу http://example.com/pages/robots.txt ). В случае затруднений с доступом к корневому каталогу обратитесь к хостинг-провайдеру. Если у вас нет доступа к корневому каталогу сайта, используйте альтернативный метод блокировки, например метатеги .
  • Файл robots.txt можно добавлять по адресам с субдоменами (например, http://website .example.com/robots.txt) или нестандартными портами (например, http://example.com:8181 /robots.txt).
  • Комментариями являются любые строки, начинающиеся с символа решетки (#).

Синтаксис

  • Файл robots.txt должен являться текстовым файлом в кодировке ASCII или UTF-8. Использовать другие символы не разрешается.
  • Файл robots.txt может состоять из одного или нескольких правил .
  • Правило должно содержать несколько директив (инструкций), каждую из которых следует указывать на отдельной строке.
  • Правило содержит следующую информацию:
    • К какому агенту пользователя относится правило.
    • есть доступ .
    • К каким каталогам или файлам у этого агента нет доступа .
  • Правила обрабатываются сверху вниз. Агент пользователя может следовать только одному подходящему для него правилу, которое будет обработано первым.
  • По умолчанию предполагается , что если доступ к странице или каталогу не заблокирован правилом Disallow: , агент пользователя может их обрабатывать.
  • Правила чувствительны к регистру . Так, правило Disallow: /file.asp применимо к URL http://www.example.com/file.asp , но не к http://www.example.com/File.asp .

Директивы, которые используются в файлах robots.txt

  • User-agent: Обязательно к использованию, в одном правиле может быть одно или несколько таких правил. Определяет робота поисковой системы, к которому относится правило. Эта строка является первой в любом правиле. Большинство из них перечислены в базе данных роботов Интернета или в списке поисковых роботов Google . Поддерживается подстановочный знак * для обозначения префикса или суффикса пути или всего пути. Используйте такой знак (*), как указано в примере ниже, чтобы заблокировать все поисковые роботы (кроме роботов AdsBot , которых нужно задавать отдельно). Рекомендуем ознакомиться со списком роботов Google . Примеры: # Example 1: Block only Googlebot User-agent: Googlebot Disallow: / # Example 2: Block Googlebot and Adsbot User-agent: Googlebot User-agent: AdsBot-Google Disallow: / # Example 3: Block all but AdsBot crawlers User-agent: * Disallow: /
  • Disallow: . Указывает на каталог или страницу в корневом домене, которые нельзя сканировать агенту пользователя, определенному выше. Если это страница, должен быть указан полный путь к ней, как в адресной строке браузера. Если это каталог, путь к нему должен заканчиваться косой чертой (/). Поддерживается подстановочный знак * для обозначения префикса или суффикса пути или всего пути.
  • Allow: В каждом правиле должна быть по крайней мере одна директива Disallow: или Allow: . Указывает на каталог или страницу в корневом домене, которые нельзя сканировать агенту пользователя, определенному выше. Используется для того, чтобы отменить правило Disallow и разрешить сканирование подкаталога или страницы в закрытом для сканирования каталоге. Если это страница, должен быть указан полный путь к ней, как в адресной строке браузера. Если это каталог, путь к нему должен заканчиваться косой чертой (/). Поддерживается подстановочный знак * для обозначения префикса или суффикса пути или всего пути.
  • Sitemap: Необязательно, таких директив может быть несколько или совсем не быть. Указывает на расположение файла Sitemap, используемого на этом сайте. URL должен быть полным. Google не обрабатывает и не проверяет варианты URL с префиксами http и https или с элементом www и без него. Файлы Sitemap сообщают Google, какой контент нужно сканировать и как отличить его от контента, который можно или нельзя сканировать. Ознакомьтесь с дополнительными сведениями о файлах Sitemap. Пример: Sitemap: https://example.com/sitemap.xml Sitemap: http://www.example.com/sitemap.xml

Неизвестные ключевые слова игнорируются.

Ещё один пример

Файл robots.txt состоит из одного или нескольких наборов правил. Каждый набор начинается с строки User-agent , которая определяет робота, подчиняющегося правилам в наборе. Вот пример файла с двумя правилами; они объяснены встроенными комментариями:

# Блокировать доступ робота Googlebot к каталогам example.com/directory1/... и example.com/directory2/... # но разрешить доступ к каталогу directory2/subdirectory1/... # Доступ ко всем остальным каталогам разрешен по умолчанию. User-agent: googlebot Disallow: /directory1/ Disallow: /directory2/ Allow: /directory2/subdirectory1/ # Блокировать доступ ко всему сайту другой поисковой системе. User-agent: anothercrawler Disallow: /

Полный синтаксис файла robots.txt

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

Полезные правила

Вот несколько распространенных правил для файла robots.txt:

Правило Пример
Запрет сканирования всего сайта. Следует учесть, что в некоторых случаях URL сайта могут присутствовать в индексе, даже если они не были просканированы. Обратите внимание, что это правило не относится к роботам AdsBot , которых нужно указывать отдельно. User-agent: * Disallow: /
Чтобы запретить сканирование каталога и все его содержание , поставьте после названия каталога косую черту. Не используйте файл robots.txt для защиты конфиденциальной информации! Для этих целей следует применять аутентификацию. URL, сканирование которых запрещено файлом robots.txt, могут быть проиндексированы, а содержание файла robots.txt может просмотреть любой пользователь, и таким образом узнать местоположение файлов с конфиденциальной информацией. User-agent: * Disallow: /calendar/ Disallow: /junk/
Разрешение сканирования только для одного поискового робота User-agent: Googlebot-news Allow: / User-agent: * Disallow: /
Разрешение сканирования для всех поисковых роботов, за исключением одного User-agent: Unnecessarybot Disallow: / User-agent: * Allow: /

Чтобы запретить сканирование отдельной страницы , укажите эту страницу после косой черты.

Disallow: /private_file.html

Чтобы скрыть определенное изображение от робота Google Картинок

User-agent: Googlebot-Image Disallow: /images/dogs.jpg

Чтобы скрыть все изображения с вашего сайта от робота Google Картинок

User-agent: Googlebot-Image Disallow: /

Чтобы запретить сканирование всех файлов определенного типа (в данном случае GIF)

User-agent: Googlebot Disallow: /*.gif$

Чтобы заблокировать определенные страницы сайта, но продолжать на них показ объявлений AdSense , используйте правило Disallow для всех роботов, за исключением Mediapartners-Google. В результате этот робот сможет получить доступ к удаленным из результатов поиска страницам, чтобы подобрать объявления для показа тому или иному пользователю.

User-agent: * Disallow: / User-agent: Mediapartners-Google Allow: /
Чтобы указать URL, заканчивающиеся на определенные символы, применяйте символ $ . Например, для URL, заканчивающихся на.xls , используйте следующий код: User-agent: Googlebot Disallow: /*.xls$

Была ли эта статья полезна?

Как можно улучшить эту статью?

Robots.txt is a text file that contains site indexing parameters for the search engine robots.

How to set up robots.txt

    Create a file named robots.txt in a text editor and fill it in using the guidelines below.

    Check the file in the Yandex.Webmaster service (Robots.txt analysis in the menu).

    Upload the file to your site"s root directory.

The User-agent directive

The Yandex robot supports the robots exclusion standard with enhanced capabilities described below.

The Yandex robot"s work is based on sessions: for every session, there is a pool of pages for the robot to download.

A session begins with the download of the robots.txt file. If the file is missing, is not a text file, or the robot"s request returns an HTTP status other than 200 OK , the robot assumes that it has unrestricted access to the site"s documents.

In the robots.txt file, the robot checks for records starting with User-agent: and looks for either the substring Yandex (the case doesn"t matter) or * . If a string User-agent: Yandex is detected, directives for User-agent: * are ignored. If the User-agent: Yandex and User-agent: * strings are not found, the robot is considered to have unlimited access.

You can enter separate directives for the following Yandex robots:

  • YandexBot - The main indexing robot.
  • YandexDirect - Downloads information about the content on Yandex Advertising Network partner sites for selecting relevant ads. Interprets robots.txt in a special way .
  • "YandexDirectDyn" - Generates dynamic banners. Interprets robots.txt in a special way .
  • YandexMedia - Indexes multimedia data.
  • YandexImages - Indexer of .
  • YaDirectFetcher - The robot. Interprets robots.txt in a special way .
  • YandexBlogs - The Blog search Blog search robot. Indexes posts and comments.
  • YandexNews - The Yandex.News robot.
  • YandexPagechecker - .
  • YandexMetrika - The robot.
  • YandexMarket - TheYandex.Market robot.
  • YandexCalendar - The Yandex.Calendar Yandex.Calendar robot.

If there are directives for a specific robot, directives User-agent: Yahoo and User-agent: * aren"t used.

User-agent: YandexBot # will be used only by the main indexing robot Disallow: /*id= User-agent: Yandex # will be used by all Yandex robots Disallow: /*sid= # except for the main indexing robot User-agent: * # won"t be used by Yandex robots Disallow: /cgi-bin

Disallow and Allow directives

To prohibit the robot from accessing your site or certain sections of it, use the Disallow directive.

User-agent: YandexDisallow: / # blocks access to the whole site User-agent: YandexDisallow: /cgi-bin # blocks access to the pages # starting with "/cgi-bin"

According to the standard, you should insert a blank line before every User-agent directive.

The # character designates commentary. Everything following this character, up to the first line break, is disregarded.

Use the Allow directive to allow the robot to access specific parts of the site or the entire site.

User-agent: Yandex Allow: /cgi-bin Disallow: / # prohibits downloading anything except for the pages # starting with "/cgi-bin"

Note. Empty line breaks aren"t allowed between the User-agent , Disallow and Allow directives.

Combining directives

The Allow and Disallow directives from the corresponding User-agent block are sorted according to URL prefix length (from shortest to longest) and applied in order. If several directives match a particular site page, the robot selects the last one in the sorted list. This way the order of directives in the robots.txt file doesn"t affect the way they are used by the robot. Examples:

# Source robots.txt: User-agent: Yandex Allow: /catalog Disallow: / # Sorted robots.txt: User-agent: Yandex Disallow: / Allow: /catalog # only allows downloading pages # starting with "/catalog" # Source robots.txt: User-agent: Yandex Allow: /Allow: /catalog/auto Disallow: /catalog # Sorted robots.txt: User-agent: Yandex Allow: / Disallow: /catalog Allow: /catalog/auto # prohibits downloading pages starting with "/catalog", # but allows downloading pages starting with "/catalog/auto".

Allow and Disallow directives without parameters

If the directives don"t contain parameters, the robot handles the data as follows:

User-agent: Yandex Disallow: # same as Allow: / User-agent: Yandex Allow: # isn"t taken into account by the robot

Using the special characters * and $

You can use the special characters * and $ to set regular expressions when specifying paths for the Allow and Disallow directives. The * character indicates any sequence of characters (or none). Examples:

User-agent: Yandex Disallow: /cgi-bin/*.aspx # prohibits "/cgi-bin/example.aspx" # and "/cgi-bin/private/test.aspx" Disallow: /*private # prohibits both "/private", # and "/cgi-bin/private"

The $ character

By default, the * character is appended to the end of every rule described in the robots.txt file. Example:

User-agent: Yandex Disallow: /cgi-bin* # blocks access to pages # starting with "/cgi-bin"Disallow: /cgi-bin # the same

To cancel * at the end of the rule, use the $ character, for example:

User-agent: Yandex Disallow: /example$ # prohibits "/example", # but allows "/example.html" User-agent: Yandex Disallow: /example # prohibits both "/example", # and "/example.html" The $ character doesn"t forbid * at the end, that is: User-agent: Yandex Disallow: /example$ # prohibits only "/example" Disallow: /example*$ # exactly the same as "Disallow: /example" # prohibits both /example.html and /example

The Sitemap directive

If you use a Sitemap file to describe your site"s structure, indicate the path to the file as a parameterof the Sitemap directive (if you have multiple files, indicate all paths). Example:

User-agent: Yandex Allow: / sitemap: https://example.com/site_structure/my_sitemaps1.xml sitemap: https://example.com/site_structure/my_sitemaps2.xml

The directive is intersectional, meaning it is used by the robot regardless of its location in robots.txt .

The robot remembers the path to your file, processes your data and uses the results during the next visit to your site.

The Crawl-delay directive

If the server is overloaded and it isn"t possible to process downloading requests, use the Crawl-delay directive. You can specify the minimum interval (in seconds) for the search robot to wait after downloading one page, before starting to download another.

To maintain compatibility with robots that may deviate from the standard when processing robots.txt , add the Crawl-delay directive to the group that starts with the User-Agent entry right after the Disallow and Allow directives.

The Yandex search robot supports fractional values for Crawl-Delay , such as "0.5". This doesn"t mean that the search robot will access your site every half a second, but it may speed up the site processing.

User-agent: Yandex Crawl-delay: 2 # sets a 2-second timeout User-agent: * Disallow: /search Crawl-delay: 4.5 # sets a 4.5-second timeout

The Clean-param directive

If your site page addresses contain dynamic parameters that don"t affect the content (for example, identifiers of sessions, users, referrers, and so on), you can describe them using the Clean-param directive.

The Yandex robot uses this information to avoid reloading duplicate information. This improves the robot"s efficiently and reduces the server load.

For example, your site contains the following pages:

Www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123

The ref parameter is only used to track which resource the request was sent from. It doesn"t change the page content. All three URLs will display the same page with the book_id=123 book. Then, if you indicate the directive in the following way:

User-agent: Yandex Disallow: Clean-param: ref /some_dir/get_book.pl

the Yandex robot will converge all the page addresses into one:

Www.example.com/some_dir/get_book.pl?ref=site_1&book_id=123,

If a page without parameters is available on the site:

Www.example.com/some_dir/get_book.pl?book_id=123

all other URLs are replaced with it after the robot indexes it. Other pages of your site will be crawled more often, because there will be no need to update the pages:

Www.example.com/some_dir/get_book.pl?ref=site_2&book_id=123 www.example.com/some_dir/get_book.pl?ref=site_3&book_id=123

Directive syntax

Clean-param: p0[&p1&p2&..&pn]

In the first field, list the parameters that must be disregarded, separated by the & character. In the second field, indicate the path prefix for the pages the rule should apply to.

The prefix can contain a regular expression in the format similar to the one used in the robots.txt file, but with some restrictions: you can only use the characters A-Za-z0-9.-/*_ . However, * is interpreted in the same way as in robots.txt . A * is always implicitly appended to the end of the prefix. For example:

Clean-param: s /forum/showthread.php

means that the s parameter is disregarded for all URLs that begin with /forum/showthread.php . The second field is optional, and in this case the rule will apply to all pages on the site. It is case sensitive. The maximum length of the rule is 500 characters. For example:

Clean-param: abc /forum/showthread.php Clean-param: sid&sort /forum/*.php Clean-param: someTrash&otherTrash

Additional examples

#for addresses like:www.example1.com/forum/showthread.php?s=681498b9648949605&t=8243 www.example1.com/forum/showthread.php?s=1e71c4427317a117a&t=8243 #robots.txt will contain the following: User-agent: Yandex Disallow: Clean-param: s /forum/showthread.php #for addresses like:www.example2.com/index.php?page=1&sort=3a&sid=2564126ebdec301c607e5df www.example2.com/index.php?page=1&sort=3a&sid=974017dcd170d6c4a5d76ae #robots.txt will contain the following: User-agent: Yandex Disallow: Clean-param: sid /index.php #if there are several of these parameters:www.example1.com/forum_old/showthread.php?s=681498605&t=8243&ref=1311 www.example1.com/forum_new/showthread.php?s=1e71c417a&t=8243&ref=9896 #robots.txt will contain the following: User-agent: Yandex Disallow: Clean-param: s&ref /forum*/showthread.php #if the parameter is used in multiple scripts:www.example1.com/forum/showthread.php?s=681498b9648949605&t=8243 www.example1.com/forum/index.php?s=1e71c4427317a117a&t=8243 #robots.txt will contain the following: User-agent: Yandex Disallow: Clean-param: s /forum/index.php Clean-param: s /forum/showthread.php

Using Cyrillic characters

The use of the Cyrillic alphabet is not allowed in robots.txt file and HTTP server headers.

For domain names, use Punycode . For page addresses, use the same encoding as the one used for the current site structure.

Example of the robots.txt file:

#Incorrect: User-agent: Yandex Disallow: /корзина Sitemap: сайт.рф/sitemap.xml #Correct: User-agent: Yandex Disallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0 Sitemap: http://xn--80aswg.xn--p1ai/sitemap.xml

Additional information

The Yandex robot supports only the robots.txt directives listed on this page. The file processing rules described above represent an extension of the basic standard. Other robots may interpret robots.txt contents in a different way.

The results when using the extended robots.txt format may differ from results that use the basic standard, particularly:

User-agent: Yandex Allow: / Disallow: /# without extensions everything was prohibited because "Allow: /" was ignored, # with extensions supported, everything is allowed User-agent: Yandex Disallow: /private*html # without extensions, "/private*html" was prohibited, # with extensions supported, "/private*html", # "/private/test.html", "/private/html/test.aspx", and so on are prohibited as well User-agent: Yandex Disallow: /private$ # without extensions supported, "/private$" and "/private$test", and so on were prohibited, # with extensions supported, only "/private" is prohibited User-agent: * Disallow: / User-agent: Yandex Allow: / # without extensions supported, because of the missing line break, # "User-agent: Yandex" would be ignored # the result would be "Disallow: /", but the Yandex robot # parses strings based on the "User-agent:" substring. # In this case, the result for the Yandex robot is "Allow: /" User-agent: * Disallow: / # comment1... # comment2... # comment3... User-agent: Yandex Allow: / # same as in the previous example (see above)

Examples using the extended robots.txt format:

User-agent: Yandex Allow: /archive Disallow: / # allows everything that contains "/archive"; the rest is prohibited User-agent: Yandex Allow: /obsolete/private/*.html$ # allows HTML files # in the "/obsolete/private/... path" Disallow: /*.php$ # probibits all "*.php" on siteDisallow: /*/private/ # prohibits all subpaths containing # "/private/", but the Allow above negates # part of the prohibition Disallow: /*/old/*.zip$ # prohibits all "*.zip" files containing # "/old/" in the path User-agent: Yandex Disallow: /add.php?*user= # prohibits all "add.php?" scripts with the " user " option

When forming the robots.txt file, you should keep in mind that the robot places a reasonable limit on its size. If the file size exceeds 32 KB, the robot assumes it allows everything, meaning it is interpreted the same way as:

User-agent: Yandex Disallow:

Similarly, robots.txt is assumed to allow everything if it couldn"t be downloaded (for example, if HTTP headers are not set properly or a 404 Not found status is returned).

Exceptions

A number of Yandex robots download web documents for purposes other than indexing. To avoid being unintentionally blocked by the site owners, they may ignore the robots.txt directives designed for random robots (User-agent: *).

In addition, robots may ignore some robots.txt restrictions for certain sites if there is an agreement between “Yandex” and the owners of those sites.

Attention. If such a robot downloads a document that the main Yandex robot can"t access, this document will never be indexed and won"t be found in search results.

Yandex robots that don"t follow common disallow directives in robots.txt :

  • YaDirectFetcher downloads ad landing pages to check their availability and content. This is needed for placing ads in the Yandex search results and on partner sites. When crawling a site, the robot does not use the robots.txt file and ignores the directives set for it.
  • YandexCalendar regularly downloads calendar files by users" requests. These files are often located in directories prohibited from indexing.
  • YandexDirect downloads information about the content of Yandex Advertising network partner sites to identify their topic categories to match relevant advertising.
  • YandexDirectDyn is the robot that generates dynamic banners.
  • YandexMobileBot downloads documents to determine if their layout is suitable for mobile devices.
  • YandexAccessibilityBot downloads pages to check their accessibility for users.
  • YandexScreenshotBot takes a screenshot of a page.
  • YandexMetrika is the robot.
  • YandexVideoParser is the indexer.
  • YandexSearchShop regularly downloads product catalogs in YML files by users" requests. These files are often placed in directories prohibited for indexing.

To prevent this behavior, you can restrict access for these robots to some pages or the whole site using the robots.txt directives, for example:

User-agent: YandexCalendar Disallow: / User-agent: YandexMobileBot Disallow: /private/*.txt$

Виды роботов Яндекса

  • Yandex/1.01.001 (compatible; Win16; I) - основной индексирующий робот
  • Yandex/1.01.001 (compatible; Win16; P) - индексатор картинок
  • Yandex/1.01.001 (compatible; Win16; H) - робот, определяющий зеркала сайтов
  • Yandex/1.02.000 (compatible; Win16; F) - робот, индексирующий пиктограммы сайтов (favicons)
  • Yandex/1.03.003 (compatible; Win16; D) - робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
  • Yandex/1.03.000 (compatible; Win16; M) - робот, обращающийся при открытии страницы по ссылке «Найденные слова»
  • YaDirectBot/1.0 (compatible; Win16; I) - робот, индексирующий страницы сайтов, участвующих в Рекламной сети Яндекса
  • YandexBlog/0.99.101 (compatible; DOS3.30,B) – робот, индексирующий xml-файлы для поиска по блогам.
  • YandexSomething/1.0 – робот, индексирующий новостные потоки партнеров Яндекс-Новостей.
  • Bond, James Bond (version 0.07) - робот, заходящий на сайты из подсети Яндекса. Официально никогда не упоминался. Ходит выборочно по страницам. Referer не передает. Картинки не загружает. Судя по повадкам, робот занимается проверкой сайтов на нарушения – клоакинг и пр.

IP-адреса роботов Яндекса

IP-адресов, с которых «ходит» робот Яндекса, много, и они могут меняться. Список адресов не разглашается.

Кроме роботов у Яндекса есть несколько агентов-«простукивалок», которые определяют, доступен ли в данный момент сайт или документ, на который стоит ссылка в соответствующем сервисе.

  • Yandex/2.01.000 (compatible; Win16; Dyatel; C) - «простукивалка» Яндекс.Каталога. Если сайт недоступен в течение нескольких дней, он снимается с публикации. Как только сайт начинает отвечать, он автоматически появляется в Каталоге.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; Z) - «простукивалка» Яндекс.Закладок. Ссылки на недоступные сайты помечаются серым цветом.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; D) - «простукивалка» Яндекс.Директа. Она проверяет корректность ссылок из объявлений перед модерацией. Никаких автоматических действий не предпринимается.
  • Yandex/2.01.000 (compatible; Win16; Dyatel; N) - «простукивалка» Яндекс.Новостей. Она формирует отчет для контент-менеджера, который оценивает масштаб проблем и, при необходимости, связывается с партнером.

Директива Host

Во избежания возникновения проблем с зеркалами сайта рекомендуется использовать директиву «Host». Директива «Host» указывает роботу Яндекса на главное зеркало данного сайта. С директивой «Disallow» никак не связана.

User-agent: Yandex
Disallow: /cgi-bin
Host: www.site.ru

User-agent: Yandex
Disallow: /cgi-bin
Host: site.ru

в зависимости от того что для вас оптимальнее.

Вопрос: Когда планируется своевременное соблюдение директивы Host: в robots.txt? Если сайт индексируется как www.site.ru, когда указано Host: site.ru уже после того, как robots.txt был размещен 1–2 недели, то при этом сайт с www и без www не склеивается более 1–2 месяца и в Яндексе существуют одновременно 2 копии частично пересекающихся сайтов (один 550 страниц, другой 150 страниц, при этом 50 страниц одинаковых). Прокомментируйте, пожалуйста, проблемы с работой «зеркальщика».
Ответ: Расширение стандарта robots.txt, введенное Яндексом, директива Host - это не команда считать зеркалами два любых сайта, это указание, какой сайт из группы, определенных автоматически как зеркала, считать главным. Следовательно, когда сайты будут идентифицированы как зеркала, директива Host сработает.

HTML-тег

Робот Яндекса поддерживает тег noindex, который запрещает роботу Яндекса индексировать заданные (служебные) участки текста. В начале служебного фрагмента ставится , а в конце - , и Яндекс не будет индексировать данный участок текста.

Файл sitemap.xml и правильный robots.txt для сайта - это два обязательных документа, которые способствуют быстрому и полноценному индексированию всех необходимых страниц веб-ресурса поисковыми роботами. Правильная индексация сайта в Яндексе и Google - залог успешного продвижения блога в поисковых системах.

Как сделать карту сайта в формате XML и для чего она нужна я уже писал . А сейчас давайте поговорим о том, как создать правильный robots.txt для сайта на Вордпресс и для чего он вообще нужен. Подробную информацию об этом файле можно получить у самих Яндекса и Гугла, соответственно и . Я же коснусь самой сути и затрону основные настройки robots.txt для WordPress на примере своего файла.

Зачем нужен файл robots.txt для сайта

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

Правильная настройка robots.txt позволит:

  • исключить из индекса дубликаты и различные мусорные страницы;
  • наложить запрет на индексацию страниц, файлов и папок, которые мы хотим скрыть;
  • вообще отказать в индексации некоторым поисковым роботам (например, Yahoo, чтобы скрыть от конкурентов информацию о входящих ссылках);
  • указать главное зеркало сайта (с www или без www);
  • указать путь к карте сайта sitemap.xml.

Как создать правильный robots.txt для сайта

Для этой цели существуют специальные генераторы и плагины, но правильнее это сделать вручную.

Надо просто создать обычный текстовый файл с названием robots.txt, воспользовавшись любым текстовым редактором (например, Блокнотом или Notepad++) и загрузить его на хостинг в корневую папку блога. В этом файле надо прописать определенные директивы, т.е. правила индексации для роботов Яндекса, Гугла и др.

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

Правила создания и директивы robots.txt

Для успешной поисковой оптимизации блога надо знать некоторые правила создания robots.txt:

  • Отсутствие или пустой файл robots.txt будет означать, что поисковикам разрешено индексировать все содержание веб-ресурса.
  • robots.txt должен открываться по адресу ваш сайт.ru/robots.txt , отдавая роботу код ответа 200 OK и иметь размер не более 32 Кб. Файл, который не удастся открыть (например, из-за 404 ошибки) или большего размера, будет считаться разрешающим.
  • Количество директив в файле не должно быть больше 1024. Длина одной строки – не более 1024 символов.
  • Правильный файл robots.txt может иметь несколько инструкций, каждая из которых должна начинаться с директивы User-agent и должна содержать хотя бы одну директиву Disallow. Обычно пишут инструкции в robots.txt для Google и всех остальных роботов и отдельно для Яндекса.

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

User-agent – указывает, какому поисковому роботу адресована инструкция.

Символ “*” означает, что это относится ко всем роботам, например:

User-agent: *

Если нам надо создать правило в robots.txt для Яндекса, то пишем:

User-agent: Yandex

Если указана директива для конкретного робота, директива User-agent: * ним не учитывается.

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

  • Запрет индексации всего сайта всем роботам:

    User-agent: *
    Disallow: /

  • Запрещено индексировать Яндексу все страницы, начинающиеся с /wp-admin:

    User-agent: Yandex
    Disallow: /wp-admin

  • Пустая директива Disallow разрешает индексировать все и аналогична Allow. Например, разрешаю индексировать Яндексу весь сайт:

    User-agent: Yandex
    Disallow:

  • И наоборот, запрещаю индексировать все страницы всем поисковым роботам:

    User-agent: *
    Allow:

  • Директивы Allow и Disallow из одного блока User-agent сортируются по длине префикса URL и выполняются последовательно. Если для одной страницы сайта подходит несколько директив, то выполняется последняя в списке. Теперь на использование директив роботом порядок их написания не имеет значения. Если у директив префиксы одинаковой длины, то первой выполняется Allow. Такие правила вступили в силу с 8.03.12 года. Например, разрешает индексировать только страницы начинающиеся с /wp-includes:

    User-agent: Yandex
    Disallow: /
    Allow: /wp-includes

Sitemap – указывает адрес карты сайта XML. На одном сайте может быть несколько директив Sitemap, которые могут быть вложенными. Все адреса файлов Sitemap надо указать в robots.txt, чтобы ускорить индексацию сайта:

Sitemap: http://сайт/sitemap.xml.gz
Sitemap: http://сайт/sitemap.xml

Host – сообщает роботу-зеркальщику, какое зеркало сайта считать главным.

Если сайт доступен по нескольким адресам (например, с www и без www), то это создает полные дубли страниц, за которые можно попасть под фильтр. Также, в этом случае, может быть проиндексирована не основная страница, а основная, наоборот, будет исключена из индекса поисковой системы. Чтобы этого не допустить служит директива Host, которая предназначена в файле robots.txt только для Яндекса и может быть только одна. Пишется она после Disallow и Allow и выглядит так:

Host: сайт

Crawl-delay – задает задержку между закачкой страниц в секундах. Используется, если идет большая нагрузка и сервер не успевает обрабатывать запросы. На молодых сайтах лучше директиву Crawl-delay не использовать. Пишется она так:

User-agent: Yandex
Crawl-delay: 4

Clean-param – поддерживается только Яндексом и служит для устранения дубликатов страниц с переменными, склеивая их в одну. Тем самым робот Яндекса не будет много раз закачивать похожие страницы, например, связанные с реферальными ссылками. Я пока этой директивой не пользовался, но в помощи по robots.txt для Яндекса, по ссылке в начале статьи, можно ознакомиться с этой директивой подробно.

Спецсимволы * и $ используются в robots.txt для указания путей директив Disallow и Allow:

  • Спецсимвол “*” означает любую последовательность символов. Например, Disallow: /*?* означает запрет на любые страницы, где в адресе встречается “?”, не зависимо от того, какие символы идут до и после этого знака. По умолчанию спецсимвол “*” добавляется к концу каждого правила, даже если он не прописан специально.
  • Символ “$” отменяет “*” на конце правила и означает строгое соответствие. Например, директива Disallow: /*?$ будет запрещать индексацию страниц, заканчивающихся знаком “?”.

Пример robots.txt для WordPress

Вот пример моего файла robots.txt для блога на движке Вордпресс:

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: */feed Disallow: /*?* Disallow: /?s= 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: */feed Disallow: /*?* Disallow: /?.ru/sitemap.xml..xml

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: */feed Disallow: /*?* Disallow: /?s= 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: */feed Disallow: /*?* Disallow: /?.ru/sitemap.xml..xml

Чтобы не морочить себе голову с созданием правильного robots.txt для WordPress, можете использовать этот файл. Проблем с индексацией нет. У меня стоит скрипт защиты от копирования, поэтому будет удобнее готовый robots.txt скачать и загрузить его на свой хостинг. Только не забудьте заменить имя моего сайта на свое в директивах Host и Sitemap.

Полезные дополнения по правильной настройке файла robots.txt для WordPress

Если на вашем блоге Вордпресс установлены древовидные комментарии, то они создают дубли страниц вида ?replytocom= . В robots.txt такие страницы закрыты директивой Disallow: /*?* . Но это не выход и запреты лучше удалить, а с replytocom бороться другим способом. Каким, .

Таким образом, актуальный robots.txt на июль 2014 года выглядит так:

User-agent: * Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes User-agent: Yandex Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Host: site.ru User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ Sitemap: http://site.ru/sitemap.xml

User-agent: * Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes User-agent: Yandex Disallow: /wp-includes Disallow: /wp-feed Disallow: /wp-content/plugins Disallow: /wp-content/cache Disallow: /wp-content/themes Host: site.ru User-agent: Googlebot-Image Allow: /wp-content/uploads/ User-agent: YandexImages Allow: /wp-content/uploads/ Sitemap: http://site.ru/sitemap.xml

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

User-agent: Mediapartners-Google
Disallow:

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

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

Disallow: /author/
Disallow: /tag
Disallow: /category/*/*
Disallow: /20*

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

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

  • Сергей Савенков

    какой то “куцый” обзор… как будто спешили куда то