Описание robots txt. Как редактировать файл robots txt. Директивы Sitemap, Host

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

Вот пример простого файла robots.txt с двумя правилами. Ниже приведены пояснения.

# Группа 1 User-agent: Googlebot Disallow: /nogooglebot/ # Группа 2 User-agent: * Allow: / Sitemap: http://www.example.com/sitemap.xml

Пояснения

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

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

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

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

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

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

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

Синтаксис

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

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

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

Другие правила игнорируются.

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

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

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

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

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

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

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

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

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

User-agent: * Disallow: /private_file.html

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

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

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

User-agent: Googlebot-Image Disallow: /

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

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

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

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

Эта информация оказалась полезной?

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

Создание самого файла

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

Для этого жмем правой кнопкой мыши по пустому пространству, выбираем Создать – Текстовый документ (не Word). Он откроется с помощью обычного блокнота. Назовите его robots, расширение у него и так уже правильное – txt. Это все, что касается создания самого файла.

Как составить robots.txt

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

Посмотреть у другого сайта, скопировать и изменить под структуру своего проекта.

Написать самому

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

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

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

Как писать свои инструкции роботам?

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

User-agent: Yandex Или User-agent: Googlebot

User - agent : Yandex

User - agent : Googlebot

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

Отлично. С обращением к роботам мы разобрались. Это несложно. Вы можете представить это на простом примере. У вас есть трое младших братьев, Вася, Дима и Петя, а вы главный. Родители ушли и сказали вам, чтобы вы следили за ними.

Все трое чего-то просят у вас. Представь, что нужно дать им ответ так, как будто пишешь инструкции поисковым роботам. Это будет выглядеть примерно так:

User-agent: Vasya Allow: пойти на футбол User-agent: Dima Disallow: пойти на футбол (Дима в прошлый раз разбил стекло соседям, он наказан) User-agent: Petya Allow: сходить в кино (Пете уже 16 и он вообще в шоке, что должен у тебя еще и разрешения спрашивать, ну да ладно, пусть идет).

Таким образом, Вася радостно зашнуровывает кроссовки, Дима с опущенной головой смотрит в окно на брата, который уже думает, сколько голов забьет сегодня (Дима получил команду disallow, то есть запрет). Ну а Петя отправляется в свое кино.

Из этого примера несложно понять, что Allow – это разрешение, а Disallow – запрет. Но в robots.txt мы не людям раздаем команды, а роботам, поэтому вместо конкретных дел там прописываются адреса страниц и каталогов, которые нужно разрешить или запретить индексировать.

Например, у меня есть сайт site.ru. Он на движке wordpress. Начинаю писать инструкции:

User-agent: * Disallow: /wp-admin/ Disallow: /wp-content/ Disallow: /wp-includes/ Allow: /wp-content/uploads/ Disallow: /source/ Ну и т.д.

User - agent : *

Disallow : / wp - admin /

Disallow : / wp - content /

Disallow : / wp - includes /

Disallow : / source /

Нуит. д.

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

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

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

Команда Allow нужна как раз для того, чтобы уже в закрытых разделах открыть какие-то части. Ведь по умолчанию, если у вас не будет файла robots.txt, весь сайт будет доступен к индексированию. Это и хорошо (уж точно что-то важное не закроете по ошибке), и в то же время плохо (будут открыты файлы и папки, которых не должно быть в выдаче).

Чтобы лучше понять этот момент, предлагаю еще раз просмотреть этот кусок:

Disallow: /wp-content/ Allow: /wp-content/uploads/

Disallow : / wp - content /

Allow : / wp - content / uploads /

Как видите, сначала мы ставим запрет на индексацию всего каталога wp-content. В нем хранятся все ваши шаблоны, плагины, но там же есть и картинки. Очевидно, что их то можно и открыть. Для этого нам и нужна команда Allow.

Дополнительные параметры

Перечисленные команды – не единственное, что можно указать в файле. Также есть такие: Host – указывает главное зеркало сайта. Кто не знал, у любого сайта по умолчанию есть два варианта написания его доменного имени: domain.com и www.domain.com.

Чтобы не возникло проблем, необходимо указать в качестве главного зеркала какой-то один вариант. Это можно сделать как в инструментах для веб-мастеров, как и в файле Robots.txt. Для этого пишем: Host: domain.com

