Разное

Crawl delay сколько ставить: что это и как использовать

Содержание

что это и как использовать

Важно! Сегодня Яндекс уже не следует инструкции Crawl-delay. И теперь скорость обхода регулируется только в Яндекс Вебмастер в разделе “Индексирование – Скорость обхода”.

В Google данная директива тоже не используется о чем было сказано в 2017 году в этом видео.

Видео на английском, поэтому вот перевод:

Crawl-delay — это очень давняя директива в Google. И нужна она была вебмастерам, чтобы указать период между запросами для снижения нагрузки на сервер, которые делает краулер(робот поисковой системы).

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

Что же пришло в Google на смену crawl-delay директивы? Робот поисковой системы теперь автоматически регулирует скорость обхода страницы, в зависимости от реакции сервера. Как только она замедлится или появится ошибка, обход может приостановиться.

Итак, учитывая, что замена найдена и успешно нами применяется, поэтому теперь crawl-delay нами не поддерживается. И если мы обнаружим директиву в вашем robots.txt, мы на это укажем.

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

Хоть и директива Crawl-delay больше не поддерживается Яндекс и Google, но вдруг вы захотите узнать, как она раньше использовалась в этих поисковых машинах, поэтому ниже мы об этом расскажем.

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

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

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

Есть поисковики, которые работают с форматом дробных чисел, являющихся
параметром директивы Crawl-delay.

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

Для этого необходимо:

  1. Просмотреть логи сервера. Свяжитесь с хостинг-провайдером или сотрудником, отвечающим за техническую работу сайта.
  2. Проанализируйте список URL-адресов в Яндекс.Вебмастере. Сделать это можно в меню Индексирование – Статистика обхода. Не забудьте включить переключатель на “Все страницы”.

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

Правильное написание директивы Crawl-delay

Чтобы роботы поисковых систем, не всегда придерживающиеся стандарта в ходе чтения robots.txt, учитывали данное правило, его нужно включить в группу, начинающуюся с директивы User-agent, после Disallow и Allow.

Основной бот Яндекса работает с дробными значениями указания Crawl-delay, такими как 0.2 и прочими. Нет стопроцентных гарантий, что робот начнет посещать ваш ресурс 20 раз в секунду, однако обеспечить более быстрое сканирование сайта удастся.

Директива не распознается поисковым ботом, отвечающим за
обход RSS-канала для
создания Турбо-страниц.

На заметку. Максимальное значение директивы для роботов Яндекса – 2.0.

Чтобы выбрать необходимую скорость загрузки страниц веб-сайта, перейдите в меню Скорость обхода сайта.

Примеры:

User-agent: Yandex
Crawl-delay: 2.0 # тайм-аут посещения роботом Яндекса – не чаще, чем 1 раз в 2 секунды
User-agent: *
Disallow: /search Crawl-delay: 1.0 # тайм-аут посещения всеми роботами – не чаще, чем 1 раз в 1 секунду

Я всегда стараюсь следить за актуальностью информации на сайте, но могу пропустить ошибки, поэтому буду благодарен, если вы на них укажете. Если вы нашли ошибку или опечатку в тексте, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

правила обработки директив, какие директивы не используются в Google и зачем нужны Disallow и Crawl-delay — Пиксель Тулс

1 сентября 2019 года Google прекратит поддержку нескольких директив в robots.txt. В список попали: noindex, crawl-delay и nofollow. Вместо них рекомендуется использовать:

  • Мета-тег noindex, как наиболее эффективный способ удалить страницу из индекса.

  • 404 и 410 коды ответа сервера. В ряде случаев, 410 отрабатывает значительно быстрей для удаления URL из индекса.

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

  • Временное удаление страницы из индекса с помощью инструмента в Search Console.

  • Disallow в robots.txt.

Тем не менее, robots.txt по-прежнему остаётся одним из главных файлов для SEO-специалиста. Давайте вспомним самые полезные директивы от простых, до менее очевидных.

robots.txt

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

Файл размещается в корневой директории сайта. Например:

Прежде чем начать сканирование сайта, краулеры проверяют наличие robots.txt и находят правила специфичные для их User-Agent, например Googlebot. Если таких нет — следуют общим инструкциям.

Действующие правила robots.txt

User-Agent

У каждой поисковой системы есть свои «агенты пользователя». По сути, это имя краулера, которое помогает дать определённые указания конкретному ему.

Если брать шире, то User-Agent — клиентское приложение на стороне поисковой системы, в некотором смысле имитирующее браузер или, например, мобильное устройство.

Примеры:

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

  • User-agent: Yandex — основной краулер Яндекс-поиска.

  • User-agent: Google-Image — робот поиска Google по картинкам.

  • User-agent: AhrefsBot — краулер сервиса Ahrefs.

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

В примере ниже краулер DuckDukcGo сможет сканировать папки сайта /api/ и /tmp/, несмотря на астериск («звёздочку»), отвечающий за инструкции всем роботам.


    User-agent: *
    Disallow: /tmp/
    Disallow: /api/

    User-agent: DuckDuckBot
    Disallow: /duckhunt/

Disallow

Директива, которая позволяет блокировать от индексации полностью весь сайт или определённые разделы.

