Послание в бутылке /robots.txt

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

Инструкций могут указывать, какие страницы сайта, как часто и с какой нагрузкой следует индексировать.

Также в robots.txt можно задать файл карты сайта sitemap.xml

Официальный The Web Robots Pages //www.robotstxt.org

 

Файл robots.txt

Применение файла robots.txt регламентировано добровольным стандартом консорциума W3C, принятым в Jun 30 1994 под названием The Robots Exclusion Protocol для исключения определенных страниц сайта из индексирования определенными роботами.

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

Поисковые роботы предъявляют к файлу robots.txt несколько требований:

  • размещается в корне домена и в корнях субдоменов, которые используются в публичных ссылках и/или имеют публичные записи типа A или CNAME в DNS
  • имя robots.txt в нижнем регистре
  • содержание использует кодировку UTF-8 или только ASCII
  • размер файла не должен превышать 500Kb

Признак конца строки не регламентирован, поэтому может использоваться любой из существующих LF, CR, CR+LF.

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

Структура записей

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

Директивы

Каждая запись состоит из несколько строк с директивами.

Стандарт, принятый W3C, специфицирует две директивы User-agent и Disallow. Однако существуют и другие директивы.

Директива агента User-agent

В начале каждой записи директивой User-agent: дается определение агента, для которого запись предназначена. Значение * означает, что запись предназначена для всех агентов:

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

База имен агентов с детальным описанием доступна по ссылке //www.robotstxt.org/db.html, но ее содержание не является полным, в частности в нет отсутствуют Facebot, Applebot, Twitterbot, LinkedInBot и многие другие.

Директива запрета Disallow

Директивы запрета Disallow: используются после директивы агента. Каждая директива запрета  определяет шаблон пути (path) в URL ресурса, который робот должен проигнорировать. Оригинальная спецификация сообщает, что

подстановки и регулярные выражения не поддерживаются ... в строках Disallow. В частности, вы не можете использовать такие строки, как Disallow: /tmp/* или Disallow: *.gif

Тем не менее на практике подстановочный символ * часто используется, вероятно по той причине, что для соответствующих агентов поддержка подстановок достоверно известна

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

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

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

Комментарий

Строка или часть строки может содержать произвольные комментарии, которые начинаются символом # и завершаются концом строки. Комментарии предназначены для объяснения записи или директивы, но иногда в таких комментариях указывают юридические сведения и юридические причины запрета. Иногда в комментариях robots.txt даже размещают объявления о вакансиях.

Директива карты сайта Sitemap

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

Директива задержки Crawl-delay

Директива Crawl-delay: не входит в спецификацию. Она предназначена установить время задержки между запросами в целочисленных значениях секунд.

Директива Request-rate

Request-rate: 1/5 # загружать не более одной страницы за пять секунд

Директива времени визитов

Visit-time: 0600-0845 # загружать страницы только в промежуток с 6 утра до 8:45 по Гринвичу  GMT/UTC.

Агенты

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

Агенты Google перечислены и детально описаны на официальной странице //developers.google.com

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

  • MJ12bot SEO 15156
  • AhrefsBot SEO 14561
  • Baiduspider Поисковая система 11473
  • Nutch Поисковая система 11023
  • ia_archiver SEO 10477
  • WebCopier Архивация 9538
  • WebStripper Архивация 8579
  • Teleport Архивация 7991
  • Yandex Поисковая система 7910
  • и другие...

Файл карты сайта

 https://developers.google.com/search/docs/crawling-indexing/sitemaps/build-sitemap

Google Indexing API

 https://developers.google.com/search/apis/indexing-api/v3/quickstart

Indexing API позволяет любому владельцу сайта напрямую уведомлять Google о добавлении или удалении страниц. Благодаря этому Google может планировать их сканирование, что способствует повышению качества трафика.

Тема IndexNow не раскрыта

 https://www.indexnow.org/

Чтобы отправить URL-адрес с помощью HTTP-запроса (замените URL-адресом, предоставленным поисковой системой), отправьте запрос по следующему URL-адресу:

https://<searchengine>/indexnow?url=url-changed&key=your-key
url-changed — это URL-адрес вашего веб-сайта, который был добавлен, обновлен или удален. URL-адрес должен быть экранирован и закодирован, и убедитесь, что ваши URL-адреса соответствуют стандарту RFC-3986 для URL-адресов.
Ваш ключ должен содержать от 8 до 128 шестнадцатеричных символов. Ключ может содержать только следующие символы: строчные (a-z), прописные (A-Z), цифры (0-9) и тире (-).
Например, если вы хотите уведомить поисковые системы об обновлении https://www.example.com/product.html и хотите использовать этот ключ f4d3a2b177b64d76b989f8639d1547b7

https://<searchengine>/indexnow?url=https://www.example.com/product.html&key=f4d3a2b177b64d76b989f8639d1547b7
Вы можете отправить HTTP-запрос, используя свой браузер, wget, curl или любой другой механизм по вашему выбору. Успешный запрос вернет код ответа «HTTP 200». Если вы получили другой ответ, проверьте, что вы не отправляете запрос слишком часто, что ключ и URL-адрес действительны, и повторно отправьте запрос. Код ответа «HTTP 200» означает только то, что поисковая система получила ваш URL.

Источники

Leave a Reply