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

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

Recommendations on the content of the file

Yandex supports the following directives:

Directive What it does
User-agent *
Disallow
Sitemap
Clean-param
Allow
Crawl-delay

We recommend using the crawl speed setting

Directive What it does
User-agent * Indicates the robot to which the rules listed in robots.txt apply.
Disallow Prohibits indexing site sections or individual pages.
Sitemap Specifies the path to the Sitemap file that is posted on the site.
Clean-param Indicates to the robot that the page URL contains parameters (like UTM tags) that should be ignored when indexing it.
Allow Allows indexing site sections or individual pages.
Crawl-delay

Specifies the minimum interval (in seconds) for the search robot to wait after loading one page, before starting to load another.

We recommend using the crawl speed setting in Yandex.Webmaster instead of the directive.

* Mandatory directive.

You"ll most often need the Disallow, Sitemap, and Clean-param directives. For example:

User-agent: * #specify the robots that the directives are set for Disallow: /bin/ # disables links from the Shopping Cart. Disallow: /search/ # disables page links of the search embedded on the site Disallow: /admin/ # disables links from the admin panel Sitemap: http://example.com/sitemap # specify for the robot the sitemap file of the site Clean-param: ref /some_dir/get_book.pl

Robots from other search engines and services may interpret the directives in a different way.

Note. The robot takes into account the case of substrings (file name or path, robot name) and ignores the case in the names of directives.

Using Cyrillic characters

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

For domain names, use Punycode . For page addresses, use the same encoding as that of the current site structure.

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

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

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

Обычно от индексации закрываются технические разделы сайта. Изредка в черный список попадают неуникальные страницы (копипаст политики конфиденциальности тому пример). Здесь же “роботам объясняются” принципы работы с разделами, которые нужно индексировать. Очень часто прописывают правила для нескольких роботов отдельно. Об этом мы и поговорим далее.

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

Создание robots.txt

Чтобы создать файл, достаточно воспользоваться стандартным функционалом вашей операционной системы, после чего выгрузить его на сервер через FTP. Где он лежит (на сервере) догадаться несложно – в корне. Обычно эта папка называется public_html.

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

User-agent: *
Allow: /

Используя эти строки в своем файле robots, вы обратитесь ко всем роботам (директива User-agent), позволив им индексировать ваш сайт всецело и полностью (включая все тех. страницы Allow: /)

Конечно же, такой вариант нам не особо подходит. Файл будет не особо полезен для оптимизации под поисковики. Он определенно нуждается в грамотной настройке. Но перед этим мы рассмотрим все основные директивы и значения robots.txt.

Директивы

User-agent Одна из важнейших, т. к. указывает каким роботам следовать идущим после нее правилам. Правила учитываются до следующего User-agent в файле.
Allow Разрешает индексацию каких-либо блоков ресурса. Например: “/” или “/tag/”.
Disallow Наоборот, запрещает индексацию разделов.
Sitemap Путь до карты сайта (в формате xml).
Host Главное зеркало (с www или без, или если у вас несколько доменов). Здесь же указывается защищенный протокол https (при наличии). Если у вас стандартный http, его указывать не нужно.
Crawl-delay С ее помощью вы сможете установить интервал посещения и загрузки файлов вашего сайта для роботов. Помогает снизить нагрузку на хост.
Clean-param Позволяет отключить индексацию параметров на тех или иных страницах (по типу www.site.com/cat/state?admin_id8883278).
В отличие от предыдущих директив, здесь указываются 2 значения (адрес и сам параметр).

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

Настройка

Для грамотной настройки файла роботов нам нужно точно знать, какие из разделов сайта должны быть проиндексированы, а какие – нет. В случае с простым одностраничником на html + css нам достаточно прописать несколько основных директив, таких как:

User-agent: *
Allow: /
Sitemap: site.ru/sitemap.xml
Host: www.site.ru

Здесь мы указали правила и значения для всех поисковых систем. Но лучше добавить отдельные директивы для Гугла и Яндекса. Выглядеть это будет так:

User-agent: *
Allow: /

User-agent: Yandex
Allow: /
Disallow: /politika

User-agent: GoogleBot
Allow: /
Disallow: /tags/

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

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

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

Среди таких сервисов можно выделить:

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

