Директива crawl delay служит для указания. Где находится robots txt, как увидеть его? Выводы, предположения и возможная польза

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

How to set up robots.txt

  1. Create a file named robots.txt in a text editor and fill it in using the guidelines below.
  2. Check the file in the Yandex.Webmaster service (Robots.txt analysis in the menu).
  3. 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, который поможет нам запретить индексировать то, что не содержит основного контента (файлы движка и дубли контента) и именно о нем и пойдет речь в этой статье, но кроме этого существует еще один важный инструмент - карта сайта (Sitemap xml).

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

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

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

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

Хорошим решением будет запрет всего лишнего в robots.txt (все буквы в названии должны быть в нижнем регистре - без заглавных букв).

С его помощью мы сможем влиять на процесс индексации сайта Яндексом и Google. Представляет он из себя обычный текстовый файл, который вы сможете создать и в дальнейшем редактировать в любом текстовом редакторе (например, Notepad++). Поисковый бот будет искать этот файл в корневом каталоге вашего ресурса и если не найдет, то будет загонять в индекс все, до чего сможет дотянуться.

Поэтому после написания требуемого роботса, его нужно сохранить в корневую папку, например, с помощью Ftp клиента Filezilla так, чтобы он был доступен, например, по такому адресу:

Https://сайт/robots.txt

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

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

Директивы и правила написания файла robots.txt (disallow, user-agent, host)

Роботс имеет совсем не сложный синтаксис, который очень подробно описан, например, в хелпе яндекса. Обычно в нем указывается, для какого поискового бота предназначены описанные ниже директивы: имя бота ("User-agent"), разрешающие ("Allow") и запрещающие ("Disallow"), а также еще активно используется "Sitemap" для указания поисковикам, где именно находится файл карты.

Еще полезно указать в этом файле, какое из зеркал вашего вебпроекта является главным в специальной директиве "Host", которую понимает только Яндекс. Если даже у вашего ресурса нет зеркал, то полезно будет указать, какой из вариантов написания является главным - с www или без него. Т.к. это тоже является своего рода зеркалированием. Об этом я подробно рассказывал в статье про 301 редирект для доменов с WWW и без него.

Теперь поговорим немного о синтаксисе этого файла. Директивы в robots.txt имеют следующий вид:

<поле>:<пробел><значение><пробел>

<поле>:<пробел><значение><пробел>
Правильный код должен содержать хотя бы одну директиву «Disallow» после каждой записи «User-agent». Пустой файл предполагает разрешение на индексирование всего сайта.

Директива «User-agent» должна содержать название поискового бота. При помощи нее можно настроить правила поведения для каждого конкретного поисковика (например, создать запрет индексации отдельной папки только для Яндекса). Пример написания «User-agent», адресованной всем ботам зашедшим на ваш ресурс, выглядит так:

User-agent: *
Если вы хотите в «User-agent» задать определенные условия только для какого-то одного бота, например, Яндекса, то нужно написать так:

User-agent: Yandex
Бот каждой поисковой системы имеет своё название (например, для рамблера это StackRambler). Здесь я приведу список самых известных из них:

Google http://www.google.com Googlebot Yahoo! http://www.yahoo.com Slurp (или Yahoo! Slurp) AOL http://www.aol.com Slurp MSN http://www.msn.com MSNBot Live http://www.live.com MSNBot Ask http://www.ask.com Teoma AltaVista http://www.altavista.com Scooter Alexa http://www.alexa.com ia_archiver Lycos http://www.lycos.com Lycos Яндекс http://www.ya.ru Yandex Рамблер http://www.rambler.ru StackRambler Мэйл.ру http://mail.ru Mail.Ru Aport http://www.aport.ru Aport Вебальта http://www.webalta.ru WebAlta (WebAlta Crawler/2.0)

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

Приведу несколько простых примеров использования директив с объяснением его действий.

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

User-agent: * Disallow:

2. Следующий код, напротив, полностью запрещает всем поисковикам добавлять в индекс страницы этого ресурса. Устанавливает это Disallow с «/» в поле значения.

User-agent: * Disallow: /

3. В этом случае будет запрещаться всем ботам просматривать содержимое каталога /image/ (http://mysite.ru/image/ - абсолютный путь к этому каталогу)

User-agent: * Disallow: /image/

4. В приведенном ниже примере будут запрещены директория «image», а так же все файлы и директории, начинающиеся с символов «image», т. е. файлы: «image.htm», «images.htm», каталоги: «image», «images1», «image34» и т. д.):

