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

Основные директивы и их значения

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

  • User-agent: * — общее правило для всех поисковых систем;
  • User-agent: Googlebot — робот Google;
  • User-agent: Yandex — робот Яндекс;
  • User-agent: Mai.ru — робот Mail.ru;
  • User-agent: Yahoo Slurp — робот Yahoo и др.

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

  • YandexBot — для органической выдачи;
  • YandexDirect — для контекстной рекламы;
  • YandexNews — для новостных сайтов и т. п.

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

Disallow — это директива, которая указывает, какие разделы или страницы нельзя посещать поисковым роботам. Все значения задаются в виде относительных ссылок (то есть без указания домена). Основные правила запрета:

  • Disallow: /wp-admin — закрывает админку сайта;
  • Disallow: /cgi-bin — запрет индексации директории, в которой хранятся CGI-скрипты;
  • Disallow: /*? или Disallow: /search — закрывает от индексации поиск на сайте;
  • Disallow: *utm* — закрывает все страницы с UTM-метками;
  • Disallow: */xmlrpc.php — закрывает файл с API WordPress и т. д.

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

Allow — это директива, которая указывает, какие разделы и страницы должны проиндексировать поисковые роботы. Как и с директивой Disallow, в значении нужно указывать относительные ссылки:

  • Allow: /*.css или Allow: *.css — индексировать все css-файлы;
  • Allow: /*.js — обходить js-файлы;
  • Allow: /wp-admin/admin-ajax.php — разрешает индексацию асинхронных JS-скриптов, которые используются в некоторых темах.

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

Sitemap — это необязательная директива, которая указывает, где находится карта сайта Sitemap. Единственная директива, которая поддерживает абсолютные ссылки (то есть местоположение файла должно указываться целиком): Sitemap: https://site.ru/sitemap.xml , где site.ru — имя домена.

Также есть некоторые директивы, которые считаются уже устаревшими. Их можно удалить из кода, чтобы не «засорять» файл:

  • Crawl-delay. Задает паузу в индексации для поисковых роботов. Например, если задать для Crawl-Delay параметр 2 секунды, то каждый новый раздел/файл будет индексироваться через 2 секунды после предыдущего. Это правило раньше указывали, чтобы не создавать дополнительную нагрузку на хостинг. Но сейчас мощности современных процессоров достаточно для любой нагрузки.
  • Host. Указывает основное зеркало сайта. Например, если все страницы сайта доступны с www и без этого префикса, один из вариантов будет считаться зеркалом. Главное — чтобы на них совпадал контент. Раньше зеркало нужно было задавать в robots.txt, но сейчас поисковые системы определяют этот параметр автоматически.
  • Clean-param. Директива, которая использовалась, чтобы ограничить индексацию совпадающего динамического контента. Считается неэффективной.

Пример robots.txt

User-agent: Yandex
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /themes/
Disallow: /trackback/
Disallow: /comment/
Disallow: /author/
Disallow: /rss/
Disallow: /*.js
Disallow: /*.inc
Disallow: /*.css
Disallow: /*?
Disallow: /*.gz
Disallow: */page/
Crawl-delay: 9.0

User-agent: Googlebot
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /themes/
Disallow: /trackback/
Disallow: /comment/
Disallow: /author/
Disallow: /rss/
Disallow: /*.js
Disallow: /*.inc
Disallow: /*.css
Disallow: /*?
Disallow: /*.gz
Disallow: */page/
Crawl-delay: 9.0

User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /themes/
Disallow: /trackback/
Disallow: /comment/
Disallow: /author/
Disallow: /rss/
Disallow: /*.js
Disallow: /*.inc
Disallow: /*.css
Disallow: /*?
Disallow: /*.gz
Disallow: */page/
Crawl-delay: 9.0

Host: you-site.ru
Sitemap: https://you-site.ru/sitemap_index.xml

User-agent: MJ12bot
Disallow: /

User-agent: BUbiNG
Disallow: /

User-agent: SemrushBot
Disallow: /

User-agent: SemrushBot-SA
Disallow: /

User-agent: DataForSeoBot
Disallow: /

User-agent: bingbot
Disallow: /

User-agent: dataforseo-bot
Disallow: /

User-agent: bingbot/2.0
Disallow: /

User-agent: bingbot
Disallow: /

User-agent: ImagesiftBot
Disallow: /
0
Visited 1 times, 1 visit(s) today