Говоря о платформах, я имею ввиду всевозможные CMS, фреймворки, SaaS-системы и многое другое. Далее мы поговорим о том, как настраивать файл роботов WordPress и Joomla.

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

Закрываем от индексирования (Disallow):

  • админку сайта;
  • личный кабинет и страницы регистрации/авторизации;
  • корзину, данные с форм заказов (для интернет-магазина);
  • папку cgi (располагается на хосте);
  • служебные разделы;
  • скрипты ajax и json;
  • UTM и Openstat-метки;
  • различные параметры.

Открываем (Allow):

  • картинки;
  • JS и CSS-файлы;
  • прочие элементы, которые должны учитываться поисковыми системами.

Помимо этого, в конце не забываем указать данные sitemap (путь к карте сайта) и host (главное зеркало).

Robots.txt для WordPress

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

Есть и более удобный вариант – создать файл с помощью плагинов. В частности, такая функция есть у Yoast SEO. Править роботс прямо из админки куда удобнее, поэтому сам я использую именно такой способ работы с robots.txt.

Как вы решите создать этот файл – дело ваше, нам важнее понять, какие именно директивы там должны быть. На своих сайтах под управлением WordPress использую такой вариант:

User-agent: * # правила для всех роботов, за исключением Гугла и Яндекса

Disallow: /cgi-bin # папка со скриптами
Disallow: /? # параметры запросов с домашней страницы
Disallow: /wp- # файлы самой CSM (с приставкой wp-)
Disallow: *?s= # \
Disallow: *&s= # все, что связано с поиском
Disallow: /search/ # /
Disallow: /author/ # архивы авторов
Disallow: /users/ # и пользователей
Disallow: */trackback # уведомления от WP о том, что на вас кто-то ссылается
Disallow: */feed # фид в xml
Disallow: */rss # и rss
Disallow: */embed # встроенные элементы
Disallow: /xmlrpc.php # WordPress API
Disallow: *utm= # UTM-метки
Disallow: *openstat= # Openstat-метки
Disallow: /tag/ # тэги (при наличии)
Allow: */uploads # открываем загрузки (картинки и т. д.)

User-agent: GoogleBot # для Гугла
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm=
Disallow: *openstat=
Disallow: /tag/
Allow: */uploads
Allow: /*/*.js # открываем JS-файлы
Allow: /*/*.css # и CSS
Allow: /wp-*.png # и картинки в формате png
Allow: /wp-*.jpg # \
Allow: /wp-*.jpeg # и в других форматах
Allow: /wp-*.gif # /
# работает вместе с плагинами

User-agent: Yandex # для Яндекса
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: /author/
Disallow: /users/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: /tag/
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
# чистим UTM-метки
Clean-Param: openstat # и про Openstat не забываем

Sitemap: # прописываем путь до карты сайта
Host: https://site.ru # главное зеркало