User-agent: * Disallow: /image

5. При описании путей для директив Allow-Disallow можно использовать символы "*" и "$", задавая, таким образом, определенные логические выражения. Символ "*" означает любую (в том числе пустую) последовательность символов. Следующий пример запрещает всем поисковикам индексацию файлов с расширение «.aspx»:

User-agent: * Disallow: *.aspx

Во избежания возникновения неприятных проблем с зеркалами сайта рекомендуется добавлять в robots.txt директиву Host, которая указывает боту Yandex на главное зеркало. По правилам написания в записи для User-agent должна быть хотя бы одна директива Disallow (обычно ставят пустую, ничего не запрещающую):

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

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

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

Директива Sitemap указывает на местоположение файла карты сайта (обычно он называется Sitemap.xml, но не всегда). В качестве параметра указывается путь к этому файлу, включая http:// (т.е. его Урл). Например:

Sitemap: http://site.ru/sitemap.xml
Мета-тег Robots - помогает закрыть дубли контента

Существует еще один способ настроить (разрешить или запретить) индексацию отдельных страниц вебсайта, как для Яндекса, так и для Гугле. Для этого внутри тега «HEAD» нужной вебстраницы дописывается МЕТА-тег Robots с нужными параметрами, и так повторяется для всех документов, к которым нужно применить то или иное правило (запрет или разрешение). Выглядеть это может, например, так:

... ...

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

Существуют только две пары параметров у этого метатега: index и follow:

Index - указывают, может ли робот проводить индексацию данного документа
Follow - может ли он следовать по ссылкам, найденным в этом документе
Значения по умолчанию – «index» и «follow». Есть также укороченный вариант написания с использованием «all» и «none», которые обозначают активность обоих параметров или, соответственно, наоборот: all=index,follow и none=noindex,nofollow.

Для блога на WordPress вы сможете настроить мета-тег Robots, например, с помощью плагина All in One SEO Pack . Ну все, с теорией покончено и пора переходить к практике, а именно к составлению оптимальных robots.txt для Joomla, SMF и WordPress.

Как известно, у проектов, созданных на основе какого-либо движка (Joomla, WordPress, SMF и др), имеется множество вспомогательных объектов не несущих никакой информативной нагрузки.

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

Но фишка в том, что в большинстве CMS контент хранится не в файликах, а в базе данных, к которой поисковым ботам никак не добраться. Полазив по мусорным объектам движка, бот исчерпает отпущенное ему время и уйдет не солоно хлебавши.

Кроме того, следует стремиться к уникальности контента на своем проекте и не следует допускать полного или даже частичного дублирования контента (информационного содержимого). Дублирование может возникнуть в том случае, если один и тот же материал будет доступен по разным адресам (URL).

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

Если ваш проект создан на основе какого-либо движка, то дублирование контента будет иметь место с высокой вероятностью, а значит нужно с ним бороться, в том числе и с помощью запрета в robots.txt , а особенно в мета-теге, ибо в первом случае Google запрет может и проигнорировать, а вот на метатег наплевать он уже не сможет (так воспитан).

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

Но если с помощью описанного выше мета-тега создать запрет для архива тегов и временного архива (можно теги оставить, а запретить индексацию содержимого рубрик), то дублирования контента не возникнет. Для этой цели в WordPress лучше всего будет воспользоваться возможностями плагина All in One SEO Pack, ссылку на описание которого ищите чуть выше по тексту.

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

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

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

Правильные robots.txt для Joomla, WordPress и SMF

Теперь давайте рассмотрим конкретные примеры роботса, предназначенного для разных движков - Joomla, WordPress и SMF. Естественно, что все три варианта, созданные для разных CMS, будут существенно (если не сказать кардинально) отличаться друг от друга. Правда, у всех у них будет один общий момент и момент этот связан с поисковой системой Яндекс.

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

Для нее советуют использовать отдельный блог User-agent, предназначенный только для Яндекса (User-agent: Yandex). Это связано с тем, что остальные поисковые системы могут не понимать Host и, соответственно, ее включение в запись User-agent, предназначенную для всех поисковиков (User-agent: *), может привести к негативным последствиям и неправильной индексации.