Может быть полезно для закрытия от сканирования служебных, динамических или временных страниц (символ # отвечает за комментарии в коде и игнорируется краулерами).


    User-agent: *

    # Закрываем раздел /cms и все файлы внутри

    Disallow: /cms

    # Закрываем папку /images/resized/ (сами изображения разрешены к сканированию)

    Disallow: /api/resized/

Упростить инструкции помогают операторы:

  • * — любая последовательность символов в URL. По умолчанию к концу каждого правила, описанного в файле robots.txt, приписывается спецсимвол *.

  • $ — символ в конце URL-адреса, он используется чтобы отменить использование * на конце правила.


    User-agent: *

    # Закрываем URL, начинающиеся с /photo после домена. Например:
    #     /photos
    #     /photo/overview

    Disallow: /photo

    # Закрываем все URL, начинающиеся с /blog/ после домена и заканчивающиеся /stats/

    Disallow: /blog/*/stats$

Важно: в robots.txt не нужно закрывать JS и CSS-файлы, они понадобятся поисковым роботом для правильного отображения (рендеринга) контента.

Allow

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


    User-agent: *

    # Блокируем весь раздел /admin

    Disallow: /admin

    # Кроме файла /admin/css/style.css

    Allow: /admin/css/style.css

    # Открываем все файлы в папке /admin/js. Например:
    #     /admin/js/global.js
    #     /admin/js/ajax/update.js

    Allow: /admin/js/

Также Allow можно использовать для отдельных User-Agent.


    # Запрещаем доступ к сайту всем роботам

    User-agent: *
    Disallow: /

    # Кроме краулера Яндекса

    User-agent: Yandex
    Allow: /

Crawl-delay

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

Позволяет замедлить сканирование, если сервер бывает перегружен. Устанавливает интервал времени для обхода страниц в секундах (для Яндекса). Чем выше значение, тем медленнее краулер ходит по сайту.


    User-agent: *
    Crawl-delay: 5

Несмотря на то, что Googlebot игнорирует подобные правила, настроить скорость сканирования можно в Google Search Console проекта.

Интересно, что китайский Baidu также не обращает внимание на Crawl-delay в robots.txt, а Bing воспринимает команду как «временное окно», в рамках которого BingBot будет сканировать сайт только один раз.

Важно: если установлено высокое значение Crawl-delay, убедитесь, что ваш сайт своевременно индексируется. В сутках 86 400 секунд, при Crawl-delay: 30 будет просканировано не более 2880 страниц в день, что мало для крупных сайтов.

Sitemap

Одно из ключевых применений robots.txt в SEO — указание на расположение карты сайты. Обратите внимание, используется полный URL-адрес (их может быть несколько).


    Sitemap: https://www.example.com/sitemap.xml
    Sitemap: https://www.example.com/blog-sitemap.xml

Нужно иметь в виду:

  • Директива Sitemap указывается с заглавной S.

  • Sitemap не зависит от инструкций User-Agent.

  • Нельзя использовать относительный адрес карты сайта, только полный URL.

  • Файл XML-карты сайта должен располагаться на том же домене.

Также убедитесь, что ссылка возвращает статус 200 OK без редиректов. Проверить можно с помощью инструмента, определяющего ответ сервера или анализа XML-карты сайта.

Типичный robots.txt

Ниже представлены простые и распространенные шаблоны команд для поисковых роботов.

Разрешить полный доступ

Обратите внимание, правило для Disallow в этом случае не заполняется.

Полная блокировка доступа к хосту


    User-agent: *
    Disallow: /

Запрет конкретного раздела сайта


    User-agent: *
    Disallow: /admin/

Запрет сканирования определенного файла


    User-agent: *
    Disallow: /admin/my-embarrassing-photo.png

Распространенная ошибка

Установка индивидуальных правил для User-Agent без дублирования инструкций Disallow.

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

В примере ниже — слегка измененный robots.txt сайта IMDB. Общие правила Disallow не будут распространяться на бот ScoutJet. А вот Crawl-delay, напротив, установлена только для него.


    # отредактированная версия robots.txt сайта IMDB

    #
    # Задержка интервала сканирования для ScouJet
    #
    
    User-agent:ScouJet
    Crawl-delay: 3
    #
    #

    #
    # Все остальные
    #

    User-agent: *
    Disallow: /tvschedule
    Disallow: /ActorSearch
    Disallow: /ActressSearch
    Disallow: /AddRecommendation
    Disallow: /ads/
    Disallow: /AlternateVersions
    Disallow: /AName
    Disallow: /Awards
    Disallow: /BAgent
    Disallow: /Ballot/

    #
    #
    Sitemap: https://www.imdb.com/sitemap_US_index.xml.gz

Противоречия директив

Общее правило — если две директивы противоречат друг другу, приоритетом пользуется та, в которой большее количество символов.


    User-agent: *

    # /admin/js/global.js разрешён к сканированию
    # /admin/js/update.js по-прежнему запрещён

    Disallow: /admin
    Allow: /admin/js/global.js

Может показаться, что файл /admin/js/global.js попадает под правило блокировки содержащего его раздела Disallow: /admin/. Тем не менее, он будет доступен для сканирования, в отличие от всех остальных файлов в каталоге.

Список распространенных User-Agent
























User-Agent#
Google 
GooglebotОсновной краулер Google
Googlebot-ImageРобот поиска по картинкам
Bing 
BingbotОсновной краулер Bing
MSNBotСтарый, но всё ещё использующийся краулер Bing
MSNBot-MediaКраулер Bing для изображений
BingPreviewОтдельный краулер Bing для Snapshot-изображений
Яндекс 
YandexBotОсновной индексирующий бот Яндекса
YandexImagesБот Яндеса для поиска по изображениям
Baidu 
BaiduspiderГлавный поисковый робот Baidu
Baiduspider-imageБот Baidu для картинок
ApplebotКраулер для Apple. Используется для Siri поиска и Spotlight
SEO-инструменты 
AhrefsBotКраулер сервиса Ahrefs
MJ12BotКраулер сервиса Majestic
rogerbotКраулер сервиса MOZ
PixelToolsКраулер «Пиксель Тулс»
Другое 
DuckDuckBotБот поисковой системы DuckDuckGo

Советы по использованию операторов

Как упоминалось выше, широко применяются два оператора: * и $. С их помощью можно:

1. Заблокировать определённые типы файлов.


    User-agent: *

    # Блокируем любые файлы с расширением .json

    Disallow: /*.json$

В примере выше астериск * указывает на любые символы в названии файла, а оператор $ гарантирует, что расширение .json находится точно в конце адреса, и правило не затрагивает страницы вроде /locations.json.html (вдруг есть и такие).

2. Заблокировать URL с параметром ?, после которого следуют GET-запросы (метод передачи данных от клиента серверу).

Этот приём активно используется, если у проекта настроено ЧПУ для всех страниц и документы с GET-параметрами точно являются дублями.


    User-agent: *

    # Блокируем любые URL, содержащие символ ?

    Disallow: /*?

Заблокировать результаты поиска, но не саму страницу поиска.


    User-agent: *

    # Блокируем страницу результатов поиска

    Disallow: /search.php?query=*

Имеет ли значение регистр?

Определённо да. При указании правил Disallow / Allow, URL адреса могут быть относительными, но обязаны сохранять регистр.


    User-agent: *

    # /users разрешены для сканирования, поскольку регистр разный

    Disallow: /Users

Но сами директивы могут объявляться как с заглавной, так и с прописной: Disallow: или disallow: — без разницы. Исключение — Sitemap: всегда указывается с заглавной.

Как проверить robots.txt?

Есть множество сервисов проверки корректности файлов robots.txt, но, пожалуй, самые надёжные: Google Search Console и Яндекс.Вебмастер.

Для мониторинга изменений, как всегда, незаменим «Модуль ведения проектов»:

  • Контроль индексации на вкладке «Аудит» — динамика сканирования страниц сайта в Яндексе и Google.

  • Контроль изменений в файле robots.txt. Теперь точно не упустите, если кто-то из коллег закрыл сайт от индексации (или наоборот).

Держите свои robots.txt в порядке, и пусть в индекс попадает только необходимое!

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

Ниже приведена таблица основных юзер-агентов различных поисковых систем.

БотФункция
Google
Googlebotосновной индексирующий робот Google
Googlebot-NewsGoogle Новости
Googlebot-ImageGoogle Картинки
Googlebot-Videoвидео
Mediapartners-GoogleGoogle AdSense, Google Mobile AdSense
MediapartnersGoogle 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 воспользуйтесь следующим алгоритмом:

  1. Закройте от индексирования админку сайта
  2. Закройте от индексирования личный кабинет, авторизацию, регистрацию
  3. Закройте от индексирования корзину, формы заказа, данные по доставке и заказам
  4. Закройте от индексирования ajax, json-скрипты
  5. Закройте от индексирования папку cgi
  6. Закройте от индексирования плагины, темы оформления, js, css для всех роботов, кроме Яндекса и Google
  7. Закройте от индексирования функционал поиска
  8. Закройте от индексирования служебные разделы, которые не несут никакой ценности для сайта в поиске (ошибка 404, список авторов)
  9. Закройте от индексирования технические дубли страниц, а также страницы, на которых весь контент в том или ином виде продублирован с других страниц (календари, архивы, RSS)
  10. Закройте от индексирования страницы с параметрами фильтров, сортировки, сравнения
  11. Закройте от индексирования страницы с параметрами UTM-меток и сессий
  12. Проверьте, что проиндексировано Яндексом и Google с помощью параметра «site:» (в поисковой строке наберите «site:site.ru»). Если в поиске присутствуют страницы, которые также нужно закрыть от индексации, добавьте их в robots.txt
  13. Укажите Sitemap и Host
  14. По необходимости пропишите Crawl-Delay и Clean-Param
  15. Проверьте корректность robots.txt через инструменты Google и Яндекса (описано ниже)
  16. Через 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.txt

В конце статьи приведу несколько типичных ошибок файла robots.txt

  • robots.txt отсутствует
  • в robots.txt сайт закрыт от индексирования (Disallow: /)
  • в файле присутствуют лишь самые основные директивы, нет детальной проработки файла
  • в файле не закрыты от индексирования страницы с UTM-метками и идентификаторами сессий
  • в файле указаны только директивы
    Allow: *.css
    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, запрещаем индексацию страниц

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

Находится данный файл Робота в корневом каталоге вашего сайта и открывается/редактируется простым блокнотом, я рекомендую Notepad++. Для тех, кто не любит читать — есть ВИДЕО, смотрите в конце статьи 😉

  1. В чем его польза
  2. Директивы и правила написания
  3. Мета-тег Robots и его директивы
  4. Правильные роботсы для популярных CMS
  5. Проверка робота
  6. Видео-руководство
  7. Популярные вопросы

Зачем нужен robots.txt

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

  • Служебные файлы и папки CMS
  • Дубликаты
  • Документы, которые не несут пользу для пользователя
  • Не уникальные страницы

Разберем конкретный пример:

Интернет-магазин по продаже обуви и реализован на одной из популярных CMS, причем не лучшим образом. Я могу сразу сказать, что будут в выдаче страницы поиска, пагинация,  корзина, некоторые файлы движка и т.д. Все это будут дубли и служебные файлы, которые бесполезны для пользователя. Следовательно, они должны быть закрыты от индексации, а если еще есть раздел «Новости» в которые копипастятся разные интересные статьи с сайтов конкурентов – то и думать не надо, сразу закрываем.

Поэтому обязательно получаемся файлом robots.txt, чтобы в выдачу не попадал мусор. Не забываем, что файл должен открываться по адресу http://site.ru/robots.txt.

Директивы robots.txt и правила настройки

User-agent. Это обращение к конкретному роботу поисковой системы или ко всем роботам. Если прописывается конкретное название робота, например «YandexMedia», то общие директивы user-agent не используются для него. Пример написания:

User-agent: YandexBot 
Disallow: /cart
# будет использоваться только основным индексирующим роботом Яндекса

Disallow/Allow. Это запрет/разрешение индексации конкретного документа или разделу. Порядок написания не имеет значения, но при 2 директивах и одинаковом префиксе приоритет отдается «Allow».  Считывает поисковый робот их по длине префикса, от меньшего к большему. Если вам нужно запретить индексацию страницы — просто введи относительный путь до нее (Disallow: /blog/post-1).

User-agent: Yandex
Disallow: /
Allow: /articles
# Запрещаем индексацию сайта, кроме 1 раздела articles

Регулярные выражения с * и $. Звездочка означает любую последовательность символов (в том числе и пустую). Знак доллара означает прерывание. Примеры использования:

Disallow: /page* # запрещает все страницы, конструкции http://site.ru/page
Disallow: /arcticles$ # запрещаем только страницу http://site.ru/articles, разрешая страницы http://site.ru/articles/new

Директива Sitemap. Если вы используете карту сайта (sitemap.xml) – то в robots.txt она должна указываться так:

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

Директива Host. Как вам известно у сайтов есть зеркала (читаем, Как склеить зеркала сайта). Данное правило указывает поисковому боту на главное зеркало вашего ресурса. Относится к Яндексу. Если у вас зеркало без WWW, то пишем:

Host: site.ru

Crawl-delay. Задает задержу (в секундах) между скачками ботом ваших документов. Прописывается после директив Disallow/Allow.

Crawl-delay: 5 # таймаут в 5 секунд

Clean-param. Указывает поисковому боту, что не нужно скачивать дополнительно дублирующую информацию (идентификаторы сессий, рефереров, пользователей). Прописывать Clean-param следует для динамических страниц:

Clean-param: ref /category/books # указываем, что наша страница основная, а http://site.ru/category/books?ref=yandex.ru&id=1 это та же страница, но с параметрами

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

User-agent: Yandex
Disallow: /cart
Allow: /cart/images
Sitemap: http://site.ru/sitemap.xml
Host: site.ru
Crawl-delay: 2

Мета-тег robots и как он прописывается

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

Директив у него 2: follow/nofollow и index/noindex. Это разрешение/запрет перехода по ссылкам и разрешение/запрет на индексацию документа. Директивы можно прописывать вместе, смотрим пример ниже.

Для любой отдельной страницы вы можете прописать в теге <head> </head> следующее:

Правильные файлы robots.txt для популярных CMS

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

Ниже вы можете увидеть мой вариант с данного Seo блога.

User-agent: Yandex
Disallow: /wp-content/uploads/
Allow: /wp-content/uploads/*/*/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /template.html
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /tag
Disallow: /archive
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/
Disallow: /?feed=
Disallow: /?s=
Host: romanus.ru

User-agent: *
Disallow: /wp-content/uploads/
Allow: /wp-content/uploads/*/*/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /xmlrpc.php
Disallow: /template.html
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins
Disallow: /wp-content/cache
Disallow: /wp-content/themes
Disallow: /wp-trackback
Disallow: /wp-feed
Disallow: /wp-comments
Disallow: */trackback
Disallow: */feed
Disallow: */comments
Disallow: /tag
Disallow: /archive
Disallow: */trackback/
Disallow: */feed/
Disallow: */comments/
Disallow: /?feed=
Disallow: /?s=
Sitemap: https://romanus.ru/sitemap.xml

Трэкбэки запрещаю потому что это дублирует кусок статьи в комментах. А если трэкбэков много — вы получите кучу одинаковых комментариев.

Служебные папки и файлы любой CMS я стараюсь я закрываю, т.к. не хочу чтобы они попадали в индекс (хотя поисковики уже и так не берут, но хуже не будет).

Фиды (feed) стоит закрывать, т.к. это частичные либо полные дубли страниц.

Теги закрываем, если мы их не используем или нам лень их оптимизировать.

Примеры для других CMS

Чтобы скачать правильный robots для нужной CMS просто кликните по соответствующей ссылке.

Как проверить корректность работы файла

Анализ robots.txt в Яндекс Вебмастере – тут.

Указываем адрес своего сайта, нажимаем кнопку «Загрузить» (или вписываем его вручную) – бот качает ваш файл. Далее просто указываем нужные нам УРЛы в списке, которые мы хотим проверить и жмем «Проверить».

Смотрим и корректируем, если это нужно.

Популярные вопросы о robots.txt

Как закрыть сайт от индексации?

Как запретить индексацию страницы?

Как запретить индексацию зеркала?

Для магазина стоит закрывать cart (корзину)?

  • Да, я бы закрывал.

У меня сайт без CMS, нужен ли мне robots?

  • Да, чтобы указать Host и Sitemap. Если у вас есть дубли — то исходя из ситуации закрывайте их.

Понравился пост? Сделай репост и подпишись!

примеры для различных CMS, правила, рекомендации

Правильная индексация страниц сайта в поисковых системах одна из важных задач, которая стоит перед владельцем ресурса. Попадание в индекс ненужных страниц может привести к понижению документов в выдаче. Для решения таких проблем и был принят стандарт исключений для роботов консорциумом W3C 30 января 1994 года — robots.txt.

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

Robots.txt — текстовый файл на сайте, содержащий инструкции для роботов какие страницы разрешены для индексации, а какие нет. Но это не является прямыми указаниями для поисковых машин, скорее инструкции несут рекомендательный характер, например, как пишет Google, если на сайт есть внешние ссылки, то страница будет проиндексирована.

На иллюстрации можно увидеть индексацию ресурса без файла Robots.txt и с ним.

Что следует закрывать от индексации:

  • служебные страницы сайта
  • дублирующие документы
  • страницы с приватными данными
  • результат поиска по ресурсу
  • страницы сортировок
  • страницы авторизации и регистрации
  • сравнения товаров

Как создать и добавить Robots.txt на сайт?

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

Файл нужно добавить в корневой каталог сайта и он должен быть доступен по адресу: http://www.site.ru/robots.txt

Синтаксис файла robots.txt

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

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

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

User-agent: *

Где * является спецсимволом для обозначения любого робота.

Список популярных поисковых роботов:

  • Googlebot — основной робот Google;
  • YandexBot — основной индексирующий робот;
  • Googlebot-Image — робот картинок;
  • YandexImages — робот индексации Яндекс.Картинок;
  • Yandex Metrika — робот Яндекс.Метрики;
  • Yandex Market— робот Яндекс.Маркета;
  • Googlebot-Mobile —индексатор мобильной версии.

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

С помощью данных директив можно задавать какие разделы или файлы можно индексировать, а какие не следует.

Disallow — директива для запрета индексации документов на ресурсе. Синтаксис директивы следующий:

Disallow: /site/

В данном примере от поисковиков были закрыты от индексации все страницы из раздела site.ru/site/

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

Директива Sitemap

Если на сайте есть файл описания структуры сайта sitemap.xml, путь к нему можно указать в robots.txt с помощью директивы Sitemap. Если файлов таких несколько, то можно их перечислить в роботсе:

User-agent: *
Disallow: /site/
Allow: /
Sitemap: http://site.com/sitemap1.xml
Sitemap: http://site.com/sitemap2.xml

Директиву можно указать в любой из инструкций для любого робота.

Директива Host

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

User-agent: Yandex
Disallow: /site/
Host: site.ru

Примечание: Если главным зеркалом сайта является домен с протоколом https, то его нужно указать в роботсе таким образом:
Host: https://site.ru.

В роботсе директива Host учитывается только один раз. Если в файле есть 2 директивы HOST, то роботы Яндекса будут учитывать только первую.

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

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

Директива Clean-param имеет следующий синтаксис:

Clean-param: p1[&p2&p3&p4&..&pn] [Путь к динамическим страницам]

Рассмотрим пример, на сайте есть динамические страницы:

  • https://site.ru/promo-odezhda/polo.html?kol_from=&price_to=&color=7
  • https://site.ru/promo-odezhda/polo.html?kol_from=100&price_to=&color=7

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

Clean-param: kol_from1&price_to2&pcolor /polo.html # только для polo.html
или
Clean-param: kol_from1&price_to2&pcolor / # для всех страниц сайта

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

Если роботы поисковиков слишком часто заходят на ресурс, это может повлиять на нагрузку на сервер (актуально для ресурсов с большим количеством страниц). Чтобы снизить нагрузку на сервер, можно воспользоваться директивой Crawl-delay.

Параметром для Crawl-delay является время в секундах, которое указывает роботам, что страницы следует скачивать с сайта не чаще одного раза в указанный период.

Пример использования директивы Crawl-delay:

User-agent: *
Disallow: /site
Crawl-delay: 4

Особенности файла Robots.txt

  • Все директивы указываются с новой строки и не следует перечислять директивы в одной строке
  • Перед директивой не должно быть указано каких-либо других символов (в том числе пробела)
  • Параметры директив необходимо указывать в одну строку
  • Правила в роботс указываются в следующей форме: [Имя_директивы]:[необязательный пробел][значение][необязательный пробел]
  • Параметры не нужно указывать в кавычках или других символах
  • После директив не следует указывать “;”
  • Пустая строка трактуется как конец директивы User-agent, если нет пустой строки перед следующим User-agent, то она может быть проигнорирована
  • В роботс можно указывать комментарии после знака решетки # (даже если комментарий переносится на следующую строку, на след строке тоже следует поставить #)
  • Robots.txt нечувствителен к регистру
  • Если файл роботс имеет вес более 32 Кб или по каким-то причинам недоступен или является пустым, то он воспринимается как Disallow: (можно индексировать все)
  • В директивах «Allow», «Disallow» можно указывать только 1 параметр
  • В директивах «Allow», «Disallow» в параметре директории сайта указываются со слешем (например, Disallow: /site)
  • Использование кириллицы в роботс не допускаются

Спецсимволы robots.txt

При указании параметров в директивах Disallow и Allow разрешается использовать специальные символы * и $, чтобы задавать регулярные выражения. Символ * означает любую последовательность символов (даже пустую).

Пример использования:

User-agent: *
Disallow: /store/*.php # запрещает ‘/store/ex.php’ и ‘/store/test/ex1.php’
Disallow: /*tpl # запрещает не только ‘/tpl’, но и ‘/tpl/user’

По умолчанию у каждой инструкции в роботсе в конце подставляется спецсимвол *. Для того, чтобы отменить * на конце, используется спецсимвол $ (но он не может отменить явно поставленный * на конце).

Пример использования $:

User-agent: *
Disallow: /site$ # запрещено для индексации ‘/site’, но не запрещено’/ex.css’


User-agent: *
Disallow: /site # запрещено для индексации и ‘/site’, и ‘/site.css’


User-agent: *
Disallow: /site$ # запрещен к индексации только ‘/site’
Disallow: /site*$ # так же, как ‘Disallow: /site’ запрещает и /site.css и /site

Особенности настройки robots.txt для Яндекса

Особенностями настройки роботса для Яндекса является только наличие директории Host в инструкциях. Рассмотрим корректный роботс на примере:

User-agent: Yandex
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Disallow: */css
Host: www.site.com

В данном случаем директива Host указывает роботам Яндекса, что главным зеркалом сайта является www.site.com (но данная директива носит рекомендательный характер).

Особенности настройки robots.txt для Google

Для Google особенность лишь состоит в том, что сама компания рекомендует не закрывать от поисковых роботов файлы с css-стилями и js-скриптами. В таком случае, робот примет такой вид:

User-agent: Googlebot
Disallow: /site
Disallow: /admin
Disallow: /users
Disallow: */templates
Allow: *.css
Allow: *.js
Host: www.site.com

С помощью директив Allow роботам Google доступны файлы стилей и скриптов, они не будут проиндексированы поисковой системой.

Проверка правильности настройки роботс

Проверить robots.txt на ошибки можно с помощью инструмента в панели Яндекс.Вебмастера:

Также при помощи данного инструмента можно проверить разрешены или запрещены к индексации страницы:

Еще одним инструментом проверки правильности роботс является “Инструмент проверки файла robots.txt” в панели Google Search Console:

Но данный инструмент доступен только в том случае, если сайт добавлен в панель Вебмастера Google.

Заключение

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

Пример настройки роботс для WordPress

Правильный robots.txt для WordPress должен быть составлен таким образом (все, что указано в комментариях не обязательно размещать):

User-agent: Yandex
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Host: www.site.ru

User-agent: Googlebot
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати
Allow: *.css # открыть все файлы стилей
Allow: *.js # открыть все с js-скриптами

User-agent: *
Disallow: /cgi-bin # служебная папка для хранения серверных скриптов
Disallow: /? # все параметры запроса на главной
Disallow: /wp- # файлы WP: /wp-json/, /wp-includes, /wp-content/plugins
Disallow: *?s= # результаты поиска
Disallow: /search # результаты поиска
Disallow: */page/ # страницы пагинации
Disallow: /*print= # страницы для печати

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

Пример настройки роботс для Bitrix

Если сайт работает на движке Битрикс, то могут возникнуть такие проблемы:

  • попадание в выдачу большого количества служебных страниц;
  • индексация дублей страниц сайта.

Чтобы избежать подобных проблем, которые могут повлиять на позицию сайта в выдаче, следует правильно настроить файл robots.txt. Ниже приведен пример robots.txt для CMS 1C-Bitrix:

User-Agent: Yandex
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/
HOST: https://site.ru

User-Agent: *
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /personal/cart/
Sitemap: https://site.ru/sitemap.xml

User-Agent: Googlebot
Disallow: /personal/
Disallow: /search/
Disallow: /auth/
Disallow: /bitrix/
Disallow: /login/
Disallow: /*?action=
Disallow: /?mySort=
Disallow: */filter/
Disallow: */clear/
Allow: /bitrix/js/
Allow: /bitrix/templates/
Allow: /bitrix/tools/conversion/ajax_counter.php
Allow: /bitrix/components/main/
Allow: /bitrix/css/
Allow: /bitrix/templates/comfer/img/logo.png
Allow: /personal/cart/
Sitemap: https://site.ru/sitemap.xml

Пример настройки роботс для OpenCart

Правильный robots.txt для OpenCart должен быть составлен таким образом:

User-agent: Yandex
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
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: /*&page=
Disallow: /wishlist
Disallow: /login
Host: site.ru

User-agent: Googlebot
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
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: /*&page=
Disallow: /wishlist
Disallow: /login
Allow: *.css
Allow: *.js

User-agent: *
Disallow: /*route=account/
Disallow: /*route=affiliate/
Disallow: /*route=checkout/
Disallow: /*route=product/search
Disallow: /index.php
Disallow: /admin
Disallow: /catalog
Disallow: /download
Disallow: /export
Disallow: /system
Disallow: /*?sort=
Disallow: /*&sort=
Disallow: /*?order=
Disallow: /*&order=
Disallow: /*?limit=
Disallow: /*&limit=
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: /*&page=
Disallow: /wishlist
Disallow: /login

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

Пример настройки роботс для Umi.CMS

Правильный robots.txt для Umi CMS должен быть составлен таким образом (проблемы с дублями страниц в таком случае не должно быть):

User-Agent: Yandex
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Host: site.ru

User-Agent: Googlebot
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs
Allow: *.css
Allow: *.js

User-Agent: *
Disallow: /?
Disallow: /emarket/addToCompare
Disallow: /emarket/basket
Disallow: /go_out.php
Disallow: /images
Disallow: /files
Disallow: /users
Disallow: /admin
Disallow: /search
Disallow: /install-temp
Disallow: /install-static
Disallow: /install-libs

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

Пример настройки роботс для Joomla

Правильный robots.txt для Джумлы должен быть составлен таким образом:

User-agent: Yandex
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/
Host: www.site.ru

User-agent: Googlebot
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

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/

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

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

Файл robots.txt — текстовый файл в формате .txt, ограничивающий поисковым роботам доступ к содержимому на http-сервере.

Как определение, Robots.txt — это стандарт исключений для роботов, который был принят консорциумом W3C 30 января 1994 года, и который добровольно использует большинство поисковых систем. Файл robots.txt состоит из набора инструкций для поисковых роботов, которые запрещают индексацию определенных файлов, страниц или каталогов на сайте. Рассмотрим описание robots.txt для случая, когда сайт не ограничивает доступ роботам к сайту.

Простой пример:

User-agent: *
Allow: /

Здесь роботс полностью разрешает индексацию всего сайта.

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

ваш_сайт.ru/robots.txt

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

Если файл доступен, то вы увидите содержимое в браузере.

Для чего нужен robots.txt

Сформированный файл для сайта является важным аспектом поисковой оптимизации. Зачем нужен robots.txt? Например, в SEO robots.txt нужен для того, чтобы исключать из индексации страницы, не содержащие полезного контента и многое другое. Как, что, зачем и почему исключается уже было описано в статье про запрет индексации страниц сайта, здесь не будем на этом останавливаться. Нужен ли файл robots.txt всем сайтам? И да и нет. Если использование подразумевает исключение страниц из поиска, то для небольших сайтов с простой структурой и статичными страницами подобные исключения могут быть лишними. Однако, и для небольшого сайта могут быть полезны некоторые директивы, например директива Host или Sitemap, но об этом ниже.

Как создать robots.txt

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

Cоздать robots.txt онлайн

Вариант для ленивых: скачать в уже в готовом виде. Создание robots txt онлайн предлагает множество сервисов, выбор за вами. Главное — четко понимать, что будет запрещено и что разрешено, иначе создание файла robots.txt online может обернуться трагедией, которую потом может быть сложно исправить. Особенно, если в поиск попадет то, что должно было быть закрытым. Будьте внимательны — проверьте свой файл роботс, прежде чем выгружать его на сайт. Все же пользовательский файл robots.txt точнее отражает структуру ограничений, чем тот, что был сгенерирован автоматически и скачан с другого сайта. Читайте дальше, чтобы знать, на что обратить особое внимание при редактировании robots.txt.

Редактирование robots.txt

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

Правильная настройка robots.txt

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

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

Правильный robots.txt начинается с директивы User-agent, которая указывает, к какому роботу обращены конкретные директивы.

Примеры User-agent в robots.txt:

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

# Указывает директивы для всех роботов Яндекса
User-agent: Yandex

# Указывает директивы для только основного индексирующего робота Яндекса
User-agent: YandexBot

# Указывает директивы для всех роботов Google
User-agent: Googlebot

Учитывайте, что подобная настройка файла robots.txt указывает роботу использовать только директивы, соответствующие user-agent с его именем.

Пример robots.txt с несколькими вхождениями User-agent:

# Будет использована всеми роботами Яндекса
User-agent: Yandex
Disallow: /*utm_

# Будет использована всеми роботами Google
User-agent: Googlebot
Disallow: /*utm_

# Будет использована всеми роботами кроме роботов Яндекса и Google
User-agent: *
Allow: /*utm_

Директива User-agent создает лишь указание конкретному роботу, а сразу после директивы User-agent должна идти команда или команды с непосредственным указанием условия для выбранного робота. В примере выше используется запрещающая директива «Disallow», которая имеет значение «/*utm_». Таким образом, закрываем все страницы с UTM-метками. Правильная настройка robots.txt запрещает наличие пустых переводов строки между директивами «User-agent», «Disallow» и директивами следующими за «Disallow» в рамках текущего «User-agent».

Пример неправильного перевода строки в robots.txt:

User-agent: Yandex

Disallow: /*utm_

Allow: /*id=

User-agent: *

Disallow: /*utm_

Allow: /*id=

Пример правильного перевода строки в robots.txt:

User-agent: Yandex
Disallow: /*utm_
Allow: /*id=

User-agent: *
Disallow: /*utm_
Allow: /*id=

Как видно из примера, указания в robots.txt поступают блоками, каждый из которых содержит указания либо для конкретного робота, либо для всех роботов «*».

Кроме того, важно соблюдать правильный порядок и сортировку команд в robots.txt при совместном использовании директив, например «Disallow» и «Allow». Директива «Allow» — разрешающая директива, является противоположностью команды robots.txt «Disallow» — запрещающей директивы.

Пример совместного использования директив в robots.txt:

User-agent: *
Allow: /blog/page
Disallow: /blog

Данный пример запрещает всем роботам индексацию всех страниц, начинающихся с «/blog», но разрешает индексации страниц, начинающиеся с «/blog/page».

Прошлый пример robots.txt в правильной сортировке:

User-agent: *
Disallow: /blog
Allow: /blog/page

Сначала запрещаем весь раздел, потом разрешаем некоторые его части.

Еще один правильный пример robots.txt с совместными директивами:

User-agent: *
Allow: /
Disallow: /blog
Allow: /blog/page

Обратите внимание на правильную последовательность директив в данном robots.txt.

Директивы «Allow» и «Disallow» можно указывать и без параметров, в этом случае значение будет трактоваться обратно параметру «/».

Пример директивы «Disallow/Allow» без параметров:

User-agent: *
Disallow: # равнозначно Allow: /
Disallow: /blog
Allow: /blog/page

Как составить правильный robots.txt и как пользоваться трактовкой директив — ваш выбор. Оба варианта будут правильными. Главное — не запутайтесь.

Для правильного составления robots.txt необходимо точно указывать в параметрах директив приоритеты и то, что будет запрещено для скачивания роботам. Более полно использование директив «Disallow» и «Allow» мы рассмотрим чуть ниже, а сейчас рассмотрим синтаксис robots.txt. Знание синтаксиса robots.txt приблизит вас к тому, чтобы создать идеальный robots txt своими руками.

Синтаксис robots.txt

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

Вот конкретные список простых правил, следуя которым, вы исключите частые ошибки robots.txt:

  1. Каждая директива начинается с новой строки;
  2. Не указывайте больше одной директивы в одной строке;
  3. Не ставьте пробел в начало строки;
  4. Параметр директивы должен быть в одну строку;
  5. Не нужно обрамлять параметры директив в кавычки;
  6. Параметры директив не требуют закрывающих точки с запятой;
  7. Команда в robots.txt указывается в формате — [Имя_директивы]:[необязательный пробел][значение][необязательный пробел];
  8. Допускаются комментарии в robots.txt после знака решетки #;
  9. Пустой перевод строки может трактоваться как окончание директивы User-agent;
  10. Директива «Disallow: » (с пустым значением) равнозначна «Allow: /» — разрешить все;
  11. В директивах «Allow», «Disallow» указывается не более одного параметра;
  12. Название файла robots.txt не допускает наличие заглавных букв, ошибочное написание названия файла — Robots.txt или ROBOTS.TXT;
  13. Написание названия директив и параметров заглавными буквами считается плохим тоном и если по стандарту, robots.txt и нечувствителен к регистру, часто к нему чувствительны имена файлов и директорий;
  14. Если параметр директивы является директорией, то перед название директории всегда ставится слеш «/», например: Disallow: /category
  15. Слишком большие robots.txt (более 32 Кб) считаются полностью разрешающими, равнозначными «Disallow: »;
  16. Недоступный по каким-либо причинам robots.txt может трактоваться как полностью разрешающий;
  17. Если robots.txt пустой, то он будет трактоваться как полностью разрешающий;
  18. В результате перечисления нескольких директив «User-agent» без пустого перевода строки, все последующие директивы «User-agent», кроме первой, могут быть проигнорированы;
  19. Использование любых символов национальных алфавитов в robots.txt не допускается.

Поскольку разные поисковые системы могут трактовать синтаксис robots.txt по-разному, некоторые пункты можно опустить. Так например, если прописать несколько директив «User-agent» без пустого перевода строки, все директивы «User-agent» будут восприняты корректно Яндексом, так как Яндекс выделяет записи по наличию в строке «User-agent».

В роботсе должно быть указано строго только то, что нужно, и ничего лишнего. Не думайте, как прописать в robots txt все, что только можно и чем его заполнить. Идеальный robots txt — это тот, в котором меньше строк, но больше смысла. «Краткость — сестра таланта». Это выражение здесь как нельзя кстати.

Как проверить robots.txt

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

Проверка файла robots.txt в Яндекс.Вебмастер: http://webmaster.yandex.ru/robots.xml

Проверка файла robots.txt в Google: https://www.google.com/webmasters/tools/siteoverview?hl=ru

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

Кроме сервисов проверки от Яндекс и Google, существует множество других онлайн валидаторов robots.txt.

Robots.txt vs Яндекс и Google

Есть субъективное мнение, что указание отдельного блока директив «User-agent: Yandex» в robots.txt Яндекс воспринимает более позитивно, чем общий блок директив с «User-agent: *». Аналогичная ситуация robots.txt и Google. Указание отдельных директив для Яндекс и Google позволяет управлять индексацией сайта через robots.txt. Возможно, им льстит персонально обращение, тем более, что для большинства сайтов содержимое блоков robots.txt Яндекса, Гугла и для других поисковиков будет одинаково. За редким исключением, все блоки «User-agent» будут иметь стандартный для robots.txt набор директив. Так же, используя разные «User-agent» можно установить запрет индексации в robots.txt для Яндекса, но, например не для Google.

Отдельно стоит отметить, что Яндекс учитывает такую важную директиву, как «Host», и правильный robots.txt для яндекса должен включать данную директиву для указания главного зеркала сайта. Подробнее директиву «Host» рассмотрим ниже.

Запретить индексацию: robots.txt Disallow

Disallow — запрещающая директива, которая чаще всего используется в файле robots.txt. Disallow запрещает индексацию сайта или его части, в зависимости от пути, указанного в параметре директивы Disallow.

Пример как в robots.txt запретить индексацию сайта:

User-agent: *
Disallow: /

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

В параметре директивы Disallow допускается использование специальных символов * и $:

* — любое количество любых символов, например, параметру /page* удовлетворяет /page, /page1, /page-be-cool, /page/kak-skazat и т.д. Однако нет необходимости указывать * в конце каждого параметра, так как например, следующие директивы интерпретируются одинаково:

User-agent: Yandex
Disallow: /page
User-agent: Yandex
Disallow: /page*

$ — указывает на точное соответствие исключения значению параметра:

User-agent: Googlebot
Disallow: /page$

В данном случае, директива Disallow будет запрещать /page, но не будет запрещать индексацию страницы /page1, /page-be-cool или /page/kak-skazat.

Если закрыть индексацию сайта robots.txt, в поисковые системы могут отреагировать на так ход ошибкой «Заблокировано в файле robots.txt» или «url restricted by robots.txt» (url запрещенный файлом robots.txt). Если вам нужно запретить индексацию страницы, можно воспользоваться не только robots txt, но и аналогичными html-тегами:

  • <meta name=»robots» content=»noindex»/> — не индексировать содержимое страницы;
  • <meta name=»robots» content=»nofollow»/> — не переходить по ссылкам на странице;
  • <meta name=»robots» content=»none»/> — запрещено индексировать содержимое и переходить по ссылкам на странице;
  • <meta name=»robots» content=»noindex, nofollow»/> — аналогично content=»none».

Разрешить индексацию: robots.txt Allow

Allow — разрешающая директива и противоположность директиве Disallow. Эта директива имеет синтаксис, сходный с Disallow.

Пример, как в robots.txt запретить индексацию сайта кроме некоторых страниц:

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

Запрещается индексировать весь сайт, кроме страниц, начинающихся с /page.

Disallow и Allow с пустым значением параметра

Пустая директива Disallow:

User-agent: *
Disallow:

Не запрещать ничего или разрешить индексацию всего сайта и равнозначна:

User-agent: *
Allow: /

Пустая директива Allow:

User-agent: *
Allow:

Разрешить ничего или полный запрет индексации сайта, равнозначно:

User-agent: *
Disallow: /

Главное зеркало сайта: robots.txt Host

Директива Host служит для указания роботу Яндекса главного зеркала Вашего сайта. Из всех популярных поисковых систем, директива Host распознаётся только роботами Яндекса. Директива Host полезна в том случае, если ваш сайт доступен по нескольким доменам, например:

mysite.ru
mysite.com

Или для определения приоритета между:

mysite.ru
www.mysite.ru

Роботу Яндекса можно указать, какое зеркало является главным. Директива Host указывается в блоке директивы «User-agent: Yandex» и в качестве параметра, указывается предпочтительный адрес сайта без «http://».

Пример robots.txt с указанием главного зеркала:

User-agent: Yandex
Disallow: /page
Host: mysite.ru

В качестве главного зеркала указывается доменное имя mysite.ru без www. Таки образом, в результатах поиска буде указан именно такой вид адреса.

User-agent: Yandex
Disallow: /page
Host: www.mysite.ru

В качестве основного зеркала указывается доменное имя www.mysite.ru.

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

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

Карта сайта: robots.txt sitemap

При помощи директивы Sitemap, в robots.txt можно указать расположение на сайте файла карты сайта sitemap.xml.

Пример robots.txt с указанием адреса к

Задержка сканирования и поисковый робот Bing, MSNBot

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

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

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

Следует ли устанавливать задержку сканирования?

На сканирование сайта влияют многие факторы, включая (но не ограничиваясь):

  • Общее количество страниц на сайте (маленький, большой или промежуточный?)
  • Размер содержимого (файлы PDF и Microsoft Office обычно намного больше, чем обычные файлы HTML)
  • Свежесть контента (как часто контент добавляется / удаляется / изменяется?)
  • Количество разрешенных одновременных подключений (функция инфраструктуры веб-сервера)
  • Пропускная способность сайта (функция поставщика услуг хоста; чем ниже пропускная способность, тем меньше способность сервера обслуживать запросы страниц)
  • Насколько высок рейтинг сайта (содержание, признанное нерелевантным, не будет сканироваться так часто, как высоко релевантное содержание)

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

Поскольку на скорость сканирования влияет так много факторов, нет четкого общего ответа на вопрос, следует ли устанавливать задержку сканирования. И время, необходимое для завершения сканирования сайта, также зависит от вышеуказанных факторов.Суть в следующем: если веб-мастера хотят, чтобы их контент был включен в индекс, его нужно сканировать. В сутках всего 86400 секунд (исключая дополнительные секунды!), Поэтому любая задержка, наложенная на бота, только уменьшит количество и свежесть контента, ежедневно помещаемого в индекс.

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

Задержка частоты сканирования в файле robots.txt

Bing поддерживает директивы протокола исключения роботов (REP), перечисленные в файле robots.txt сайта, который хранится в корневой папке веб-сайта. Файл robots.txt — единственное допустимое место для установки директивы задержки сканирования для MSNBot.

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

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

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

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

Агент пользователя: *
Задержка сканирования: 1

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

Агент пользователя: msnbot
Задержка сканирования: 1

Директива crawl-delay принимает только положительные целые числа в качестве значений.Считайте значение, указанное после двоеточия, как относительную величину регулирования, которую вы хотите применить к MSNBot по сравнению со скоростью обхода по умолчанию. Чем выше значение, тем меньше будет скорость сканирования.

Bing рекомендует использовать наименьшее возможное значение, если вы должны использовать какую-либо задержку, чтобы индекс был как можно более свежим с вашим последним содержанием. Мы не рекомендуем использовать любое значение выше 10, так как это серьезно повлияет на способность бота эффективно сканировать ваш сайт на предмет актуальности индекса.

Подумайте о настройках задержки сканирования в следующих терминах:

Задержка медленного движения

Скорость обновления индекса

Задержка не задана

Обычный

1

Медленная

5

Очень медленно

10

Чрезвычайно медленный

Обратная связь

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

Если у вас есть какие-либо вопросы, комментарии, отзывы или предложения по поводу MSNBot, не стесняйтесь размещать их на нашем форуме для обсуждения сканирования / индексирования. Скоро будет еще одно сообщение SEM 101. А пока…

— Рик ДеДжарнетт, Центр веб-мастеров Bing

Контроль сканирования — Инструменты Bing для веб-мастеров

Функция Crawl Control в Configure
Раздел «Мой сайт
» позволяет контролировать скорость, с которой Bingbot
делает запросы на страницы и ресурсы на вашем сайте.Вы можете сказать Bingbot
сканировать ваш сайт быстрее или медленнее, чем обычная скорость сканирования, в каждый из 24 часов в день. Сюда
вы можете ограничить активность Bingbot, когда посетители находятся на вашем сайте, и разрешить
нам больше пропускной способности в более тихие часы.

Примечание
Если мы обнаружим в вашем файле robots.txt директиву crawl-delay :, она всегда будет иметь приоритет над информацией из этой функции.

Как установить шаблон сканирования с использованием предустановки

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

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

Как установить пользовательский шаблон сканирования

В качестве альтернативы вы можете использовать с помощью мыши
для создания полностью настраиваемого почасового шаблона обхода, перемещая кубики, удерживая левую кнопку мыши, и перетаскивая его на желаемое количество квадрантов на временной шкале
обозначено на оси абсцисс.Больше синих квадрантов означает больше посещений с помощью Bingbot (более быстрое сканирование), меньшее количество квадрантов означает противоположное (более медленное сканирование). По умолчанию 5
квадранты для каждого временного интервала. В результате 5 синих квадрантов представляют
алгоритмически определяемая базовая скорость сканирования вашего сайта. Перемещение их вверх или
вниз увеличивает или уменьшает устанавливает более высокую или пониженную скорость сканирования в зависимости от
базовая скорость сканирования, которая была автоматически определена для вашего сайта. Когда вы будете довольны своим рисунком, просто нажмите Сохранить , чтобы сохранить настройку.

Как сообщить о проблеме с Bingbot

Bingbot — это имя сканера, используемого
Bing, чтобы ползать по сети. Задача Bingbot — находить новые и обновленные
страниц на веб-сайтах в Интернете, чтобы их можно было обрабатывать для
индексация. При сканировании веб-сайта Bingbot просматривает robots.txt на предмет особых
инструкции от владельца сайта. Bingbot соблюдает директивы robots.txt,
включая настройку crawl-delay: , и, в отсутствие задержки сканирования, учитывает ввод от веб-мастеров в функции управления сканированием.

В целом Bingbot хорошо справляется
определение того, как часто он должен посещать страницы вашего сайта, используя robots.txt
а также правила и подсказки Crawl Control. Мы называем это «ползучей вежливостью».
Тем не менее, все еще могут быть случаи, когда вы чувствуете, что Bingbot недостаточно вежлив и посещает ваши страницы чаще, чем работает для вас (чрезмерное сканирование).

Сообщение о переползании

Вот шаги, которым вы можете следовать, если считаете, что Bingbot
сканирует ваш сайт или не наблюдает за роботами.txt правила:

  1. Убедитесь, что трафик бота, который вы видите, действительно исходит от действительного
    Сервер Bingbot. Вы можете сделать это, не только глядя на строку User-Agent.
    (который может быть легко подделан кем угодно), но также по IP-адресу и с помощью
    инструмент Verify Bingbot , чтобы получить вердикт
  2. После того, как вы убедились, что это подлинный трафик Bingbot, вы
    может снизить трафик сканера следующим образом (если вы еще этого не сделали):
  3. Уменьшите скорость сканирования в часы наибольшей нагрузки с помощью средства управления сканированием
    feature
  4. Если этого недостаточно, добавьте директиву crawl-delay: в свой
    роботы.txt: Bing поддерживает целые числа в диапазоне от 1 до 20. Каждое число
    соответствует длине в секундах отрезков времени, на которые мы делим 24-часовой цикл сканирования. В этом контексте значение 1 означает, что вы разрешаете нам максимум один запрос для каждого временного интервала в 1 секунду — что медленно, но все же достаточно для
    сайты меньшего размера. 20 очень медленно и означает, что нам разрешен только один запрос на
    каждые 20 секунд для 24-часового цикла сканирования.
  5. Если вы выполнили шаги 1 и 2, но проблема все еще существует, вы
    можно обратиться в службу поддержки Bing для веб-мастеров .Заполните обязательные поля и в
    « Какой у вас тип проблемы?» В раскрывающемся списке выберите « Недостаточное сканирование.
    или запрос о чрезмерном сканировании
    »и опишите проблему, которую вы наблюдаете. Вы можете
    ожидайте ответа в течение 24-48 часов. Когда вы сообщаете о проблемах с чрезмерным сканированием,
    служба поддержки попросит вас предоставить образцы журналов сервера, которые показывают активность Bingbot
    в течение определенного периода времени на следующем этапе, поэтому убедитесь, что они готовы.

Потребность в (меньшей) скорости

Нам нужно поговорить с вами о скорости.

Понятно, 2020 год, все мгновенно. Вы хотите посмотреть телешоу, вы просто включаете Netflix, и он там. Вы заказываете новую стиральную машину на Amazon, и через 10 минут дрон бросает ее на вашу машину. Мир становится на быстрее .

Но быстрее не всегда лучше. На самом деле иногда быстрее может быть значительно хуже .

Отказ в обслуживании сканера (CDoS)

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

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

Основная причина этого в том, что пользователь пытается сканировать сайт слишком быстро, используя слишком много потоков.

По сути, запуск «слишком большого количества» потоков на веб-сайте является основной причиной отказа в обслуживании сканера (CDoS) — когда сервер не может справиться с нагрузкой и он падает (не буквально).

Что такое «нити»?

Возможно, вы не знаете, что такое поток и что он делает. В программном обеспечении поток — это просто компонент процесса, который получает инструкции от планировщика.

В случае поискового робота потоки используются для таких задач, как «загрузка HTML с веб-страницы».

С точки зрения того, как они влияют на загрузку сервера, вы можете рассматривать потоки как эквивалент пользователей на вашем веб-сайте. Допустим, вы настроили свой сканер на использование 10 потоков, это будет эквивалентно одновременному использованию 10 пользователей на вашем сайте (просмотр невероятно быстро!).

Без ограничения скорости эти 10 потоков будут перемещаться по вашему сайту с максимальной скоростью, возможно, со скоростью 50 URL-адресов в секунду.

Для многих веб-сайтов это слишком быстро и может привести к перегрузке сервера.

Почему серверы перегружаются?

Короткий ответ заключается в том, что они просто не могут обработать количество запросов, которые им отправляются. Это похоже на то время, когда один из ваших сотрудников подумал, что было бы «круто» опубликовать записку, которую вы разослали сотрудникам, чтобы они перестали приносить свои вибраторы на работу, и она попала на первую страницу Reddit, и сотни людей посетили вашу сайт сразу, поэтому он рухнул.

Пользователи и потоки сканера не совсем сопоставимы — поскольку серверы будут обрабатывать пользователей по-разному с точки зрения кэширования, файлов cookie и балансировки нагрузки, — но предпосылка остается той же: при массовом притоке использования пропускной способности просто не хватает, чтобы справиться с объемом .

Это очень похоже на то, что происходит с CDoS. Каждый поток опрашивает сервер несколько раз в секунду: «дайте мне эту страницу», «дайте мне эту страницу», и сервер послушно пытается ответить на каждый запрос, отправив данные обратно.Если запросы будут слишком частыми, в конечном итоге сервер станет слишком много для их обработки.

В вашем программном поисковом роботе вы можете увидеть это как тайм-аут страниц (т. Е. Поисковый робот должен был ждать слишком долго и сдался) или ошибки сервера (5XX).

На некоторых серверах есть системы, которые пытаются смягчить подобные проблемы, например, возвращают HTTP-статус 403 (запрещено) или 429 (слишком много запросов), что является серверным эквивалентом выражения «пожалуйста, пошли к черту».’

Почему CDoS плохой?

Надеюсь, основные недостатки очевидны — компании, которые зависят от своего веб-сайта, могут потерять ценный трафик или продажи, если вы продолжите его снижать. Точно так же это не отразится на вас как на виновнике, поэтому они могут быть не единственными, кто теряет бизнес …

Но падение веб-сайта — это только крайняя граница шкалы: если сканирование замедляет работу вашего сервера, то это замедляет его и для посетителей вашего сайта.И все мы читали исследования о влиянии скорости страницы на коэффициент конверсии.

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

Это просто следствие сказанного выше. Если сервер будет перегружен, или если сервер начнет говорить вам уходить, данные, которые вы вернете в ходе аудита, будут неточными или неполными — из-за всех тайм-аутов и ошибок сервера.

Сканирование слишком быстро является грубым, потенциально опасным и может испортить ваши данные сканирования.Мы, в Sitebulb, не рекомендуем это делать.

Ответственное сканирование — с использованием ограничений скорости

Большинство поисковых роботов позволяют вам установить ограничение на количество URL-адресов, которые сканер будет сканировать в секунду, и вы также можете часто регулировать количество используемых потоков. Например, настройка скорости Sitebulb по умолчанию — использовать 4 потока, максимум 5 URL-адресов в секунду.

Это ограничивает вероятность случайного CDoS, эффективно ограничивая работу искателя, если сервер не может его обработать. Позволь мне объяснить…

Как TTFB влияет на скорость ползания

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

Представьте, что поисковый робот запрашивает загрузку URL:

  1. Сканер запрашивает URL, отправляя HTTP-запрос.
  2. Сервер получает запрос, отображает контент и генерирует ответ.
  3. Сервер отправляет ответ искателю.
  4. Сканер получает ответ.

TTFB — это время, прошедшее от начала №1 до начала №4 (буквально, когда получен первый байт содержимого).

Если мы посмотрим на № 2, поскольку контент должен быть отображен, это означает, что страницы с большим количеством контента имеют более длинный TTFB. Например, URL-адреса ресурсов страницы, такие как изображения, обычно имеют TTFB в 10 раз быстрее, чем страницы HTML.

Поскольку №3 касается передачи данных, TTFB также зависит от скорости соединения и доступной полосы пропускания, как для отправляющего сервера, так и для пользователя, принимающего.

Короче говоря, если ваши страницы тяжелые или сервер долго отправляет данные, TTFB будет выше.

Теперь, если мы вернемся к настройке скорости URL-адресов в секунду, должно быть более ясно, как TTFB вписывается в уравнение (поскольку TTFB эффективно измеряет «время загрузки»). Скажем, у нас есть настройки по умолчанию 5 URL-адресов в секунду в качестве максимальной скорости с 4 потоками, доступными для сканирования.

Если TTFB составляет примерно 500 мс на URL (= 0,5 секунды), это означает, что каждый поток теоретически может загружать 2 URL-адреса в секунду, поэтому все 4 потока могут обрабатывать 8 URL-адресов в секунду максимум.Поскольку сработает ограничение в 5 URL-адресов в секунду, на этом конкретном веб-сайте он на самом деле этого не сделает, но может.

Скажем, однако, что время TTFB было больше похоже на 3 секунды. Это означает, что 4 потока могли сканировать только 4/3 = 1,33 URL в секунду!

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

В подобных обстоятельствах наш совет двоякий:

  1. Сканируйте сайт медленно. Придерживаясь чего-то вроде ограничения в 5 URL / с, вы автоматически дросселируете на основе TTFB, рассматривайте это как положительный момент.
  2. Поощряйте владельца сайта повышать скорость работы сайта!

Ползите ответственно — но быстрее!

Независимо от того, сколько раз мы говорим «чем медленнее, тем лучше», мы знаем, что стандартный ответ всегда будет «да, но я хочу работать быстрее».

Не желая сравнивать сканирование веб-сайта с сексом несовершеннолетних; «Если ты все равно собираешься это делать, по крайней мере, делай это ответственно!»

В Sitebulb мы даем пользователям возможность увеличивать скорость до 25 URL-адресов в секунду и даже контролировать потоки без ограничения скорости.Достаточно сказать, что мы советуем при этом проявлять осторожность.

Предлагаем вам принять во внимание следующее:

  1. Подумайте о , когда вы собираетесь сканировать сайт. Сканирование сайта электронной торговли в обеденное время, вероятно, не лучшая идея. Посмотрите на Google Analytics, чтобы узнать, когда сайт работает максимально тихо.
  2. Сервер также должен иметь возможность обрабатывать сквозной трафик. Вы знаете спецификацию машины? Это в среде виртуального хостинга?
  3. Могут ли CMS и база данных обрабатывать шквал запросов?
  4. Является ли HTML чистым, не раздутым и не сломанным?
  5. Отметьте прохождение в различных точках.Сильно ли увеличился TTFB? В таком случае вам может потребоваться приостановить аудит и замедлить его.

Наконец — что об этом говорят в Google?

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

Их собственными словами (выделено мной):

«Наша цель — сканировать как можно больше страниц вашего сайта при каждом посещении , не превышая пропускную способность вашего сервера .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *