Robots.txt — Как создать правильный robots.txt
Файл 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
Ниже приведена таблица основных юзер-агентов различных поисковых систем.
Бот | Функция |
---|---|
Googlebot | основной индексирующий робот Google |
Googlebot-News | Google Новости |
Googlebot-Image | Google Картинки |
Googlebot-Video | видео |
Mediapartners-Google | Google AdSense, Google Mobile AdSense |
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/$
Следующие ссылки будут закрыты от индексации:
http://site.ru/?s=
http://site.ru/?s=keyword
http://site.ru/page/?s=keyword
http://site.ru/category/
Следующие ссылки будут открыты для индексации:
http://site.ru/category/cat1/
http://site.ru/category-folder/
Во-вторых, нужно понимать, каким образом выполняются вложенные правила.
Помните, что порядок записи директив не важен. Наследование правил, что открыть или закрыть от индексации определяется по тому, какие директории указаны. Разберем на примере.
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 раздела. Директива поддерживается Яндексом.
Пример 1:
Clean-param: author_id http://site.ru/articles/
http://site.ru/articles/?author_id=267539 — индексироваться не будет
Пример 2:
Clean-param: author_id&sid http://site.ru/articles/
http://site.ru/articles/?author_id=267539&sid=0995823627 — индексироваться не будет
Яндекс также рекомендует использовать эту директиву для того, чтобы не учитывались UTM-метки и идентификаторы сессий. Пример:
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 воспользуйтесь следующим алгоритмом:
- Закройте от индексирования админку сайта
- Закройте от индексирования личный кабинет, авторизацию, регистрацию
- Закройте от индексирования корзину, формы заказа, данные по доставке и заказам
- Закройте от индексирования ajax, json-скрипты
- Закройте от индексирования папку cgi
- Закройте от индексирования плагины, темы оформления, js, css для всех роботов, кроме Яндекса и Google
- Закройте от индексирования функционал поиска
- Закройте от индексирования служебные разделы, которые не несут никакой ценности для сайта в поиске (ошибка 404, список авторов)
- Закройте от индексирования технические дубли страниц, а также страницы, на которых весь контент в том или ином виде продублирован с других страниц (календари, архивы, RSS)
- Закройте от индексирования страницы с параметрами фильтров, сортировки, сравнения
- Закройте от индексирования страницы с параметрами UTM-меток и сессий
- Проверьте, что проиндексировано Яндексом и Google с помощью параметра «site:» (в поисковой строке наберите «site:site. ru»). Если в поиске присутствуют страницы, которые также нужно закрыть от индексации, добавьте их в robots.txt
- Укажите Sitemap и Host
- По необходимости пропишите Crawl-Delay и Clean-Param
- Проверьте корректность robots.txt через инструменты Google и Яндекса (описано ниже)
- Через 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.
- В Google Search Console — на вкладке Сканирование>Инструмент проверки файла robots.txt
Типичные ошибки в robots.txt
В конце статьи приведу несколько типичных ошибок файла robots.txt
- robots.txt отсутствует
- в robots.txt сайт закрыт от индексирования (Disallow: /)
- в файле присутствуют лишь самые основные директивы, нет детальной проработки файла
- в файле не закрыты от индексирования страницы с UTM-метками и идентификаторами сессий
- в файле указаны только директивы
Allow: *.js
Allow: *.png
Allow: *.jpg
Allow: *.gif
при этом файлы css, js, png, jpg, gif закрыты другими директивами в ряде директорий - директива Host прописана несколько раз
- в Host не указан протокол https
- путь к Sitemap указан неверно, либо указан неверный протокол или зеркало сайта
P.S.
Если у вас есть дополнения к статье или вопросы, пишите ниже в комментариях.
Если у вас сайт на CMS WordPress, вам будет полезна статья «Как настроить правильный robots. txt для WordPress».
P.S.2
Полезное видео от Яндекса (Внимание! Некоторые рекомендации подходят только для Яндекса).
Как правильно составить файл robots.txt: инструкция
Вебмастер может направить поисковых ботов на страницы, которые считает обязательными для индексирования, и скрыть те, которых в выдаче быть не должно. Для этого предназначен файл robots.txt. Команда сервиса для анализа сайта PR-CY составила гайд об этом файле: для чего он нужен, из каких команд состоит, как составить его по правилам и проверить.
Зачем нужен robots.txt
С помощью этого файла можно повлиять на поведение ботов Яндекса и Google. Файл robots.txt содержит указания для краулеров, предназначенных для индексирования сайта. Он состоит из списка команд, которые рекомендуют либо просканировать, либо пропустить конкретные страницы или целые разделы сайта. Если боты «прислушаются» к этим пожеланиям, то не будут посещать закрытые страницы или индексировать определенный тип контента.
Закрывают обычно дублирующие страницы, служебные, неинформативные, страницы с GET-параметрами или просто неважные для пользователей.
Зачем это нужно:
- уменьшить количество запросов к серверу;
- оптимизировать краулинговый бюджет сайта — общее количество страниц, которое за один раз может посетить поисковый бот;
- уменьшить шанс того, что в выдачу попадут страницы, которые там не нужны.
Как надежно закрыть страницу от ботов
Поисковики не воспринимают robots.txt как список жестких правил, это только рекомендации. Даже если в robots стоит запрет, страница может появиться в выдаче, если на нее ведет внешняя или внутренняя ссылка.
Страница, доступ к которой запретили только в robots.txt, может попасть в выдачу и будет выглядеть так:
Главная страница сайта в выдаче, но описание бот составить не смог
Если вы точно не хотите, чтобы страница попала в индекс, недостаточно запретить сканирование в файле robots.txt. Один из вариантов, подходящий для служебных страниц, — запаролить ее. Бот не сможет просканировать содержимое страницы, если она доступна только пользователям, авторизованным через логин и пароль.
Если страницы нельзя закрыть паролем, но не хочется показывать их ботам, есть вариант применить директивы «noindex» и «nofollow». Для этого нужно добавить их в секцию <head> HTML-кода страницы:
<meta name="robots" content="noindex, nofollow"/>
Чтобы робот правильно интерпретировал «noindex» и «nofollow» и не добавил страницу в индекс, не закрывайте одновременно доступ к ней в файле robots.txt. Так бот не получит доступа к странице и не увидит запрещающих директив.
Требования поисковых систем к файлу robots.txt
Каким должен быть файл, как его оформить и куда размещать — в этом и Яндекс, и Google солидарны:
- Формат — только txt.
- Вес — не превышающий 32 КБ.
- Название — строго строчными буквами «robots.txt». Никакие другие варианты, к примеру, с заглавной, боты не воспримут.
- Наполнение — строго латиница. Все записи должны быть на латинице, включая адрес сайта: если он кириллический, его нужно переконвертировать в punycode. Например, после конвертации запись сайта «окна.рф» будет выглядеть как «xn--80atjc.xn--p1ai». Ее и нужно использовать в командах.
- Исключение для предыдущего правила — комментарии вебмастера. Они могут быть на любом языке, поскольку специалист оставляет их для себя и коллег, а не для поисковых ботов. Для обозначения комментариев используют символ «#». Все, что указано после «#», роботы проигнорируют, поэтому следите, чтобы туда случайно не попали важные команды.
- Количество файлов robots.txt — должен быть один общий файл на весь сайт вместе с поддоменами.
- Местоположение — корневой каталог. У поддоменов файл должен быть таким же, только разместить его нужно в корневом каталоге каждого поддомена.
- Ссылка на файл — https://example.com/robots.txt (вместо https://example.com нужно указать адрес вашего сайта).
- Ссылка на robots.txt должна отдавать код ответа сервера 200 OK.
Подробные рекомендации для robots.txt от Яндекса читайте здесь, от Google — здесь.
Дальше рассмотрим, каким образом можно давать рекомендации ботам.
Как правильно составить robots.txt
Файл состоит из списка команд (директив) с указанием страниц, на которые они распространяются, и адресатов — имён ботов, к которым команды относятся.
Директиву Clean-param воспринимают только боты Яндекса, а в остальном в 2021 году команды для ботов Google и Яндекса одинаковы.
Основные обозначения файла
User-agent — какой бот должен прореагировать на команду. После двоеточия указывают либо конкретного бота, либо обобщают всех с помощью символа *.
Пример. User-agent: * — все существующие роботы, User-agent: Googlebot — только бот Google.
Disallow — запрет сканирования. После косого слэша указывают, на что распространяется команда запрета.
Пример:
Disallow: /blog/page-2. html
Пустое поле в Disallow означает разрешение на сканирование всего сайта:
User-agent: *
Disallow:
А эта запись запрещает всем роботом сканировать весь сайт:
User-agent: *
Disallow: /
Если речь идет о новом сайте, проследите, чтобы в файле robots.txt не осталась эта запись, после того как разработчики выложат сайт на рабочий домен.
Эта запись разрешает сканирование боту Google, а всем остальным запрещает:
User-agent: Googlebot
Disallow:
User-agent: *
Disallow: /
Отдельно прописывать разрешения необязательно. Доступным считается всё, что вы не закрыли.
В записях важен закрывающий косой слэш, его наличие или отсутствие меняет смысл:
Disallow: /about/ — запись закрывает раздел «О нас», доступный по ссылке https://example.com/about/
Disallow: /about — закрывает все ссылки, которые начинаются с «/about», включая раздел https://example. com/about/, страницу https://example.com/about/company/ и другие.
Каждому запрету соответствует своя строка, нельзя перечислить несколько правил сразу. Вот неправильный вариант записи:
Disallow: /catalog/blog/photo/
Правильно оформить их раздельно, каждый с новой строки и своим Disallow:
Disallow: /catalog/
Disallow: /blog/
Disallow: /photo/
Allow означает разрешение сканирования, с помощью этой команды удобно прописывать исключения. Для примера запись запрещает всем ботам сканировать весь альбом, но делает исключение для одного фото:
User-agent: *
Allow: /album/photo1.html
Disallow: /album/
А вот и отдельная команда для Яндекса — Clean-param. Директиву используют, чтобы исключить дубли страниц, которые могут появляться из-за GET-параметров или UTM-меток. Clean-param распознают только боты Яндекса. Вместо нее можно использовать Disallow, эту команду понимают в том числе и гуглоботы.
Допустим, на сайте есть страница page=1 и у нее могут быть такие параметры:
https://example.com/index.php?page=1&sid=2564126ebdec301c607e5df
https://example.com/index.php?page=1&sid=974017dcd170d6c4a5d76ae
Каждый образовавшийся адрес в индексе не нужен, достаточно, чтобы там была общая основная страница. В этом случае в robots нужно задать Clean-param и указать, что ссылки с дополнениями после «sid» в страницах на «/index.php» индексировать не нужно:
User-agent: Yandex
Disallow:
Clean-param: sid /index.php
Если параметров несколько, перечислите их через амперсанд:
Clean-param: sid&utm&ref /index.php
Строки не должны быть длиннее 500 символов. Такие длинные строки — редкость, но из-за перечисления параметров такое может случиться. Если указание получилось сложным и длинным, его можно разделить на несколько. Примеры найдете в Справке Яндекса.
Sitemap — ссылка на карту сайта. Если карты сайта нет, запись не нужна. Сама по себе карта не обязательна, но если сайт большой, то лучше ее создать и дать ссылку в robots, чтобы ботам было проще разобраться в структуре.
Sitemap: https://example.com/sitemap.xml
Обозначим также два важных спецсимвола, которые используются в robots:
* — предполагает любую последовательность символов после этого знака;
$ — указывает на то, что на этом элементе необходимо остановиться.
Пример. Такая запись:
Disallow: /catalog/category1$
запрещает роботу индексировать страницу site.com/catalog/category1, но не запрещает индексировать страницу site.com/catalog/category1/product1.
Лучше не заниматься сбором команд вручную, для этого есть сервисы, которые работают онлайн и бесплатно. Инструмент для генерации robots.txt бесплатно соберет нужные команды: открыть или закрыть сайт для ботов, указать путь к sitemap, настроить ограничение на посещение избранных страниц, установить задержку посещений.
Настройки файла в инструменте
Есть и другие бесплатные генераторы файла, которые позволят быстро создать robots и избежать ошибок. У популярных движков есть плагины, с ними собирать файл еще проще. О них расскажем ниже.
Как проверить правильность robots.txt
После создания файла и добавления в корневой каталог будет не лишним проверить, видят ли его боты и нет ли ошибок в записи. У поисковых систем есть свои инструменты:
- Найти ошибки в заполнении robots — инструмент от Яндекса. Укажите сайт и введите содержимое файла в поле.
- Проверить доступность для ботов — инструмент от Google. Введите ссылку на URL с вашим robots.txt.
- Определить наличие файла robots.txt в корневом каталоге и доступность сайта для индексации — Анализ сайта от PR-CY. В сервисе есть еще 70+ тестов с проверкой SEO, технических параметров, ссылок и другого.
Фрагмент проверки сайта сервисом pr-cy.ru/analysis
В «Важных событиях» отобразятся даты изменения файла.
Оповещения в интерфейсе
Правильный robots.txt для разных CMS: примеры готового файла
Файл robots.txt находится в корневой папке сайта. Чтобы создать или редактировать его, нужно подключиться к сайту по FTP-доступу. Некоторые системы управления (например, Битрикс) предоставляют возможность редактировать файл в административной панели.
Посмотрим, какие возможности для редактирования файла есть в популярных CMS.
WordPress
У WP много бесплатных плагинов, которые формируют robots.txt. Эта опция предусмотрена в составе общих SEO-плагинов Yoast SEO и All in One SEO, но есть и отдельные, которые отвечают за создание и редактирование файла, например:
- Robots.txt Editor,
- Virtual Robots.txt,
- WordPress Robots.txt optimization (+XML Sitemap).
Пример robots.txt для контентного проекта на WordPress
Это вариант файла для блогов и других проектов без функции личного кабинета и корзины.
User-agent: * # установили общие правила для роботов
Disallow: /cgi-bin # закрыли системную папку, которая находится на хостинге
Disallow: /? # обобщили все параметры запроса на главной странице сайта
Disallow: /wp— # все специальные WordPress-файлы: /wp-json/, /wp-content/plugins, /wp-includes
Disallow: *?s= # здесь и далее перечисление запросов поиска
Disallow: *&s=
Disallow: /search/
Disallow: */trackback # закрыли трекбеки — уведомления о появлении ссылки на статью
Disallow: */feed # новостные ленты полностью
Disallow: */rss # rss-ленты
Disallow: */embed # все встраивания
Disallow: /xmlrpc. php # файл API WP
Disallow: *utm*= # все ссылки, у которых прописаны UTM-метки
Disallow: *openstat= # все ссылки, у которых прописаны openstat-метки
Allow: */uploads # открыли доступ к папке с файлами uploads
Allow: /*/*.js # открыли доступ к js-скриптам внутри /wp-, уточнили /*/ для приоритета
Allow: /*/*.css # доступ к css-файлам внутри /wp-, также уточнили /*/ для приоритета
Allow: /wp-*.png # доступ к картинкам в плагинах, папке cache и других в формате png
Allow: /wp-*.jpg # то же самое для формата jpg
Allow: /wp-*.jpeg # для формата jpeg
Allow: /wp-*.gif # и для анимаций в gif
Allow: /wp-admin/admin-ajax.php # открыли доступ к этому файлу, чтобы не блокировать JS и CSS для плагинов
Sitemap: https://example.com/sitemap.xml # указали ссылку на карту сайта (вместо https://example.com нужно подставить сой домен)
Пример robots.txt для интернет-магазина на WordPress
Похожий файл, но со спецификой интернет-магазина на платформе WooCommerce на базе WordPress. Закрываем то же самое, что в предыдущем примере, плюс страницу корзины, а также отдельные страницы добавления в корзину и оформления заказа пользователем.
User-agent: *
Disallow: /cgi-bin
Disallow: /?
Disallow: /wp-
Disallow: /wp/
Disallow: *?s=
Disallow: *&s=
Disallow: /search/
Disallow: */trackback
Disallow: */feed
Disallow: */rss
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: *utm*=
Disallow: *openstat=
Disallow: /cart/
Disallow: /checkout/
Disallow: /*add-to-cart=*
Allow: */uploads
Allow: /*/*.js
Allow: /*/*.css
Allow: /wp-*.png
Allow: /wp-*.jpg
Allow: /wp-*.jpeg
Allow: /wp-*.gif
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xml
1C-Битрикс
В модуле «Поисковая оптимизация» этой CMS начиная с версии 14.0.0 можно настроить управление файлом robots из административной панели сайта. Нужный раздел находится в меню Маркетинг > Поисковая оптимизация > Настройка robots. txt.
Пример robots.txt для сайта на Битрикс
Похожий набор рекомендаций с дополнениями, подразумевающими, что у сайта есть личный кабинет пользователя.
User-agent: *
Disallow: /cgi-bin # закрыли папку на хостинге
Disallow: /bitrix/ # закрыли папку с системными файлами Битрикс
Disallow: *bitrix_*= # GET-запросы Битрикс
Disallow: /local/ # другая папка с системными файлами Битрикс
Disallow: /*index.php$ # дубли страниц с index.php
Disallow: /auth/ # страница авторизации
Disallow: *auth=
Disallow: /personal/ # личный кабинет
Disallow: *register= # страница регистрации
Disallow: *forgot_password= # страница с функцией восстановления пароля
Disallow: *change_password= # страница с возможностью изменить пароль
Disallow: *login= # вход с логином
Disallow: *logout= # выход из кабинета
Disallow: */search/ # поиск
Disallow: *action= # действия
Disallow: *print= # печать
Disallow: *?new=Y # новая страница
Disallow: *?edit= # редактирование
Disallow: *?preview= # предпросмотр
Disallow: *backurl= # трекбеки
Disallow: *back_url=
Disallow: *back_url_admin=
Disallow: *captcha # страница с прохождением капчи
Disallow: */feed # новостные ленты
Disallow: */rss # rss-фиды
Disallow: *?FILTER*= # несколько популярных параметров фильтров в каталоге
Disallow: *?ei=
Disallow: *?p=
Disallow: *?q=
Disallow: *?tags=
Disallow: *B_ORDER=
Disallow: *BRAND=
Disallow: *CLEAR_CACHE=
Disallow: *ELEMENT_ID=
Disallow: *price_from=
Disallow: *price_to=
Disallow: *PROPERTY_TYPE=
Disallow: *PROPERTY_WIDTH=
Disallow: *PROPERTY_HEIGHT=
Disallow: *PROPERTY_DIA=
Disallow: *PROPERTY_OPENING_COUNT=
Disallow: *PROPERTY_SELL_TYPE=
Disallow: *PROPERTY_MAIN_TYPE=
Disallow: *PROPERTY_PRICE[*]=
Disallow: *S_LAST=
Disallow: *SECTION_ID=
Disallow: *SECTION[*]=
Disallow: *SHOWALL=
Disallow: *SHOW_ALL=
Disallow: *SHOWBY=
Disallow: *SORT=
Disallow: *SPHRASE_ID=
Disallow: *TYPE=
Disallow: *utm*= # все ссылки, имеющие метки UTM
Disallow: *openstat= # ссылки с метками openstat
Disallow: *from= # ссылки с метками from
Allow: */upload/ # открыли папку, где находятся файлы uploads
Allow: /bitrix/*. js # здесь и далее открыли скрипты js и css
Allow: /bitrix/*.css
Allow: /local/*.js
Allow: /local/*.css
Allow: /local/*.jpg # открыли доступ к картинкам в формате jpg и далее в других форматах
Allow: /local/*.jpeg
Allow: /local/*.png
Allow: /local/*.gif
Sitemap: https://example.com/sitemap.xml
OpenCart
У этого движка есть официальный модуль Редактирование robots.txt Opencart для работы с файлом прямо из панели администратора.
Пример robots.txt для магазина на OpenCart
CMS OpenCart обычно используют в качестве базы для интернет-магазина, поэтому пример robots заточен под нужды e-commerce.
User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php?route=product/product*&manufacturer_id=
Disallow: /admin
Disallow: /catalog
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
Disallow: /*?filter=
Disallow: /*&filter=
Disallow: /*?filter_name=
Disallow: /*&filter_name=
Disallow: /*?filter_sub_category=
Disallow: /*&filter_sub_category=
Disallow: /*?filter_description=
Disallow: /*&filter_description=
Disallow: /*?tracking=
Disallow: /*&tracking=
Disallow: *page=*
Disallow: *search=*
Disallow: /cart/
Disallow: /forgot-password/
Disallow: /login/
Disallow: /compare-products/
Disallow: /add-return/
Disallow: /vouchers/
Sitemap: https://example. com/sitemap.xml
Joomla
Отдельных расширений, связанных с формированием файла robots.txt для этой CMS нет, система управления автоматически генерирует файл при установке, в нем содержатся все необходимые запреты.
Пример robots.txt для сайта на Joomla
В файле закрыты плагины, шаблоны и прочие системные решения.
User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /*?start=*
Disallow: /xmlrpc/
Allow: *.css
Allow: *.js
Sitemap: https://example.com/sitemap.xml
Поисковые системы воспринимают директивы в robots.txt как рекомендации, которым можно следовать или не следовать. Тем не менее, если в файле не будет противоречий, а на закрытые страницы нет входящих ссылок — у ботов не будет причин игнорировать правила. Пользуйтесь нашими инструкциями и примерами, и пусть в выдаче появляются только действительно нужные пользователям страницы вашего сайта.
файлов robots.txt | Search.gov
Файл /robots.txt
— это текстовый файл, в котором автоматизированные веб-боты инструктируются о том, как сканировать и/или индексировать веб-сайт. Веб-команды используют их для предоставления информации о том, какие каталоги сайта следует или не следует сканировать, как быстро следует получать доступ к контенту и какие боты приветствуются на сайте.
Как должен выглядеть мой файл robots.txt?
Подробную информацию о том, как и где создать файл robots.txt, см. в протоколе robots.txt. Основные моменты, на которые следует обратить внимание:
- Файл должен находиться в корне домена, и для каждого поддомена нужен свой файл.
- Протокол robots.txt чувствителен к регистру.
- Легко случайно заблокировать сканирование всего:
-
Запретить: /
означает запретить все. -
Disallow:
означает ничего не запрещать, то есть разрешать все. -
Разрешить: /
-
Разрешить:
означает ничего не разрешать, что запрещает все.
-
- Инструкции в файле robots.txt являются руководством для ботов, а не обязательными требованиями — вредоносные боты могут игнорировать ваши настройки.
Как оптимизировать файл robots.txt для Search.gov?
Задержка сканирования
В файле robots.txt может быть указана директива «задержка сканирования» для одного или нескольких пользовательских агентов, которая сообщает боту, как быстро он может запрашивать страницы с веб-сайта. Например, задержка сканирования, равная 10, означает, что сканер не должен запрашивать новую страницу чаще, чем каждые 10 секунд.
500 000 URL-адресов x 10 секунд между запросами 5 000 000 секунд на все запросы 5 000 000 секунд = 58 дней, чтобы проиндексировать сайт один раз.
Мы рекомендуем установить задержку сканирования в 2 секунды для нашего пользовательского агента usasearch
и установить более высокую задержку сканирования для всех остальных ботов. Чем меньше задержка сканирования, тем быстрее Search.gov сможет проиндексировать ваш сайт. В файле robots.txt это будет выглядеть так:
Агент пользователя: usasearch Задержка сканирования: 2 Пользовательский агент: * Задержка сканирования: 10
XML-карты сайта
В файле robots.txt также должны быть перечислены одна или несколько ваших XML-карт сайта. Например:
Карта сайта: https://www.example.gov/sitemap.xml Карта сайта: https://www.example.gov/independent-subsection-sitemap.xml Карта сайта: https://www.example.gov/rss-feed-of-uploaded-files.xml Карта сайта: https://other.example.gov/cross-submitted-sitemap.xml
- Список всех карт сайта для домена, в котором находится файл robots.txt. Карта сайта другого субдомена должна быть указана в файле robots. txt этого субдомена.
- Мы также поддерживаем каналы RSS 2.0 и Atom 2.0 в качестве карт сайта. Если вы перечислите эти фиды в файле robots.txt как карты сайта, наша система автоматически проиндексирует URL-адреса фидов.
- При необходимости вы можете «перекрестно отправить» карту сайта для URL-адресов этого домена, используя карту сайта, размещенную в другом домене. Прочтите протокол карты сайта XML, чтобы обеспечить правильную реализацию.
Разрешить только тот контент, который вы хотите найти
Мы рекомендуем запретить любые каталоги или файлы, которые не должны быть доступны для поиска. Например:
Запретить: /архив/ Запретить: /news-1997/ Запретить: /reports/duplicative-page.html
- Обратите внимание: если вы запретите каталог после того, как он был проиндексирован поисковой системой, это может не привести к удалению этого содержимого из индекса. Вам нужно будет зайти в инструменты поисковой системы для веб-мастеров, чтобы запросить удаление.
- Также обратите внимание, что поисковые системы могут индексировать отдельные страницы в запрещенной папке, если поисковая система узнает об URL-адресе из метода, не связанного со сканированием, например, по ссылке с другого сайта или из вашей карты сайта. Чтобы данная страница не была доступна для поиска, установите на этой странице метатег robots.
Настройка параметров для разных ботов
Вы можете установить разные разрешения для разных ботов. Например, если вы хотите, чтобы мы проиндексировали ваш заархивированный контент, но не хотите, чтобы Google или Bing индексировали его, вы можете указать следующее:
Агент пользователя: usasearch Задержка сканирования: 2 Разрешить: /архив/ Пользовательский агент: * Задержка сканирования: 10 Запретить: /архив/
Контрольный список Robots.txt
1. В корневом каталоге сайта создан файл robots.txt ( https://example.gov/robots.txt
)
2. Файл robots.txt запрещает любые каталоги и файлы, которые автоматические боты не должны сканировать
3. Файл robots.txt содержит одну или несколько карт сайта XML
4. Формат файла robots.txt прошел проверку
Дополнительные ресурсы
Полное руководство Yoast SEO по Robots.txt
Google «Узнайте о файлах robots.txt»
Как написать хороший robots.txt
Файл robots.txt похож на привратника вашего веб-сайта, который пропускает одних ботов и поисковых роботов, а других нет. Плохо написанный файл robots.txt может привести к проблемам с доступностью для поисковых роботов и падению трафика.
Протокол исключения роботов
Файл robots.txt был впервые определен в исходном документе «Стандарт для исключения роботов» 1994 года, а затем обновлен в спецификации Internet Draft 1996 года «Метод управления веб-роботами». Оба определяют очень строгий и, следовательно, подверженный ошибкам синтаксический анализ, который побудил основные поисковые системы, такие как Google, использовать, а затем указать более расслабленный метод синтаксического анализа и работать над тем, чтобы сделать его интернет-стандартом. Новые документы для протокола исключения роботов находятся в стадии разработки и получили некоторые последние обновления с 2019 года..
При строгом анализе неточные файлы robots.txt могут привести к неожиданному сканированию. Новый, более простой синтаксический анализ позволяет решить ряд проблем, обнаруженных в файлах robots.txt. Непринужденный синтаксический анализ, скорее всего, имел в виду веб-мастер, когда писал robots.txt.
Рассмотрим пример:
Файл robots.txt с
User-agent: * Disallow: /
можно интерпретировать как
User-agent: * Disallow:
со строгим толкованием оригинальных и обновленных документов и как
Агент пользователя: * Disallow: /
с использованием парсинга, указанного в последнем документе.
В этом крайнем примере обе интерпретации приводят к прямо противоположным результатам, и, возможно, пользователь имел в виду смягченную интерпретацию. Как веб-мастер, вы хотите убедиться, что оба анализа идентичны. Вы можете сделать это, работая над проблемами, описанными ниже.
Базовый файл robots.txt
Написание файла robots.txt может быть очень простым, если вы не запрещаете сканирование и обрабатываете всех роботов одинаково. Это позволит всем роботам сканировать сайт без ограничений:
Агент пользователя: * Disallow:
Общие проблемы с файлами robots.txt
Проблемы начинаются, когда все становится сложнее. Например, вы можете обращаться к нескольким роботам, добавлять комментарии и использовать такие расширения, как задержка сканирования или подстановочные знаки. Не все роботы все понимают, и здесь все очень быстро становится запутанным.
Пустые строки
Черновик описывает формат файла следующим образом:
Формат логически состоит из непустого набора или записей, разделенных пустыми строками. Записи состоят из набора строк вида: <Поле> «:» <значение>
Это означает, что записи разделены пустыми строками, и вам не разрешено иметь пустые строки в записи.
Агент пользователя: * Disallow: /
Если строго применять черновик, то это будет интерпретироваться как две записи. Обе записи неполные, первая не имеет правил, вторая не имеет пользовательского агента. Оба набора можно игнорировать, что приведет к созданию пустого файла robots.txt, который фактически будет таким же, как:
User-agent: * Disallow:
Это полностью противоположно тому, что было задумано. Однако некоторые роботы, такие как Googlebot, используют другой подход к разбору файлов robots.txt, удаляя пустые строки и интерпретируя их так, как это, вероятно, придумал веб-мастер:
Агент пользователя: * Disallow: /
Если вы хотите сэкономить, мы настоятельно рекомендуем не использовать пустые строки в записи. Таким образом, больше ботов будет интерпретировать файл robots.txt так, как он был создан.
С другой стороны, это тоже плохо, если у вас нет пустых строк для разделения записей:
User-agent: a Запретить: /путь2/ Пользовательский агент: b Disallow: /path3/
Это неубедительно. Его можно интерпретировать как:
User-agent: a Запретить: /путь2/ Запретить: /path3/
или
Агент пользователя: a Пользовательский агент: b Запретить: /путь2/ Disallow: /path3/
Веб-мастер, вероятно, имел в виду:
User-agent: a Запретить: /путь2/ Пользовательский агент: b Disallow: /path3/
Если вы хотите сэкономить, мы настоятельно рекомендуем разделить записи в этом случае.
Проанализируйте проблемы с разбором robots.txt в несколько кликов с помощью Audisto
Наше программное обеспечение будет систематически проверять все хосты на соответствие файлам robots.txt и предупреждать вас о многих типичных обнаруженных проблемах. Убедитесь, что ваши директивы robots управляют ботами, как задумано.
Заказать демонстрацию
Неполный набор записей
В черновике запись описана следующим образом:
Запись начинается с одной или нескольких строк агента пользователя, указывающих, к каким роботам относится запись, за которыми следуют инструкции «Запретить» и «Разрешить» для этого робота.
Это означает, что запись состоит из строки User-agent и директивы. Даже если вы хотите разрешить сканирование всего вашего сайта, вы должны добавить инструкцию.
Вместо использования:
Агент пользователя: *
Вы должны использовать:
Агент пользователя: * Disallow:
Многие плохо запрограммированные роботы имеют проблемы с комментариями. Черновик допускает комментарии в конце строки и в виде отдельных строк.
# robots.txt версия 1 User-agent: * # обрабатывать всех ботов Disallow: /
Есть несколько роботов, которые полностью запутались в разборе этого и обрабатывают его как:
User-agent: * Disallow:
Мы настоятельно рекомендуем не оставлять комментарии в файле robots.txt, чтобы он правильно обрабатывался большим количеством роботов.
Записи с более чем одним агентом пользователя
Черновик позволяет обращаться к нескольким агентам пользователя и иметь набор правил, которые применяются ко всем из них:
Агент пользователя: bot1 Агент пользователя: bot2 Disallow: /
Для некоторых ботов этот синтаксис слишком сложен, и мы видели, что это интерпретируется как:
User-agent: bot1 Запретить: Агент пользователя: bot2 Disallow: /
или еще хуже
User-agent: bot1 Запретить: Агент пользователя: bot2 Disallow:
Настоятельно рекомендуется адресовать каждому боту отдельную запись для повышения совместимости с плохо запрограммированными роботами. Если вы обращаетесь к более чем одному роботу с отдельным набором записей, вам необходимо использовать пустые строки для разделения записей.
Перенаправление на другой хост или протокол
Черновик очень специфичен в отношении перенаправления:
При ответе сервера, указывающем перенаправление (код состояния HTTP 3XX), робот должен следовать перенаправлениям, пока не будет найден ресурс.
Однако в некоторых роботах это вообще не реализовано. Мы настоятельно рекомендуем вам не перенаправлять файл robots.txt в другое место. У вас должен быть отдельный файл robots.txt на каждом хосте и для каждого протокола/порта, который доступен напрямую, потому что это диапазон допустимости.
Проанализируйте проблемы с разбором robots.txt в несколько кликов с помощью Audisto
Наше программное обеспечение будет систематически проверять все хосты на соответствие файлам robots.txt и предупреждать вас о многих обнаруженных распространенных проблемах. Убедитесь, что ваши директивы robots управляют ботами, как задумано.
Заказать демоверсию
Усовершенствования чернового варианта, сделанные основными поисковыми системами
В дополнение к черновому варианту основные поисковые системы согласились на несколько улучшений, таких как подстановочные знаки, задержка сканирования и возможность ссылаться на карты сайта.
Проблема, конечно, в том, что некоторые роботы не поддерживают эти улучшения и не могут корректно с ними работать:
Агент пользователя: * Запретить: /*/secret.html Crawl-delay: 5
Мы настоятельно рекомендуем использовать улучшения только в записях для ботов, которые могут их обрабатывать, чтобы предотвратить ошибки синтаксического анализа.
Усовершенствования подстановочных знаков
Как упоминалось выше, подстановочные знаки поддерживаются основными поисковыми системами. Всякий раз, когда вы хотите заблокировать доступ к URL-адресам с определенным суффиксом, их невозможно обойти. Мы часто видим наборы правил, подобные этому:
Агент пользователя: * Disallow: .doc
Не блокирует доступ к файлам .doc, поскольку совпадает с
User-agent: * Disallow: /.doc
, и это блокирует доступ только к URL-адресам, начинающимся с /.doc. Чтобы заблокировать доступ ко всем файлам, заканчивающимся на .doc, вам нужно использовать:
User-agent: * Disallow: /*.doc
При использовании подстановочных знаков для блокировки параметров вы должны использовать что-то вроде этого:
User-agent: * Запретить: /*?параметр1 Запретить: /*&параметр1
в противном случае правило не соответствует, если параметр не является первым:
http://www.example.com/?parameter2¶meter1
Порядок записей
В черновике очень конкретно указано, в каком порядке применяются записи :
Эти маркеры имени используются в строках агента пользователя в файле /robots.txt, чтобы определить, к каким конкретным роботам относится запись. Робот должен подчиняться первой записи в /robots.txt, которая содержит строку User-Agent, значение которой содержит токен имени робота в качестве подстроки. Сравнение имен не зависит от регистра. Если такой записи не существует, она должна подчиняться первой записи со строкой User-agent со значением «*», если оно присутствует. Если ни одна запись не удовлетворяет ни одному из условий, или записи вообще отсутствуют, доступ неограничен.
Чтобы оценить, разрешен ли доступ к URL-адресу, робот должен попытаться сопоставить пути в строках «Разрешить» и «Запретить» с URL-адресом в том порядке, в котором они встречаются в записи. Используется первое найденное совпадение. Если совпадений не найдено, предполагается, что URL-адрес разрешен.
Однако существует множество ботов, которые не справляются с этим корректно. Мы настоятельно рекомендуем предварительно сортировать записи и разрешать и запрещать строки, чтобы уменьшить количество проблем во время синтаксического анализа.
Записи никогда не складываются
Некоторые веб-мастера считают, что записи складываются. Это фатально:
User-Agent: * Запретить: /url/1 Пользовательский агент: кто-то Запретить: /url/2 Пользовательский агент: кто-то Crawl-delay: 5
не приводит к тому, что «somebot» интерпретирует это как
User-Agent: somebot Запретить: /url/1 Запретить: /url/2 Crawl-delay: 5
, но обычно интерпретируется как
User-Agent: somebot Disallow: /url/2
Вам нужно продублировать правила, если вы хотите, чтобы бот применил их все.
Кодирование символов, отличных от US-ASCII
Кажется, многие упускают из виду тот факт, что путь к строке правил имеет ограниченный набор разрешенных символов. Символы, не входящие в набор символов US-ASCII, необходимо кодировать. Вместо использования
User-agent: * Disallow: /ä
вы должны использовать закодированную версию. Эта версия может отличаться для разных кодировок. Если вы используете UTF-8, вы должны использовать:
User-agent: * Запретить: /%C3%A4
Если вы используете ISO-8859-1 вы бы использовали:
User-agent: * Disallow: /%E4
Из-за того, что пользователи могут копировать ваши URL-адреса в другие наборы символов, вам необходимо обрабатывать оба URL-адреса в вашем приложении и обязательно использовать обе закодированные версии, чтобы правильно их заблокировать:
User- агент: * Запретить: /%C3%A4 Disallow: /%E4
Формат файла, только символы US-ASCII
В черновике формат файла очень ясен. Файл должен быть текстовым и содержать подробное описание в стиле BNF. Однако мы часто видим, что люди упускают эту часть.
В файле robots.txt разрешены только символы US-ASCII. Вам даже не разрешено использовать символы, отличные от US-ASCII, в комментариях.
Мы настоятельно рекомендуем использовать только символы US-ASCII, чтобы избежать проблем с синтаксическим анализом.
Кодировка Unicode и метка порядка байтов (BOM)
В черновике не указана кодировка содержимого. Мы видим много разных кодировок для файлов robots.txt. Однако это может привести к проблемам синтаксического анализа, особенно если файл robots.txt содержит символы, отличные от US-ASCII.
Во избежание проблем настоятельно рекомендуется использовать для файла robots.txt обычный текст в кодировке UTF-8. Это также формат файла, который ожидает Google.
Иногда люди также используют метку порядка байтов (BOM) в начале файла, и это может быть проблемой для парсеров robots.txt. Метка порядка байтов — это необязательный невидимый символ Unicode, используемый для обозначения порядка байтов текстового файла или потока.
Мы рекомендуем не использовать метку порядка байтов для повышения совместимости.
Размер файла
Даже крупные поисковые системы не обрабатывают большие файлы robots.txt. Google, например, имеет ограничение в 500 КБ, другие могут иметь меньшие ограничения. Имейте это в виду и постарайтесь свести размер к минимуму.
Другие проблемы с файлами robots.
txtНекоторые люди также склонны сталкиваться с проблемами, которые возникают из-за того, что некоторые роботы демонстрируют определенное поведение.
Коды состояния HTTP 401 и 403 для файлов robots.txt
Отправка кода состояния 401 или 403 для файла robots.txt, скорее всего, приведет к неожиданному сканированию, особенно если вы хотите ограничить доступ с помощью этих кодов состояния.
Роботы с реализацией, основанной на спецификации A Method for Web Robots Control от 1996 года, скорее всего, обработают коды состояния 401 и 403 как ограничение доступа. В документе в разделе 3.1 указано:
При ответе сервера с указанием ограничений доступа (код состояния HTTP 401 или 403) робот должен считать доступ к сайту полностью ограниченным.
Однако это только рекомендация, а не требование. Требования касаются только явного существования (коды состояния 2xx) и явного отсутствия (код состояния 404) файла robots.txt. Это оставляет много случаев открытыми для интерпретации.
Роботы с реализацией, основанной на спецификации протокола исключения роботов, будут рассматривать 401 и 403 как недоступные коды состояния, что может разрешить сканирование. В документе указано в разделе 2.3.1.3:
Недоступно означает, что сканер пытается получить файл robots.txt, а сервер отвечает кодами состояния недоступности. Например, в контексте HTTP недоступные коды состояния находятся в диапазоне 400–499.
Если код состояния сервера указывает на то, что файл robots.txt недоступен для клиента, сканеры МОГУТ получить доступ к любым ресурсам на сервере или МОГУТ использовать кэшированную версию файла robots.txt на срок до 24 часов.
Здесь четко указано, что сканирование разрешено для кодов состояния 401 и 403, но сканеры все же могут рассматривать это как ограничение доступа.
Рекомендация в старом документе и спецификация в новом документе противоречат друг другу. Использование кодов состояния HTTP для разрешения или ограничения доступа является плохой практикой и не имеет четкого определения. Вместо этого следует реализовать правильный файл robots.txt с кодом состояния 200.
Обработка запланированных простоев
Когда вы доставляете файл robots.txt с кодом состояния 503, роботы некоторых основных поисковых систем перестают сканировать веб-сайт. Даже во время запланированного простоя рекомендуется сохранить файл robots.txt с кодом состояния 200 и предоставлять только коды состояния 503 для всех остальных URL-адресов.
Изменение файла robots.txt на
User-agent: * Disallow: /
— худшее, что вы можете сделать во время простоя, и обычно вызывает проблемы, которые длятся довольно долго.
Блокировать контент, который не должен индексироваться
Блокировать URL-адреса, которые не должны индексироваться или сканироваться ботом, также не рекомендуется. Поисковые системы склонны перечислять известные страницы даже после того, как они были заблокированы. Вы должны использовать noindex в качестве заголовка или метатега, чтобы сначала удалить сайты из индекса.