Как обстоит дело на самом деле - сказать трудно, ибо алгоритмы работы поиска - это вещь в себе, поэтому лучше сделать так, как советуют. Но в этом случае придется продублировать в директивеUser-agent: Yandex все те правила, что мы задали User-agent: *. Если вы оставите User-agent: Yandex с пустым Disallow:, то таким образом вы разрешите Яндексу заходить куда угодно и тащить все подряд в индекс.

Прежде, чем перейти к рассмотрению конкретных вариантов, хочу вам напомнить, что проверить работу своего robots.txt вы можете в Яндекс Вебмастере и Гугл Вебмастере. Там вы сможете указывать конкрентные Урлы своего ресурса и посмотреть (проверить), будет ли данный поисковик добавлять их в свой индекс или это действо удачно запрещено вами в чудо-файле.

Правильная настройка robots.txt для форума SMF

Для форума на движке SMF правильным будет файл следующего содержания (взят с форума технической поддержки из этой темы) :

User-agent: * Allow: /forum/*sitemap Allow: /forum/*arcade Allow: /forum/*rss Disallow: /forum/attachments/ Disallow: /forum/avatars/ Disallow: /forum/Packages/ Disallow: /forum/Smileys/ Disallow: /forum/Sources/ Disallow: /forum/Themes/ Disallow: /forum/Games/ Disallow: /forum/*.msg Disallow: /forum/*.new Disallow: /forum/*sort Disallow: /forum/*topicseen Disallow: /forum/*wap Disallow: /forum/*imode Disallow: /forum/*action User-agent: Slurp Crawl-delay: 100

Обратите внимание, что данный вариант приведен для того случая, когда ваш форум SMF установлен в директории forum основного сайта. Если форум не стоит в директории, то просто удалите из всех правил /forum.

Дружественные URL в SMF можно активировать или дезактивировать в админке форума, пройдя по следующему пути: в левой колонке админки выбираете пункт «Характеристики и настройки», в нижней части открывшегося окна находите пункт "Разрешить дружественные URL ", где можете поставить или снять галочку.

Есть еще один вариант robots.txt для SMF (но, наверное, еще не окончательно оттестированный):

User-agent: * Allow: /forum/*sitemap Allow: /forum/*arcade # если не стоит мод игр, удалить без пропуска строки Allow: /forum/*rss Allow: /forum/*type=rss Disallow: /forum/attachments/ Disallow: /forum/avatars/ Disallow: /forum/Packages/ Disallow: /forum/Smileys/ Disallow: /forum/Sources/ Disallow: /forum/Themes/ Disallow: /forum/Games/ Disallow: /forum/*.msg Disallow: /forum/*.new Disallow: /forum/*sort Disallow: /forum/*topicseen Disallow: /forum/*wap Disallow: /forum/*imode Disallow: /forum/*action Disallow: /forum/*prev_next Disallow: /forum/*all Disallow: /forum/*go.php # либо тот редирект, что стоит у вас Host: www.мой сайт.ru # указать ваше главное зеркало User-agent: Slurp Crawl-delay: 100

Как вы можете видеть в этом файле, директива Host, предназначенная только для Яндекса, включена в User-agent для всех поисковиков. Я бы, наверное, все-таки добавил отдельную директиву User-agent только для Яндекса, с повтором всех правил. Но решайте сами.

User-agent: Slurp Crawl-delay: 100

связано с тем, что поисковая система Yahoo (Slurp - это имя его поискового бота) сканирует сервер во много потоков, что может негативно сказаться на его производительности.

В этом правиле директива Crawl-delay позволяет указать боту Yahoo минимальный период времени (в секундах) между концом закачки одного документа и началом закачки следующего. Это позволит снять нагрузку на сервер.

В файле Sources/Printpage.php находите (например, с помощью встроенного поиска в Notepad++) строку:

fatal_lang_error(472, false);
Вставляете сразу под ней:

$context["robot_no_index"] = true;
В файле Themes/название_вашей_темы_оформления/Printpage.template.php находите строку:


Вставляете ниже нее следующую строку:


Если вы так же хотите, чтобы в версии для печати была ссылка для перехода на полную версию форума (в случае, если часть страниц для печати уже прошла индексацию в Яндексе и Гугле), то в том же Printpage.template.php вы находите строку с открывающим тегом HEAD:

И вставляете ниже строку:

На форум

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

Правильный robots.txt для Joomla

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

В принципе, здесь практически все учтено и работает он хорошо. Единственное, в него следует добавить отдельное правило User-agent: Yandex для вставки директивы Host, определяющей главное зеркало для Яндекса, а так же указать путь к файлу Sitemap.

Поэтому в окончательном виде правильный robots для Joomla, по-моему мнению, должен выглядеть так:

User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ User-agent: Yandex Disallow: /administrator/ Disallow: /cache/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/ Disallow: /tmp/ Disallow: /xmlrpc/ Host: vash_sait.ru Sitemap: http://vash_sait.ru/index.php?option=com_xmap&sitemap=1&view=xml&no_html=1

Да, еще обратите внимание, что во втором варианте нет директивы Disallow: /images/, дающей запрет индексации картинок вашего сайта. Я забыл сначала акцентировать ваше внимание на этом, но мне об этом напомнил уважаемый Alex.

Полностью с ним согласен в том, что если изображения уникальные и вы хотите, чтобы посетители находили ваш ресурс еще и с поиска по картинкам от Яндекса и Google, то обязательно удалите это правило из своего файла, но так же не забывайте прописывать всем вашим изображениям атрибуты Alt и Title в тег Img.

При создании интернет магазина для Joomla на основе компонента VirtueMart я столкнулся с тем, что в индексы поисковиков стали попадать версии для печати страниц этого самого магазина. Кнопка, ведущая на страницу для печати, была необходима (заказчик так хотел), поэтому оставался только вариант с их запретом в robots.txt.

Но все оказалось совсем не сложно. Дело в том, что для создания версии для печати в Джумле используется такой же Урл вебстраницы, за исключением одного: обращение идет не к index.php, а к index2.php. При этом не осуществляется загрузка шаблона, т.е. выводится только содержимое на весь экран.

Поэтому, для запрета версий для печати в VirtueMart я добавил в следующее правило:

Disallow: /index2.php?page=shop

Robots.txt для WordPress

Не буду приводить пример файла, который рекомендуют разработчики. Вы и сами можете его посмотреть. Многие блогеры вообще не ограничивают ботов Яндекса и Гугла в их прогулках по содержимому движка WordPress. Чаще всего в блогах можно встретить роботс, автоматически заполненный плагином Google XML Sitemaps.

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

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

User-agent: * Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /webstat/ Disallow: /feed/ Disallow: /tag/ Disallow: /trackback Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /*?* Disallow: /*? Disallow: /wp-content/plugins Disallow: /wp-content/themes Disallow: /wp-admin/ Disallow: /wp-includes/ Disallow: /comments User-agent: Yandex Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /webstat/ Disallow: /feed/ Disallow: /tag/ Disallow: /trackback Disallow: */trackback Disallow: */feed Disallow: */comments Disallow: /*?* Disallow: /*?.com/sitemap.xml (4 голос(а), в результате: 5,00 из 5)

Есть официальная документация у поисковиков на тему данной директивы, но к примеру у Google данная директива не задокументирована, но и не считается ошибкой в валидаторе...

Ну что ж приступим...

Как правильно прописать host в robots txt?

Яндекс

User-Agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: https://сайт

Про главное зеркало:

"Директива Host не гарантирует выбор указанного главного зеркала, тем не менее, алгоритм при принятии решения учитывает ее с высоким приоритетом."

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

Директива Host должна содержать:

  • Протокол HTTPS, если зеркало доступно только по защищенному каналу. Если вы используете протокол HTTP, то его указывать необязательно.
  • Одно корректное доменное имя, соответствующего RFC 952 и не являющегося IP-адресом.
  • Номер порта, если необходимо (Host: myhost.ru:8080).

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

Вот как выглядит это в вебмастере (ошибок и предупреждений нет):

Mail

Про главное зеркало:

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

User-agent: *
Disallow: # обязательная для каждой записи строка с директивой Disallow
Host: https://сайт

Аналогичная проверка (ошибок и предупреждений нет):

Google

А теперь самое интересное...

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

Можно выделить 3 основных задокументированных факта:

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

А вот что выдает валидатор в вебмастере Google (смотрим и делаем выводы):

Выводы, предположения и возможная польза...

Так что можно смело предположить при использовании валидатора robots от Google не возникает ни предупреждений, ни ошибок. В 2016 - начало 2017 такая картина еще наблюдалась (помечалось как ошибка). Следовательно, можно предположить, что они решили использовать данную директиву host как рекомендацию. Также проводя тесты на клиентских сайтах при переходе на https (без применения междоменного 301-редиректа), было замечено, как Гугл начинал потихоньку индексировать https версию. И к тому времени, когда Яндекс завершал склейку, в Google-вебмастере было видно, как часть индекса перетекала уже на новый хост.

Конечно это только догадки, основанные на практических тестах. Поэтому я составляю одну общую конфигурацию для всех роботов:

User-agent: *

Поэтому, если у Вас также есть опыт в определении такого стандарта для Google, то можете написать мне или в комментариях ниже.

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

Для начала короткое видео, которое создаст общее представление о том, что такое файл robots.txt.

Как влияет robots.txt на индексацию сайта

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

Подробнее об исключениях:
Исключения Яндекса
Стандарт исключений для роботов (Википедия)

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

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

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

Директивы robots.txt

Директивы — это правила для роботов. Есть спецификация W3C от 30 января 1994 года и расширенный стандарт от 1996 года . Однако не все поисковые системы и роботы поддерживают те или иные директивы. В связи с этим для нас полезнее будет знать не стандарт, а то, как руководствуются теми или иными директивы основные роботы.

Давайте рассмотрим по порядку.

User-agent

Это самая главная директива, определяющая для каких роботов далее следуют правила.

Для всех роботов:
User-agent: *

Для конкретного бота:
User-agent: GoogleBot

Обратите внимание, что в robots.txt не важен регистр символов. Т.е. юзер-агент для гугла можно с таким же успехом записать соледующим образом:
user-agent: googlebot

Ниже приведена таблица основных юзер-агентов различных поисковых систем.

Бот Функция
Google
Googlebot основной индексирующий робот Google
Googlebot-News Google Новости
Googlebot-Image Google Картинки
Googlebot-Video видео
Mediapartners-Google
Mediapartners Google AdSense, Google Mobile AdSense
AdsBot-Google проверка качества целевой страницы
AdsBot-Google-Mobile-Apps Робот Google для приложений
Яндекс
YandexBot основной индексирующий робот Яндекса
YandexImages Яндекс.Картинки
YandexVideo Яндекс.Видео
YandexMedia мультимедийные данные
YandexBlogs робот поиска по блогам
YandexAddurl робот, обращающийся к странице при добавлении ее через форму «Добавить URL»
YandexFavicons робот, индексирующий пиктограммы сайтов (favicons)
YandexDirect Яндекс.Директ
YandexMetrika Яндекс.Метрика
YandexCatalog Яндекс.Каталог
YandexNews Яндекс.Новости
YandexImageResizer робот мобильных сервисов
Bing
Bingbot основной индексирующий робот Bing
Yahoo!
Slurp основной индексирующий робот Yahoo!
Mail.Ru
Mail.Ru основной индексирующий робот Mail.Ru
Rambler
StackRambler Ранее основной индексирующий робот Rambler. Однако с 23.06.11 Rambler перестает поддерживать собственную поисковую систему и теперь использует на своих сервисах технологию Яндекса. Более не актуально.

Disallow и Allow

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

Но здесь не все так просто.

Во-первых, нужно знать дополнительные операторы и понимать, как они используются — это *, $ и #.

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

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

Disallow: *?s=
Disallow: /category/$

Во-вторых, нужно понимать, каким образом выполняются вложенные правила.
Помните, что порядок записи директив не важен. Наследование правил, что открыть или закрыть от индексации определяется по тому, какие директории указаны. Разберем на примере.

Allow: *.css
Disallow: /template/

http://site.ru/template/ — закрыто от индексирования
http://site.ru/template/style.css — закрыто от индексирования
http://site.ru/style.css — открыто для индексирования
http://site.ru/theme/style.css — открыто для индексирования

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

Allow: *.css
Allow: /template/*.css
Disallow: /template/

Повторюсь, порядок директив не важен.

Sitemap

Директива для указания пути к XML-файлу Sitemap. URL-адрес прописывается так же, как в адресной строке.

Например,

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

Директива Sitemap указывается в любом месте файла robots.txt без привязки к конкретному user-agent. Можно указать несколько правил Sitemap.

Host

Директива для указания главного зеркала сайта (в большинстве случаев: с www или без www). Обратите внимание, что главное зеркало указывается БЕЗ http://, но С https://. Также если необходимо, то указывается порт.
Директива поддерживается только ботами Яндекса и Mail.Ru. Другими роботами, в частности GoogleBot, команда не будет учтена. Host прописывается только один раз!

Пример 1:
Host: site.ru

Пример 2:
Host: https://site.ru

Crawl-delay

Директива для установления интервала времени между скачиванием роботом страниц сайта. Поддерживается роботами Яндекса, Mail.Ru, Bing, Yahoo. Значение может устанавливаться в целых или дробных единицах (разделитель — точка), время в секундах.

Пример 1:
Crawl-delay: 3

Пример 2:
Crawl-delay: 0.5

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

Чем больше значение, тем меньше страниц робот загрузит за одну сессию. Оптимальное значение определяется индивидуально для каждого сайта. Лучше начинать с не очень больших значений — 0.1, 0.2, 0.5 — и постепенно их увеличивать. Для роботов поисковых систем, имеющих меньшее значение для результатов продвижения, таких как Mail.Ru, Bing и Yahoo можно изначально установить бо́льшие значения, чем для роботов Яндекса.

Clean-param

Это правило сообщает краулеру, что URL-адреса с указанными параметрами не нужно индексировать. Для правила указывается два аргумента: параметр и URL раздела. Директива поддерживается Яндексом.

Clean-param: author_id http://site.ru/articles/

Clean-param: author_id&sid http://site.ru/articles/

Clean-Param: utm_source&utm_medium&utm_campaign

Другие параметры

В расширенной спецификации robots.txt можно найти еще параметры Request-rate и Visit-time. Однако они на данный момент не поддерживаются ведущими поисковыми системами.

Смысл директив:
Request-rate: 1/5 — загружать не более одной страницы за пять секунд
Visit-time: 0600-0845 — загружать страницы только в промежуток с 6 утра до 8:45 по Гринвичу.

Закрывающий robots.txt

Если вам нужно настроить, чтобы ваш сайт НЕ индексировался поисковыми роботами, то вам нужно прописать следующие директивы:

User-agent: *
Disallow: /

Проверьте, чтобы на тестовых площадках вашего сайта были прописаны эти директивы.

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

Для России и стран СНГ, где доля Яндекса ощутима, следует прописывать директивы для всех роботов и отдельно для Яндекса и Google.

Чтобы правильно настроить robots.txt воспользуйтесь следующим алгоритмом:

  1. Закройте от индексирования админку сайта
  2. Закройте от индексирования личный кабинет, авторизацию, регистрацию
  3. Закройте от индексирования корзину, формы заказа, данные по доставке и заказам
  4. Закройте от индексирования ajax, json-скрипты
  5. Закройте от индексирования папку cgi
  6. Закройте от индексирования плагины, темы оформления, js, css для всех роботов, кроме Яндекса и Google
  7. Закройте от индексирования функционал поиска
  8. Закройте от индексирования служебные разделы, которые не несут никакой ценности для сайта в поиске (ошибка 404, список авторов)
  9. Закройте от индексирования технические дубли страниц, а также страницы, на которых весь контент в том или ином виде продублирован с других страниц (календари, архивы, RSS)
  10. Закройте от индексирования страницы с параметрами фильтров, сортировки, сравнения
  11. Закройте от индексирования страницы с параметрами UTM-меток и сессий
  12. Проверьте, что проиндексировано Яндексом и Google с помощью параметра «site:» (в поисковой строке наберите «site:site.ru»). Если в поиске присутствуют страницы, которые также нужно закрыть от индексации, добавьте их в robots.txt
  13. Укажите Sitemap и Host
  14. По необходимости пропишите Crawl-Delay и Clean-Param
  15. Проверьте корректность robots.txt через инструменты Google и Яндекса (описано ниже)
  16. Через 2 недели перепроверьте, появились ли в поисковой выдаче новые страницы, которые не должны индексироваться. В случае необходимости повторить выше перечисленные шаги.

Пример robots.txt

# Пример файла robots.txt для настройки гипотетического сайта https://site.ru User-agent: * Disallow: /admin/ Disallow: /plugins/ Disallow: /search/ Disallow: /cart/ Disallow: */?s= Disallow: *sort= Disallow: *view= Disallow: *utm= Crawl-Delay: 5 User-agent: GoogleBot Disallow: /admin/ Disallow: /plugins/ Disallow: /search/ Disallow: /cart/ Disallow: */?s= Disallow: *sort= Disallow: *view= Disallow: *utm= 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: */?s= 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 Crawl-Delay: 0.5 Sitemap: https://site.ru/sitemap.xml Host: https://site.ru

