Как разместить файл robots txt. Как редактировать файл robots txt

Robots.txt - это текстовый файл, который содержит параметры индексирования сайта для роботов поисковых систем.

Яндекс поддерживает следующие директивы:

Директива Что делает
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay
Директива Что делает
User-agent * Указывает на робота, для которого действуют перечисленные в robots.txt правила.
Disallow Запрещает индексирование разделов или отдельных страниц сайта.
Sitemap Указывает путь к файлу Sitemap , который размещен на сайте.
Clean-param Указывает роботу, что URL страницы содержит параметры (например, UTM-метки), которые не нужно учитывать при индексировании.
Allow Разрешает индексирование разделов или отдельных страниц сайта.
Crawl-delay Задает роботу минимальный период времени (в секундах) между окончанием загрузки одной страницы и началом загрузки следующей.

* Обязательная директива.

Наиболее часто вам могут понадобиться директивы Disallow, Sitemap и Clean-param. Например:

User-agent: * #указываем, для каких роботов установлены директивы\nDisallow: /bin/ # запрещает ссылки из \"Корзины с товарами\".\nDisallow: /search/ # запрещает ссылки страниц встроенного на сайте поиска\nDisallow: /admin/ # запрещает ссылки из панели администратора\nSitemap: http://example.com/sitemap # указываем роботу на файл sitemap для сайта\nClean-param: ref /some_dir/get_book.pl

Роботы других поисковых систем и сервисов могут иначе интерпретировать эти директивы.

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

Использование кириллицы

Использование кириллицы запрещено в файле robots.txt и HTTP-заголовках сервера.

Для указания имен доменов используйте Punycode . Адреса страниц указывайте в кодировке, соответствующей кодировке текущей структуры сайта.

Пример файла robots.txt :

#Неверно:\nUser-agent: Yandex\nDisallow: /корзина\n\n#Верно:\nUser-agent: Yandex\nDisallow: /%D0%BA%D0%BE%D1%80%D0%B7%D0%B8%D0%BD%D0%B0

Как создать robots.txt

Вопросы и ответы

В Яндекс.Вебмастере на странице «Диагностика сайта» возникает ошибка «Сервер отвечает редиректом на запрос /robots.txt»

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

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

Если ваш robots.txt выполняет перенаправление на другой файл robots.txt (например, при переезде сайта), добавьте сайт, который является целью перенаправления, в Яндекс.Вебмастер и подтвердите права на управление сайтом.

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$

Сначало расскажу, что такое robots.txt.

Robots.txt – файл, который находится в корневой папки сайта, где прописываются специальные инструкции для поисковых роботов. Эти инструкции необходимы для того, чтобЫ при заходе на сайт, робот не учитывал страницу/раздел, другими словами мы закрываем страницу от индексации.

Зачем нужен robots.txt

Файл robots.txt считается ключевым требованием при SEO-оптимизации абсолютно любого сайта. Отсутствие этого файла может негативно сказаться на нагрузку со стороны роботов и медленной индексации и, даже более того, сайт полностью не будет проиндексирован. Соответственно пользователи не смогут перейти на страницы через Яндекс и Google.

Влияние robots.txt на поисковые системы?

Поисковые системы (в особенности Google) проиндексируют cайт, но если файла robots.txt нет, то, как и говорил не все страницы. Если имеется такой файл, то роботы руководствуются правилами, которые указываются в этом файле. Причем существует несколько видов поисковых роботов, если одни могут учитывать правило, то другие игнорируют. В частности, робот GoogleBot не учитывает директиву Host и Crawl-Delay, робот YandexNews совсем недавно перестал учитывать директиву Crawl-Delay, а роботы YandexDirect и YandexVideoParser игнорируют общепринятые директивы в robots.txt (но учитывают те, которые прописаны специально для них).

Нагружают сайт больше всего роботы, которые подгружают контент с вашего сайта. Соответственно, если мы укажем роботу, какие страницы индексировать, а какие игнорировать, а также с какими временными промежутками подгружать контент со страниц (это больше качается крупных сайтов у которых имеется более 100 000 страниц в индексе поисковых систем). Это позволит значительно облегчить роботу индексацию и процесс подгружения контента с сайта.


К ненужным для поисковых систем можно отнести файлы которые относятся к CMS, например, в Wordpress – /wp-admin/. Помимо этого, скрипты ajax, json, отвечающие за всплывающие формы, баннеры, вывод каптчи и так далее.

Для большинства роботов также рекомендую закрыть от индексации все файлы Javascript и CSS. Но для GoogleBot и Yandex такие файлы лучше индексировать, так как они используются поисковыми системами для анализа удобства сайта и его ранжирования.

Что такое директива robots.txt?



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