Что это дает? Если кто-то попытается попасть на ваш сайт так: www.domain.com – его автоматически перекинет на вариант без www, потому что он будет признан главным зеркалом.

Вторая директива – sitemap. Я думаю вы уже поняли, что в ней задается путь к карте сайта в xml-формате. Пример: http://domain.com/sitemap.xml

Опять же, загрузить карту вы можете и в Яндекс.Вебмастере, также ее можно указать в robots.txt, чтобы робот прочитал эту строчку и четко понял, где ему искать карту сайта. Для робота карта сайта так же важна, как для Васи – мяч, с которым он пойдет на футбол. Это все равно, что он спрашивает у тебя (как у старшего брата) где мяч. А ты ему:

Задиваном

Теперь вы знаете, как правильно настроить и изменить robots.txt для яндекса и вообще любого другого поисковика под свои нужды.

Что дает настройка файла?

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

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

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

Как мне получить нормальный robots.txt, если я сам ничего не понимаю?

В конце концов, создание robots.txt — это не создание сайта. Как-то попроще, поэтому вы вполне можете банально скопировать содержимое файла у любого более менее успешного блоггера. Конечно, если у вас сайт на WordPress. Если он на другом движке, то вам и сайты нужно искать на этих же cms. Как посмотреть содержимое файла на чужом сайте я уже говорил: Domain.com/robots.txt

Итог

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

А чтобы узнать другие полезные и важные фишки для продвижения и раскрутки блога, можете посмотреть наш уникальный . Если вы примените оттуда 50-100% рекомендаций, то сможете в будущем успешно продвигать любые сайты.

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

YandexMedia - Indexes multimedia data.

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.

Время чтения: 7 минут(ы)


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

Зачем нужна настройка robots.txt?

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

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

    Поисковый робот будет считывать весь сайт, что «подорвет» краулинговый бюджет. Краулинговый бюджет - это число страниц, которые поисковый робот способен обойти за определенный промежуток времени.

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

    В индекс может попасть страница входа на сайт, другие ресурсы администратора, поэтому злоумышленник сможет легко их отследить и провести ddos атаку или взломать сайт.

Как поисковые роботы видят сайт с robots.txt и без него:


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

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


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

User-agent

User-agent - определяет поискового робота, который обязан следовать описанным в файле инструкциям. Если необходимо обратиться сразу ко всем, то используется значок *. Также можно обратиться к определенному поисковому роботу. Например, Яндекс и Google:


С помощью этой директивы, робот понимает какие файлы и папки индексировать запрещено. Если вы хотите, чтобы весь ваш сайт был открыт для индексации оставьте значение Disallow пустым. Чтобы скрыть весь контент на сайте после Disallow поставьте “/”.

Мы можем запретить доступ к определенной папке, файлу или расширению файла. В нашем примере, мы обращаемся ко всем поисковым роботам, закрываем доступ к папке bitrix, search и расширению pdf.


Allow

Allow принудительно открывает для индексирования страницы и разделы сайта. На примере выше мы обращаемся к поисковому роботу Google, закрываем доступ к папке bitrix, search и расширению pdf. Но в папке bitrix мы принудительно открываем 3 папки для индексирования: components, js, tools.


Host - зеркало сайта

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

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

Для протоколов «https://» и «http://», синтаксис в файле robots.txt будет разный.

Sitemap - карта сайта

Карта сайта - это форма навигации по сайту, которая используется для информирования поисковых систем о новых страницах. С помощью директивы sitemap, мы «насильно» показываем роботу, где расположена карта.


Символы в robots.txt

Символы, применяемые в файле: «/, *, $, #».


Проверка работоспособности после настройки robots.txt

После того как вы разместили Robots.txt на своем сайте, вам необходимо добавить и проверить его в вебмастере Яндекса и Google.

Проверка Яндекса:

  1. Перейдите по ссылке .
  2. Выберите: Настройка индексирования - Анализ robots.txt.

Проверка Google:

  1. Перейдите по ссылке .
  2. Выберите: Сканирование - Инструмент проверки файла robots.txt.

Таким образом вы сможете проверить свой robots.txt на ошибки и внести необходимые настройки, если потребуется.

  1. Содержимое файла необходимо писать прописными буквами.
  2. В директиве Disallow нужно указывать только один файл или директорию.
  3. Строка «User-agent» не должна быть пустой.
  4. User-agent всегда должна идти перед Disallow.
  5. Не стоит забывать прописывать слэш, если нужно запретить индексацию директории.
  6. Перед загрузкой файла на сервер, обязательно нужно проверить его на наличие синтаксических и орфографических ошибок.

Успехов вам!

Видеообзор 3 методов создания и настройки файла Robots.txt

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

Для сайтов, работающих на платформе «Нубекс», файл с директивами создается автоматически и располагается по адресу domen.ru/robots.txt, где domen.ru — доменное имя сайта..ru/robots.txt.

Изменить robots.txt и прописать дополнительные директивы для поисковиков можно в админке сайта. Для этого на панели управления выберите раздел «Настройки» , а в нем — пункт «SEO» .

Найдите поле «Текст файла robots.txt» и пропишите в нем нужные директивы. Желательно активировать галочку «Добавить в robots.txt ссылку на автоматически генерируемый файл sitemap.xml »: так поисковый бот сможет загрузить карту сайта и найти все необходимые страницы для индексации.

Основные директивы для файла robots txt

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

1. Если в значении поля User-agent указан символ «* », то заданные в этой записи права доступа распространяются на любых поисковых роботов, запросивших файл /robots.txt.

2. Если в записи указано более одного имени робота, то права доступа распространяются для всех указанных имен.

3. Заглавные или строчные символы роли не играют.

4. Если обнаружена строка User-agent: ИмяБота, директивы для User-agent: * не учитываются (это в том случае, если вы делаете несколько записей для различных роботов). Т.е. робот сначала просканирует текст на наличие записи User-agent: МоеИмя, и если найдет, будет следовать этим указаниям; если нет — будет действовать по инструкциям записи User-agent: * (для всех ботов).

Кстати, перед каждой новой директивой User-agent рекомендуется вставлять пустой перевод строки (Enter).

5. Если строки User-agent: ИмяБота и User-agent: * отсутствуют, считается, что доступ роботу не ограничен.

Запрет и разрешение индексации сайта: директивы Disallow и Allow

Чтобы запретить или разрешить поисковым ботам доступ к определенным страницам сайта, используются директивы Disallow и Allow соответственно.

В значении этих директив указывается полный или частичный путь к разделу:

  • Disallow: /admin/ — запрещает индексацию всех страниц, находящихся внутри раздела admin;
  • Disallow: /help — запрещает индексацию и /help.html, и /help/index.html;
  • Disallow: /help/ — закрывает только /help/index.html;
  • Disallow: / — блокирует доступ ко всему сайту.

Если значение Disallow не указано, то доступ не ограничен:

  • Disallow: — разрешена индексация всех страниц сайта.

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

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

— разрешено индексировать только страницы, начинающиеся на /search. Таким образом, порядок следования директив никак не повлияет на результат.

Директива Host: как указать основной домен сайта

Если к вашему сайту привязано несколько доменных имен (технические адреса, зеркала и т.д.), поисковик может решить, что все это — разные сайты. Причем с одинаковым наполнением. Решение? В бан! И одному боту известно, какой из доменов будет «наказан» — основной или технический.

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

Сделать это можно с помощью директивы Host . Ее нужно добавить в запись, начинающуюся с User-Agent, непосредственно после директив Disallow и Allow. В значении директивы Host нужно указать основной домен с номером порта (по умолчанию 80). Например:

Host: test-o-la-la.ru

Такая запись означает, что сайт будет отображаться в результатах поиска со ссылкой на домен test-o-la-la.ru, а не www.test-o-la-la.ru и s10364.. скриншот выше).

В конструкторе «Нубекс» директива Host добавляется в текст файла robots.txt автоматически, когда вы указываете в админке, какой домен является основным.

В тексте robots.txt директива host может использоваться только единожды. Если вы пропишите ее несколько раз, робот воспримет только первую по порядку запись.

Директива Crawl-delay: как задать интервал загрузки страниц

Чтобы обозначить роботу минимальный интервал между окончанием загрузки одной страницы и началом загрузки следующей, используйте директиву Crawl-delay . Ее нужно добавить в запись, начинающуюся с User-Agent, непосредственно после директив Disallow и Allow. В значении директивы укажите время в секундах.

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

Существуют также и другие директивы для поисковых роботов, но пяти описанных — User-Agent, Disallow, Allow, Host и Crawl-delay — обычно достаточно для составления текста файла robots.txt.