Как добавить и где находится robots.txt

После того как вы создали файл robots.txt, его необходимо разместить на вашем сайте по адресу site.ru/robots.txt — т.е. в корневом каталоге. Поисковый робот всегда обращается к файлу по URL /robots.txt

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

Проверка robots.txt осуществляется по следующим ссылкам:

  • В Яндекс.Вебмастере — на вкладке Инструменты>Анализ robots.txt
  • В Google Search Console — на вкладке Сканирование>Инструмент проверки файла robots.txt

Типичные ошибки в robots.txt

В конце статьи приведу несколько типичных ошибок файла robots.txt

  • robots.txt отсутствует
  • в robots.txt сайт закрыт от индексирования (Disallow: /)
  • в файле присутствуют лишь самые основные директивы, нет детальной проработки файла
  • в файле не закрыты от индексирования страницы с UTM-метками и идентификаторами сессий
  • в файле указаны только директивы
    Allow: *.css
    Allow: *.js
    Allow: *.png
    Allow: *.jpg
    Allow: *.gif
    при этом файлы css, js, png, jpg, gif закрыты другими директивами в ряде директорий
  • директива Host прописана несколько раз
  • в Host не указан протокол https
  • путь к Sitemap указан неверно, либо указан неверный протокол или зеркало сайта