Что означает User-agent?

Это самая главная директива, которая определяет для каких поисковых роботов будут действовать следовать дальнейшие правила.

Для всех роботов:

Для определенного бота:

User-agent: Googlebot

Регистр в robots.txt не стол важен, писать можно как Googlebot так и googlebot

Поисковые роботы Google







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

основной индексирующий робот Яндекса

Используется в сервисе Яндекс.Картинки

Используется в сервисе Яндекс.Видео

Мультимедийные данные

Поиск по блогам

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

робот, индексирующий пиктограммы сайтов (favicons)

Яндекс.Директ

Яндекс.Метрика

Используется в сервисе Яндекс.Каталог

Используется в сервисе Яндекс.Новости

YandexImageResizer

Поисковый робот мобильных сервисов

Поисковые роботы Bing, Yahoo, Mail.ru, Rambler

Директивы Disallow и Allow

Disallow закрывает от индексирования разделы и страницы вашего сайта. Соответственно Allow наоборот открывает их.

Есть некоторые особенности.

Во первых, дополнительные операторы - *, $ и #. Для чего они используются?

“*” – это любое количество символов и их отсутствие. По умолчанию она уже находится в конце строки, поэтому ставить ее еще раз смысла нет.

“$” – показывает, что символ перед ним должен идти последним.

“#” – комментарий, все что идет после этого символа робот не учитывает.

Примеры использования Disallow:

Disallow: *?s=

Disallow: /category/

Соответственно поисковый робот закроет страницы типа:

Но открыты для индексации будут страницы вида:

Теперь вам необходимо понять, каким образом выполняются правила с вложенностью. Порядок записи директив совершено важен. Наследование правил, определяется по тому какие директории указаны, то есть если мы хотим закрыть страницу/документ от индексации достаточно прописать директиву. Давайте посмотрим на примере

Это наш файл robots.txt

Disallow: /template/

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

Директива Host в robots.txt

Данная директива необходима для указания главного зеркала сайта (часто с www или без). Обратите внимание, что директива host указывается без протокола http://, но с протоколом https://. Директиву учитывают только поисковые роботы Яндекса и Mail.ru, а другими роботами, в том числе GoogleBot правило не будет учтено. Host прописывать 1 раз в файле robots.txt

Пример с http://

Host: website.ru

Пример с https://

Директива Crawl-delay

Устанавливает временной интервал индексирования поисковым роботом страниц сайта. Значение указывается в секундах, и в миллисекундах.

Пример:

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

Оптимальное значение crawl-delay для каждого сайта свое. Для поисковых систем Mail, Bing, Yahoo значение можно выставить минимальное значение 0.25, 0.3, так как роботы эти поисковиков могут переобходить ваш сайт раз в месяц, 2 месяца и так далее (очень редко). Для Яндекса лучше установить большее значение.


Если нагрузка вашего сайта минимальная, то указывать данную директиву смысла нет.

Директива Clean-param

Правило интересно тем, что сообщает краулеру, что страницы с определенными параметрами нет необходимости индексировать. Прописывается 2 агрумента: URL страницы и параметр. Данная директива поддерживается поисковой системой Яндекс.

Пример:

Disallow: /admin/

Disallow: /plugins/

Disallow: /search/

Disallow: /cart/

Disallow: *sort=

Disallow: *view=

User-agent: GoogleBot

Disallow: /admin/

Disallow: /plugins/

Disallow: /search/

Disallow: /cart/

Disallow: *sort=

Disallow: *view=