Внимание! При копировании строк в файл – не забудьте удалить все комментарии (текст после #).

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

Robots.txt для Joomla

И хотя в 2018 Joomla редко кто использует, я считаю, что нельзя обделять вниманием эту замечательную CMS. При продвижении проектов на Joomla вам непременно придется создавать файл роботс, а иначе как вы хотите закрывать от индексации ненужные элементы?

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

User-agent: *
Allow: /*.css?*$
Allow: /*.js?*$
Allow: /*.jpg?*$
Allow: /*.png?*$
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

User-agent: Yandex
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

User-agent: GoogleBot
Disallow: /cache/
Disallow: /*.pdf
Disallow: /administrator/
Disallow: /installation/
Disallow: /cli/
Disallow: /libraries/
Disallow: /language/
Disallow: /components/
Disallow: /modules/
Disallow: /includes/
Disallow: /bin/
Disallow: /component/
Disallow: /tmp/
Disallow: /index.php
Disallow: /plugins/
Disallow: /*mailto/

Disallow: /logs/
Disallow: /component/tags*
Disallow: /*%
Disallow: /layouts/

Host: site.ru # не забудьте здесь поменять адрес на свой
Sitemap: site.ru/sitemap.xml # и здесь

Как правило, этого достаточно, чтобы лишние файлы не попадали в индекс.

Ошибки при настройке

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

  • Правила указаны только для User-agent.
  • Отсутствуют Host и Sitemap.
  • Наличие http-протокола в директиве Host (нужно указывать лишь https).
  • Несоблюдение правил вложенности при открытии/закрытии картинок.
  • Не закрыты UTM и Openstat-метки.
  • Прописывание директив host и sitemap для каждого робота.
  • Поверхностная проработка файла.

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

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

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

Для начала рассмотрим вариант с Яндексом. Заходим в Вебмастер . После чего в Инструменты – Анализ robots.txt.

Здесь вы сможете проверить файл на ошибки, а также проверить в реальном времени, какие страницы открыты для индексации, а какие – нет. Весьма удобно.

У Гугла есть точно такой же сервис. Идем в Search Console . Находим вкладку Сканирование, выбираем – Инструмент проверки файла robots.txt.

Здесь точно такие же функции, как и в отечественном сервисе.

Обратите внимание, что он показывает мне 2 ошибки. Связано это с тем, что Гугл не распознает директивы очистки параметров, которые я указал для Яндекса:

Clean-Param: utm_source&utm_medium&utm_campaign
Clean-Param: openstat

Обращать внимание на это не стоит, т. к. роботы Google используют только правила для GoogleBot.

Заключение

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

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

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

Robots.txt - это текстовый файл, который располагается в корне сайта - http://site.ru/robots.txt . Главное его предназначение - это задавать определённые директивы поисковым системам - что и когда делать на сайте.

Самый простой Robots.txt

Самый простой robots.txt , который всем поисковым системам, разрешает всё индексировать, выглядит вот так:

User-agent : *
Disallow :

Если у директивы Disallow не стоит наклонный слеш в конце, то разрешены все страницы для индексации.

Такая директива полностью запрещает сайт к индексации:

User-agent : *
Disallow : /

User-agent - обозначает для кого предназначены директивы, звёздочка обозначает что для всех ПС, для Яндекса указывают User-agent: Yandex .

В справке Яндекса написано, что его поисковые роботы обрабатывают User-agent: * , но если присутствует User-agent: Yandex , User-agent: * игнорируется.

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

Существуют две основные директивы:

Disallow – запретить

Allow – разрешить

Пример: На блоге мы запретили индексировать папку /wp-content/ где находятся файлы плагинов, шаблон и.т.п. Но так же там находятся изображения, которые должны быть проиндексированы ПС, для участия в поиске по картинкам. Для этого надо использовать такую схему:

User-agent : *
Allow : /wp-content/uploads/ # Разрешаем индексацию картинок в папке uploads
Disallow : /wp-content/

Порядок использования директив имеет значение для Яндекса, если они распространяются на одни страницы или папки. Если вы укажите вот так:

User-agent : *
Disallow : /wp-content/
Allow : /wp-content/uploads/

Изображения не будут загружаться роботом Яндекса с каталога /uploads/ , потому что исполняется первая директива, которая запрещает весь доступ к папке wp-content .

Google относится проще и выполняет все директивы файла robots.txt, вне зависимости от их расположения.

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

Disallow: /about Запретит доступ ко всему каталогу site.ru/about/ , так же не будут индексироваться страницы которые содержат about - site.ru/about.html , site.ru/aboutlive.html и.т.п.

Disallow: /about/ Запретит индексацию роботам страниц в каталоге site.ru/about/ , а страницы по типу site.ru/about.html и.т.п. будут доступны к индексации.

Регулярные выражения в robots.txt

Поддерживается два символа, это:

* - подразумевает любой порядок символов.

Пример:

Disallow: /about* запретит доступ ко всем страницам, которые содержат about, в принципе и без звёздочки такая директива будет так же работать. Но в некоторых случаях это выражение не заменимо. Например, в одной категории имеются страницы с.html на конце и без, чтобы закрыть от индексации все страницы которые содержат html, прописываем вот такую директиву:

Disallow : /about/*.html

Теперь страницы site.ru/about/live.html закрыта от индексации, а страница site.ru/about/live открыта.

Ещё пример по аналогии:

User-agent : Yandex
Allow : /about/*.html #разрешаем индексировать
Disallow : /about/

Все страницы будут закрыты, кроме страниц которые заканчиваются на .html

$ - обрезает оставшуюся часть и обозначает конец строки.

Пример:

Disallow: /about - Эта директива robots.txt запрещает индексировать все страницы, которые начинаются с about , так же идёт запрет на страницы в каталоге /about/ .

Добавив в конце символ доллара - Disallow: /about$ мы сообщим роботам, что нельзя индексировать только страницу /about , а каталог /about/ , страницы /aboutlive и.т.п. можно индексировать.

Директива Sitemap

В этой директиве указывается путь к Карте сайта, в таком виде:

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

Директива Host

Указывается в таком виде:

Host: site.ru

Без http:// , наклонных слешей и тому подобных вещей. Если у вас главное зеркало сайта с www, то пишите:

Пример robots.txt для Битрикс

User-agent: *
Disallow: /*index.php$
Disallow: /bitrix/
Disallow: /auth/
Disallow: /personal/
Disallow: /upload/
Disallow: /search/
Disallow: /*/search/
Disallow: /*/slide_show/
Disallow: /*/gallery/*order=*
Disallow: /*?*
Disallow: /*&print=
Disallow: /*register=
Disallow: /*forgot_password=
Disallow: /*change_password=
Disallow: /*login=
Disallow: /*logout=
Disallow: /*auth=
Disallow: /*action=*
Disallow: /*bitrix_*=
Disallow: /*backurl=*
Disallow: /*BACKURL=*
Disallow: /*back_url=*
Disallow: /*BACK_URL=*
Disallow: /*back_url_admin=*
Disallow: /*print_course=Y
Disallow: /*COURSE_ID=
Disallow: /*PAGEN_*
Disallow: /*PAGE_*
Disallow: /*SHOWALL
Disallow: /*show_all=
Host: sitename.ru
Sitemap: https://www.sitename.ru/sitemap.xml

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

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

Это так сказать базовый вариант robots.txt для wordpress. Здесь присутствует два User-agent-a – один для всех и второй для Яндекса, где указывается директива Host .

Мета-теги robots

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

<meta name = "robots" content = "noindex,nofollow" >

Прописывать его надо в теге и этот мета тег запретит индексировать сайт. В WordPress существуют плагины, которые позволяют выставлять такие мета теги, например – Platinum Seo Pack . С помощью него можно закрыть от индексации любую страницу, он использует мета-теги.

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

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

User-agent : *
Crawl-delay : 5

Таймаут между загрузкой двух страниц будет равен 5 секундам. Чтобы уменьшить нагрузку на сервер, обычно выставляют 15-20 секунд. Это директива нужны для больших, часто обновляемых сайтов, на которых поисковые боты просто «живут».

Для обычных сайтов/блогов эта директива не нужна, но можно таким образом ограничить поведение других не актуальных поисковых роботов (Rambler, Yahoo, Bing) и.т.п. Ведь они тоже заходят на сайт и индексируют его, создавая тем самым нагрузку на сервер.

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

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

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

Общие правила robots.txt

Во-первых, сам файл robots.txt должен иметь кодировку ANSI.

Во-вторых, нельзя использовать для написания правил никаких национальных алфавитов, возможна только латиница.

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

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

Директивы и блоки правил разделяются переносом строки. Единственное допущение, это комментарии.

Комментирование в robots.txt

Для комментирования используется символ ‘#’. Если вы поставите в начале строки символ «решётки», то до конца строки всё содержимое игнорируется поисковыми роботами.

User-agent: *
Disallow: /css #пишем комментарий
#Пишем ещё один комментарий
Disallow: /img

Секции в файле robots.txt

При прочтении файла роботом, используется только секция адресованная роботу этой поисковой системы, то есть, если в секции, user-agent указано имя поисковой системы Яндекс, то его робот прочитает только адресованную ему секцию, игнорируя другие, в частности и секцию с директивой для всех роботов - User-agent:*.

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

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

User-agent:YandexBot
# юзер-агент для роботов системы Яндекс
User-agent: *
# юзер-агент для всех роботов

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

Директивы, что это?

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

Секция файла robots.txt состоит из отдельных команд,
директив. Общий синтаксис директив таков:

[Имя_директивы]:[необязательный пробел][значение][необязательный пробел]

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

Давайте опишем значения основных используемых директив.

Директива Disallow

Наиболее используемая директива в файле robots.txt, это «Disallow» - запрещающая. Директива «Disallow» запрещает индексацию указанного в ней пути. Это может быть отдельная страница, страницы, содержащие указанную «маску» в своём URL`е (пути), часть сайта, отдельная директория (папка) или сайт целиком.

«*» - звёздочка означает - «любое количество символов». То есть, путь /folder* одинаков по своему значению с «/folders», «/folder1», «/folder111», «/foldersssss» или «/folder». Роботы, при чтении правил, автоматически дописывают знак «*». В примере, приведённом ниже, обе директивы абсолютно равнозначны:

Disallow: /news
Disallow: /news*

«$» - знак доллара запрещает роботам при чтении директив автоматически дописывать символ «*» (звёздочка) в конце директивы. Другими словами, символ «$» означает конец строки сравнения. То есть, в нашем примере мы запрещаем индексацию папки «/folder», но не запрещаем в папках «/folder1», «/folder111» или «/foldersssss»:

User-agent: *
Disallow: /folder$

«#» - (шарп) знак комментария . Всё, что написано после этого значка, в одной с ним строке, игнорируется поисковыми системами.

Директива Allow

Директива ALLOW файла robots.txt противоположна по своему значению директиве DISSALOW, директива ALLOW разрешающая. В примере ниже показано, что мы запрещаем индексировать весь сайт кроме папки /folder:

User-agent: *
Allow: /folder
Disallow: /

Пример одновременного использования «Allow», «Disallow» и приоритетность

Не забывайте, о понимании приоритетности при запретах и разрешениях, при указании директив. Раньше приоритет указывался порядком объявления запретов и разрешений. Сейчас приоритет определяется указанием максимально существующего пути в пределах одного блока для робота поисковой системы (User-agent), в порядке увеличения длинны пути и месту указания директивы, чем длиннее путь, тем приоритетнее:

User-agent: *
Allow: /folders
Disallow: /folder

В приведённом примере выше разрешена индексация URL`ов начинающихся с «/folders», но запрещена в путях, которые имеют в своих URL`ах начало «/folder», «/folderssss» или «/folder2». В случае попадания одинакового пути под обе директивы «Allow» и «Disallow», предпочтение отдаётся директиве «Allow».

Пустое значение параметра в директивах «Allow» и «Disallow»

Встречаются ошибки WEB-мастеров, когда в файле robots.txt в директиве «Disallow»
забывают указать символ «/». Это является неправильным, ошибочным трактованием значений директив и их синтаксиса. В результате, запрещающая директива становится разрешающей: «Disallow:» абсолютно идентична «Allow: /». Правильный запрет на индексацию всего сайта выглядит так:

То же самое можно сказать и об «Allow:». Директива «Allow:» без символа «/» запрещает индексацию всего сайта, так же как и «Disallow: /».

Директива Sitemap

По всем канонам SEO-оптимизации, необходимо использовать карту сайта (SITEMAP) в формате XML и предоставлять её поисковым системам.

Несмотря на функциональность «кабинетов для WEB-мастеров» в поисковых системах, необходимо заявлять о присутствии sitemap.xml и в robots.txt с помощью директивы «SITEMAP ». Поисковые роботы при обходе вашего сайта увидят указание на файл sitemap.xml и будут обязательно использовать его при следующих обходах. Пример использования директивы sitemap в файле robots.txt:

User-agent: *
Sitemap: https://www.domainname.zone/sitemap.xml

Директива Host

Ещё одной важной директивой robots.txt является директива HOST .

Считается, что не все поисковые системы её распознают. Но «Яндекс» указывает, что читает эту директиву, а Яндекс в России является основным «поисковым кормильцем», поэтому не будем игнорировать директиву «host».

Эта директива говорит поисковым системам, какой домен является главным зеркалом. Все мы знаем, что сайт может иметь несколько адресов. В URL сайта может использоваться или не использоваться префикс WWW или сайт может иметь несколько доменных имён, например, domain.ru, domain.com, domen.ru, www.domen.ru. Вот именно в таких случаях мы и сообщаем поисковой системе в файле robots.txt с помощью директивы host, какое из этих имён является главным. Значением директивы является само имя главного зеркала. Приведём пример. Мы имеем несколько доменных имён (domain.ru, domain.com, domen.ru, www.domen.ru) и все они перенаправляют посетителей на сайт www.domen.ru, запись в файле robots.txt будет выглядеть так:

User-agent: *
Host: www.domen.ru

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

Директива HOST решает проблему дублей страниц, с которой очень часто сталкиваются WEB-мастера и SEO-специалисты. Поэтому директиву HOST нужно использовать обязательно, если вы нацелены на русскоязычный сегмент и вам важно ранжирование вашего сайта в поисковой системе «Яндекс». Повторимся, на сегодня о чтении этой директивы заявляет только «Яндекс». Для указания главного зеркала в других поисковых системах необходимо воспользоваться настройками в кабинетах WEB-мастеров. Не забывайте, что имя главного зеркала должно быть указано корректно (правильность написания, соблюдение кодировки и синтаксиса файла robots.txt). В файле эта директива допускается только один раз. Если вы по ошибке укажете её несколько раз, то роботы учтут только первое вхождение.

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

Данная директива является технической, командой поисковым роботам, как часто нужно посещать ваш сайт. Точнее, директива Crawl-delay указывает минимальный перерыв между посещениями вашего сайта роботами (краулерами поисковых систем). Зачем указывать это правило? Если роботы заходят к вам очень часто, а новая информация на сайте появляется намного реже, то со временем поисковые системы привыкнут к редкому изменению информации на вашем сайте и будут посещать вас значительно реже, чем хотелось бы вам. Это поисковый аргумент в пользу использования директивы «Crawl-delay». Теперь технический аргумент. Слишком частое посещение вашего сайта роботами создаёт дополнительную нагрузку на сервер, которая вам совсем не нужна. Значением директивы лучше указывать целое число, но сейчас некоторые роботы научились читать и дробные числа. Указывается время в секундах, например:

User-agent: Yandex
Crawl-delay: 5.5

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

Необязательная директива «Clean-param» указывает поисковым роботам параметры адресов сайта, которые не нужно индексировать и следует воспринимать, как одинаковые URL. Например, у вас одни и те же страницы выводятся по разным адресам, отличающимся одним или несколькими параметрами:

www.domain.zone/folder/page/
www.domain.zone/index.php?folder=folder&page=page1/
www.domain.zone/ index.php?folder=1&page=1

Поисковые роботы будут сканировать все подобные страницы и заметят, что страницы одинаковые, содержат один и тот же контент. Во-первых, это создаст путаницу в структуре сайта при индексации. Во-вторых, дополнительная нагрузка на сервер возрастёт. В третьих, скорость сканирования заметно упадёт. Чтобы избежать этих неприятностей и используется директива «Clean-param». Синтаксис следующий:

Clean-param: param1[¶m2¶m3¶m4& ... ¶m*N] [Путь]

Директиву «Clean-param», как и «Host» читают не все поисковые системы. Но Яндекс её понимает.

Ошибки, которые часто встречаются в robots.txt

Файл robots.txt находится не в корне сайта

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

Ошибка в имени файла robots.txt

Имя файла пишется маленькими буквами (нижний регистр) и должен называться robots. txt . Все остальные варианты считаются ошибочными и поисковые стсемы будут вам сообщать об отсутствии файла. Частые ошибки выглядят так:

ROBOTS.txt
Robots.txt
robot.txt

Использование недопустимых символов в robot.txt

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

Ошибки синтаксиса robots.txt

Старайтесь строго соблюдать правила синтаксиса в файле robots.txt. Синтаксические ошибки могут привести к игнорированию содержимого всего файла поисковыми системами.

Перечисление нескольких роботов одной строкой в директиве User-agent

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

User-agent: Yandex, Googlebot, Bing

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

User-agent с пустым значением

Директива User-agent не может иметь пустое значение. Пустыми могут быть только «Allow» и «Disallow» и то с учётом того, что меняют своё значение. Указание директивы User-agent с пустым значением является грубейшей ошибкой.

Нескольких значений в директиве Disallow

Реже встречающаяся ошибка, но, тем не менее, периодически её можно видеть на сайтах, это указание нескольких значений в директивах Allow и Disallow, например:

Disallow: /folder1 /folder2 /folder3

Disallow: /folder1
Disallow: /folder2
Disallow: /folder3

Несоблюдение приоритетов директив в robots.txt

Эта ошибка уже описывалась выше, но для закрепления материала повторимся. Раньше приоритет определялся порядком указания директив. На сегодняшний день правила изменились, приоритет уточняется по длине строки. Если в файле будут присутствовать две взаимоисключающих директивы, Allow и Disallow с одинаковым содержимым, то приоритет будет иметь Allow.

Поисковые системы и robots.txt

Директивы в файле robots.txt носят рекомендательный характер для поисковых систем. Это значит, что правила прочтения могут периодически меняться или дополняться. Так же помните, что каждая поисковая система по-своему обрабатывает директивы файла. И не все директивы каждая из поисковых систем читает. Например, директиву «Host» сегодня читает только Яндекс. При этом Яндекс не гарантирует, что имя домена указанное, как главное зеркало в директиве Host обязательно будет назначено главным, но утверждает, что приоритет указанному имени в директиве будет отдаваться.

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

Быстрая навигация по этой странице:

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

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

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

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

Файл выполняет следующие функции:

  1. запрещает какие-либо страницы или группы страниц к индексации
  2. разрешает какие-либо страницы или группы страниц к индексации
  3. указывает роботу Яндекса, какое зеркало сайта является главным (с www или без www)
  4. показывает расположение файла с картой сайта

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

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

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

Для Google главное зеркало прописывается в инструментах Вебмастера (http://www.google.ru/webmasters/), а вот для Яндекса данные инструкции можно прописать только в том самом роботс.тхт.

Указание на xml-файл с картой сайта (например — sitemap.xml) позволяет поисковикам обнаружить данный файл.

Правила указания User-agent

User-agent в данном случае — это поисковая система. При написании инструкций необходимо указать, будут ли они действовать на все поисковики (тогда проставляется знак звездочки — *) или же они рассчитаны на какой-то отдельный поисковик — например, Яндекс или Google.

Для того, чтобы задать User-agent с указанием на всех роботов, напишите в своем файле следующую строку:

User-agent: *

Для Яндекса:

User-agent: Yandex

Для Гугла:

User-agent: GoogleBot

Правила указания disallow и allow

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

Посредством такого кода вы разрешаете индексацию всех страниц сайта:

User-agent: * Disallow:

А посредством такого кода, напротив, все странички будут закрыты:

User-agent: * Disallow: /

Для запрета на индексацию конкретной директории под названием folder укажите:

User-agent: * Disallow: /folder

Можно использовать также звездочки для подстановки произвольного названия:

User-agent: * Disallow: *.php

Важно: звездочка заменяет название файла целиком, то есть нельзя указать file*.php, можно только *.php (но будут запрещены все страницы с расширением.php, чтобы этого избежать — можете указать конкретный адрес страницы).

Директива allow, как было указано выше, используется для создания исключений в disallow (иначе она не имеет смысла, так как страницы по умолчанию и так открыты).

Например, запретим к индексации страницы в папке archive, но оставим открытой страничку index.html из этой директории:

Allow: /archive/index.html Disallow: /archive/

Указываем хост и карту сайта

Хост — это главное зеркало сайта (то есть название домена плюс www или название домена без этой приставки). Хост указывается только для робота Яндекса (при этом обязательно должна быть хотя бы одна команда disallow).

Для указания host robots.txt должен содержать следующую запись:

User-agent: Yandex Disallow: Host: www.вашсайт.ру

Что касается карты сайта, то в robots.txt sitemap указывается простым прописанием полного пути к соответствующему файлу, с указанием доменного имени:

Sitemap: http://вашсайт.ру/sitemap.xml

О том, как сделать карту сайта для WordPress, написано .

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

Для wordpress инструкции необходимо указывать таким образом, чтобы закрыть к индексации все технические директории (wp-admin, wp-includes и т.д.), а также дубли страниц, создаваемые тегами, файлами rss, комментариями, поиском.

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

User-agent: Yandex Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: */feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/* Disallow: */attachment/* Allow: /wp-content/uploads/ Host: www..php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: */feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/* Disallow: */attachment/* Allow: /wp-content/uploads/ User-agent: * Disallow: /wp-admin Disallow: /wp-includes Disallow: /wp-login.php Disallow: /wp-register.php Disallow: /xmlrpc.php Disallow: /search Disallow: */trackback Disallow: */feed/ Disallow: */feed Disallow: */comments/ Disallow: /?feed= Disallow: /?s= Disallow: */page/* Disallow: */comment Disallow: */tag/* Disallow: */attachment/* Allow: /wp-content/uploads/ Sitemap: https://www..xml

Скачать файл robots.txt с нашего сайта можно по .

Если по итогам прочтения этой статьи у вас остались какие-либо вопросы — задавайте в комментариях!