P.S.

P.S.2

Полезное видео от Яндекса (Внимание! Некоторые рекомендации подходят только для Яндекса).

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

Подписаться

Директива Host – это команда или правило, сообщающее поисковой машине о том, какое (с www или без) считать основным. Находится директива Host в файле и предназначена исключительно для Яндекса.

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

Поисковые роботы Яндекса обходят страницы сайтов и добавляют собранную информацию в базу данных по собственному графику. В процессе индексации они самостоятельно решают, какую страницу необходимо обработать. К примеру, роботы обходят стороной различные форумы, доски объявлений, каталоги и прочие ресурсы, где индексация бессмысленна. Также они могут определять главный сайт и зеркала. Первые подлежат индексации, вторые – нет. В процессе часто возникают ошибки. Повлиять на это можно посредством использования директивы Host в файл Robots.txt.

Зачем нужен файл Robots.txt

Robots – это обычный текстовый файл. Его можно создать через блокнот, однако работать с ним (открывать и редактировать информацию) рекомендуется в текстовом редакторе Notepad++ . Необходимость данного файла при оптимизации веб-ресурсов обуславливается несколькими факторами:

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

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

Как оформить директиву Host в файле Robots.txt

Файл Robots включает в себя директиву Host – инструкцию для поисковой машины о том, где главный сайт, а где его зеркала.

Директива имеет следующую форму написания: Host: [необязательный пробел] [значение] [необязательный пробел]. Правила написания директивы требуют соблюдения следующих пунктов:

  • Наличие в директиве Host протокола HTTPS для поддержки шифрования. Его необходимо использовать, если доступ к зеркалу осуществляется только по защищенному каналу.
  • Доменное имя, не являющееся IP-адресом, а также номер порта веб-ресурса.

Корректно составленная директива позволит веб-мастеру обозначить для поисковых машин, где главное зеркало. Остальные будут считаться второстепенными и, следовательно, индексироваться не будут. Как правило, зеркала можно отличить по наличию или отсутствию аббревиатуры www. Если пользователь не укажет главное зеркало веб-ресурса посредством Host, поисковая система Яндекс пришлет соответствующее уведомление в Вебмастер. Также уведомление будет выслано, если в файле Роботс задана противоречивая директива Host.

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

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

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

Хост в файле Роботс

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

Не все поисковики поддерживают работу директивы Хост. Функция доступна только в Яндексе. При этом даже здесь нет гарантий, что домен будет назначен в качестве главного зеркала, но по заверениям самого Яндекса, приоритет всегда остается за именем, которое указано в хосте.

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