Allow: /plugins/*.css

Allow: /plugins/*.js

Allow: /plugins/*.png

Allow: /plugins/*.jpg

Allow: /plugins/*.gif

User-agent: Yandex

Disallow: /admin/

Disallow: /plugins/

Disallow: /search/

Disallow: /cart/

Disallow: *sort=

Disallow: *view=

Allow: /plugins/*.css

Allow: /plugins/*.js

Allow: /plugins/*.png

Allow: /plugins/*.jpg

Allow: /plugins/*.gif

Clean-Param: utm_source&utm_medium&utm_campaign

В примере мы прописали правила для 3 разных ботов.

Куда добавить robots.txt?

Добавляется в корневую папку сайта. Помимо, чтобы по нему можно было перейти по ссылке:

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

Яндекс Вебмастер

На вкладке Инструменты выбираете Анализ robots.txt и далее нажимаете проверить

Google Search Console

На вкладке Cканирование выбираете Инструмент проверки файла robots.txt и далее нажимаете проверить.

Заключение:

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

Ну и напоследок, если у вас возникли вопросы задавайте их в комментариях под статьей и еще мне интересно, а как вы прописываете 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, само собой, следует заменить на адрес сайта пользователя.

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

Что такое Robots.txt?

Robots.txt - текстовый файл на сайте, содержащий инструкции для роботов какие страницы разрешены для индексации, а какие нет. Но это не является прямыми указаниями для поисковых машин, скорее инструкции несут рекомендательный характер, например, как пишет Google, если на сайт есть внешние ссылки, то страница будет проиндексирована.

На иллюстрации можно увидеть индексацию ресурса без файла Robots.txt и с ним.

Что следует закрывать от индексации:

  • служебные страницы сайта
  • дублирующие документы
  • страницы с приватными данными
  • результат поиска по ресурсу
  • страницы сортировок
  • страницы авторизации и регистрации
  • сравнения товаров

Как создать и добавить Robots.txt на сайт?

Robots.txt обычный текстовый файл, который можно создать в блокноте, следуя синтаксису стандарта, который будет описан ниже. Для одного сайта нужен только один такой файл.

Файл нужно добавить в корневой каталог сайта и он должен быть доступен по адресу: http://www.site.ru/robots.txt

Синтаксис файла robots.txt

Инструкции для поисковых роботов задаются с помощью директив с различными параметрами.

Директива User-agent

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

Где * является спецсимволом для обозначения любого робота.

Список популярных поисковых роботов:

  • Googlebot — основной робот Google;
  • YandexBot — основной индексирующий робот;
  • Googlebot-Image — робот картинок;
  • YandexImages — робот индексации Яндекс.Картинок;
  • Yandex Metrika — робот Яндекс.Метрики;
  • Yandex Market— робот Яндекс.Маркета;
  • Googlebot-Mobile —индексатор мобильной версии.

Директивы Disallow и Allow

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

Disallow - директива для запрета индексации документов на ресурсе. Синтаксис директивы следующий:

Disallow: /site/

В данном примере от поисковиков были закрыты от индексации все страницы из раздела site.ru/site/

Примечание: Если данная директива будет указана пустой, то это означает, что весь сайт открыт для индексации. Если же указать Disallow: / - это закроет весь сайт от индексации.

  • Для запрета папки сайта следует указать следующее:
    Disallow: /folder/
  • Для запрета только одного файла нужно написать:
    Disallow: /folder/img.jpg
  • Если нужно запретить файлы только определенного разрешения:
    Disallow: /*.css$
  • Allow напротив является разрешающей инструкцией для индексации.
    User-agent: *
    Allow: /site
    Disallow: /

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

Директива Sitemap

Если на сайте есть файл описания структуры сайта sitemap.xml, путь к нему можно указать в robots.txt с помощью директивы Sitemap. Если файлов таких несколько, то можно их перечислить в роботсе:

User-agent: *
Disallow: /site/
Allow: /
Sitemap : http://site.com/sitemap1.xml
Sitemap : http://site.com/sitemap2.xml

Директиву можно указать в любой из инструкций для любого робота.

Директива Host

Host является инструкцией непосредственно для робота Яндекса для указания главного зеркала сайта. Данная директива необходима в том случае, если у сайта есть несколько доменов, по которым он доступен. Указывать Host необходимо в секции для роботов Яндекса:

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

Примечание: Если главным зеркалом сайта является домен с протоколом https, то его нужно указать в роботсе таким образом:
Host: https://site.ru.

В роботсе директива Host учитывается только один раз. Если в файле есть 2 директивы HOST, то роботы Яндекса будут учитывать только первую.

Директива Clean-param

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

Директива Clean-param имеет следующий синтаксис:

Clean-param : p1[&p2&p3&p4&..&pn] [Путь к динамическим страницам]

Рассмотрим пример, на сайте есть динамические страницы:

  • https://site.ru/promo-odezhda/polo.html?kol_from=&price_to=&color=7
  • https://site.ru/promo-odezhda/polo.html?kol_from=100&price_to=&color=7

Для того, чтобы исключить подобные страницы из индекса следует задать директиву таким образом:

Clean-param : kol_from1&price_to2&pcolor /polo.html # только для polo.html
или
Clean-param : kol_from1&price_to2&pcolor / # для всех страниц сайта

Директива Crawl-delay

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

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

Пример использования директивы Crawl-delay:

User-agent: *
Disallow: /site
Crawl-delay : 4

Особенности файла Robots.txt

  • Все директивы указываются с новой строки и не следует перечислять директивы в одной строке
  • Перед директивой не должно быть указано каких-либо других символов (в том числе пробела )
  • Параметры директив необходимо указывать в одну строку
  • Правила в роботс указываются в следующей форме: [Имя_директивы]:[необязательный пробел][значение][необязательный пробел]
  • Параметры не нужно указывать в кавычках или других символах
  • После директив не следует указывать “;”
  • Пустая строка трактуется как конец директивы User-agent, если нет пустой строки перед следующим User-agent, то она может быть проигнорирована
  • В роботс можно указывать комментарии после знака решетки # (даже если комментарий переносится на следующую строку, на след строке тоже следует поставить #)
  • Robots.txt нечувствителен к регистру
  • Если файл роботс имеет вес более 32 Кб или по каким-то причинам недоступен или является пустым, то он воспринимается как Disallow: (можно индексировать все)
  • В директивах «Allow», «Disallow» можно указывать только 1 параметр
  • В директивах «Allow», «Disallow» в параметре директории сайта указываются со слешем (например, Disallow: /site)
  • Использование кириллицы в роботс не допускаются

Спецсимволы robots.txt

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

Пример использования:

User-agent: *
Disallow: /store/* .php # запрещает "/store/ex.php" и "/store/test/ex1.php"
Disallow: /* tpl # запрещает не только "/tpl", но и "/tpl/user"

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

Пример использования $:

User-agent: *
Disallow: /site$ # запрещено для индексации "/site", но не запрещено"/ex.css"
User-agent: *
Disallow: /site # запрещено для индексации и "/site", и "/site.css"
User-agent: *
Disallow: /site$ # запрещен к индексации только "/site"
Disallow: /site*$ # так же, как "Disallow: /site" запрещает и /site.css и /site

Особенности настройки robots.txt для Яндекса

Особенностями настройки роботса для Яндекса является только наличие директории Host в инструкциях. Рассмотрим корректный роботс на примере:

User-agent: Yandex
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Disallow: */css
Host: www.site.com

