Настройки 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