В данном случаем директива Host указывает роботам Яндекса, что главным зеркалом сайта является www.site.com (но данная директива носит рекомендательный характер).

Особенности настройки robots.txt для Google

Для Google особенность лишь состоит в том, что сама компания рекомендует не закрывать от поисковых роботов файлы с css-стилями и js-скриптами. В таком случае, робот примет такой вид:

User-agent: Googlebot
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Allow: *.css
Allow: *.js
Host: www.site.com

С помощью директив Allow роботам Google доступны файлы стилей и скриптов, они не будут проиндексированы поисковой системой.

Проверка правильности настройки роботс

Проверить robots.txt на ошибки можно с помощью инструмента в панели Яндекс.Вебмастера :


Также при помощи данного инструмента можно проверить разрешены или запрещены к индексации страницы:


Еще одним инструментом проверки правильности роботс является “Инструмент проверки файла robots.txt” в панели Google Search Console:


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

Заключение

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

Пример настройки роботс для WordPress

Правильный robots.txt для Wordpress должен быть составлен таким образом (все, что указано в комментариях не обязательно размещать):

User-agent: Yandex



Host: www.site.ru

User-agent: Googlebot
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Allow: *.css # открыть все файлы стилей
Allow: *.js # открыть все с js-скриптами

User-agent: *
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати


Sitemap: http://site.ru/sitemap1.xml

Пример настройки роботс для Bitrix

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

  • попадание в выдачу большого количества служебных страниц;
  • индексация дублей страниц сайта.

Чтобы избежать подобных проблем, которые могут повлиять на позицию сайта в выдаче, следует правильно настроить файл robots.txt. Ниже приведен пример robots.txt для CMS 1C-Bitrix:

User-Agent: Yandex
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/
HOST: https://site.ru

User-Agent: *
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/

User-Agent: Googlebot
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /bitrix/js/
Allow: /bitrix/templates/
Allow: /bitrix/tools/conversion/ajax_counter.php
Allow: /bitrix/components/main/
Allow: /bitrix/css/
Allow: /bitrix/templates/comfer/img/logo.png
Allow: /personal/cart/
Sitemap: https://site.ru/sitemap.xml

Пример настройки роботс для OpenCart

Правильный robots.txt для OpenCart должен быть составлен таким образом:

User-agent: Yandex
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=


Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Host: site.ru

User-agent: Googlebot
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: /*?page=
Disallow: /*&page=
Disallow: /wishlist
Disallow: /login

Sitemap: http://site.ru/sitemap.xml

Пример настройки роботс для Umi.CMS

Правильный robots.txt для Umi CMS должен быть составлен таким образом (проблемы с дублями страниц в таком случае не должно быть):

User-Agent: Yandex
Disallow: /?
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Host: site.ru

User-Agent: Googlebot
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Allow: *.css
Allow: *.js

User-Agent: *
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs

Sitemap: http://site.ru/sitemap.xml

Пример настройки роботс для Joomla

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

User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Host: www.site.ru

User-agent: Googlebot
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/

Sitemap: http://www.site.ru/sitemap.xml

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

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