Что такое поисковый робот: и как им управлять

Краулер (от английского crawler — «ползать») — это поисковый робот, используемы поисковой системой для обнаружения новых страниц в интернете. Простыми словами, краулер — это поисковый робот Google, «Яндекса» и других поисковых систем.

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

Архитектура, благодаря пауку контент со страниц попадает в хранилище поисковой машины
Архитектура, благодаря пауку контент со страниц попадает в хранилище поисковой машины

Отдельно следует отметить большое количество синонимов, которыми могут называть поискового краулера. Среди них поисковый паук, робот, бот, ant, webspider, webrobot и т. д.

Как поисковый робот видит страницу

Он видит веб-сайт совсем не так, как его видит пользователь. Вместо привычного нам визуального контента паук обращает внимание на заголовок, ответ и IP-адрес: 

Так видит страницу публичного сайта поисковый робо
Так видит страницу публичного сайта поисковый робо

Поисковый робот анализирует следующие параметры:

  1. Ответ HTTP-заголовка страницы.
  2. Текущий веб-сервер.
  3. Текущую дату в GMT-формате.
  4. Тип контента.
  5. Объем контента.
  6. Наличие Keep-Alive (постоянное HTTP-соединение).
  7. Локейшн (URL сайта / страницы).
  8. Код перенаправления.
  9. IP-адрес.
  10. Установленные сайтом правила cookie.
  11. Внешние и внутренние ссылки на странице.

Как работает робот Google и «Яндекса»

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

  1. Переход по URL.
  2. Сканирование контента страницы.
  3. Сохранение содержимого на сервере. На этом этапе может происходить конвертация формата данных в удобочитаемый для поисковой машины формат.
  4. Повторение указанной цепочки с переходом по новому URL.

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

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

Последовательность обработки страниц краулером Google
Последовательность обработки страниц краулером Google

Типы краулеров

Поисковые системы используют разные типы для сканирования разного контента. Например, у Google есть отдельные поисковые роботы для обработки изображений, видео, новостного контента, общего качества страницы. Кроме этого, у зарубежной ПС имеется собственный целевой робот для индексации мобильных страниц и проверки качества рекламы. Каждый из перечисленных поисковых роботов обладает собственным user-agent'ом, и при желании для любого из них можно создать директиву в стандарте исключения для роботов. Об этом мы расскажем в разделе «Как запретить обход сайта».

У «Яндекса» разноцелевых гораздо меньше: по разным оценкам — от четырех до пяти штук. Основных пауков у «Яндекса» два: стандартный бот и быстрый паук Orange.

Работа краулера на примере поискового робота «Яндекса» выглядит так:

  1. Планировщик строит очередность сканирования.
  2. Этот маршрут отправляется роботу.
  3. Он обходит документы. 
  4. Если сайт отдает корректный ответ, он скачивает данные.
  5. Самостоятельно идентифицирует параметры документа, включая язык.
  6. Затем он отправляет полученные сведения в кэш «Яндекса» или иное хранилище.

Вот примерная визуализация этих процессов:

У «Яндекса» два главных робота — основной и Orange
У «Яндекса» два главных робота — основной и Orange

Как часто обновляется индекс Google и «Яндекса»

Информация о найденных ссылках попадает в базы данных поисковых машин не сразу, а через определенный период времени. Обновление индекса — базы данных, содержащей ссылки на вновь найденные URL — у «Яндекса» может занимать от нескольких дней до 1–2 недель. Google же обновляет индекс гораздо чаще — несколько раз за сутки.

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

Почему краулер не индексирует все страницы сайта сразу

У каждого поискового робота существует собственный лимит по числу обращений к сайту — например, суточный — краулинговый бюджет. В Google Search Console можно посмотреть суммарное количество запросов сканирования вашего сайта на вкладке «Статистика сканирования»:

 Синяя плашка «Всего запросов на сканирование» — общее количество запросов за указанный период времени
Синяя плашка «Всего запросов на сканирование» — общее количество запросов за указанный период времени

Учитываются и повторные запросы сканирования одного и того же URL. Кроме того, у каждой поисковой машины существуют ограничения по уровням доступа, а также по размеру текстового контента. 

По всем вышеуказанным причинам сайт, особенно если он имеет сложную структуру и большое количество страниц, не может быть проиндексирован за один раз (и даже за 2-3-4).

Зачем поисковые роботы притворяются реальными пользователями

Краулеры поисковых систем почти всегда «играют по правилам». Они никогда не представляются пользовательским клиентомнапример, браузером. Однако пауки различных сервисов сканируют огромные массивы данных. Если они будут соблюдать все ограничения для краулеров (бюджеты обращений, интервалы между обращениями), скорость сканирования будет оставаться очень низкой.

Чтобы решить эту проблему, разработчики веб-сервисов в частном порядке создают пауков, которые представляются пользовательским клиентом, чаще всего — браузером.

Фактор роботности

До недавнего времени поисковые роботы, которые притворяются реальными пользователями, могли негативным образом влиять на статистику посещаемости сайта, искажая ее. Сегодня фактор роботности учитывает как Google Analytics, так и «Яндекс.Метрика».

В любом отчете «Яндекс.Метрики» можно ограничить отображение визитов, создаваемых роботами. Для этого откройте любой интересующий вас отчет, кликните по строке «Данные с роботами» и выберите необходимый сценарий фильтрации:

«Яндекс.Метрика» умеет вычислять роботов
«Яндекс.Метрика» умеет вычислять роботов

Роботность по поведению — это доля визитов роботов, определенных по поведенческим факторам. Роботы по поведению маскируются под реальных посетителей

В Google Analytics также можно фильтровать роботов. Для этого откройте настройки администратора и перейдите в параметры представления:

Откройте «Настройки представления»
Откройте «Настройки представления»

Сделайте активным чекбокс «Исключить обращения роботов и пауков»:

Отметьте чекбокс «Исключить обращения роботов и пауков»Отметьте чекбокс «Исключить обращения роботов и пауков»
Отметьте чекбокс «Исключить обращения роботов и пауков»

Всё. Теперь GA не будет учитывать их своих отчетах.

Вежливые и вредные роботы

Классификация не официальная, но вполне подходящая в данном случае.

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

Не стоит думать, что объем трафика, генерируемого роботами, ничтожен: поисковые роботы есть не только у Google и «Яндекса», а также других поисковых систем, но и у огромного количества аналитических сервисов, сервисов статистики, SEO-инструментов. Например, существуют: Alexa, Amazon, Xenu, NetPeak, SEranking.

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

Способов борьбы предостаточно. Например, для многих CMS сегодня доступны разнообразные инструменты, ограничивающие воздействие вредных пауков на сайт. Часто они сделаны в виде плагинов или расширений. Например, в WordPress разработан плагин Blackhole for Bad Bots.

Blackhole for Bad Bots заблокировал двух вредных
Blackhole for Bad Bots заблокировал двух вредных

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

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

Как запретить обход сайта

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

  1. Временные интервалы, которые он должен соблюдать при обращении к сайту.
  2. Конкретные разделы, которые паук не должен сканировать.

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

User-agent: Googlebot
Disallow: /nogooglebot/

User-agent*
Allow: /

Sitemap: http://www.abc.com/sitemap.xml

Расшифруем:

  1. Googlebot мы ограничили обход любых ссылок, которые начинаются с http://abc.com/nogooglebot/.
  2. Карта сайта опубликована по URL http://www.abc.com/sitemap.xml.
  3. Все остальные (кроме Googlebot) свободно обходят сайт.

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

Все указания в стандарте исключений для роботов носят лишь рекомендательный характер. Поисковый робот не обязаны соблюдать их на 100 %, так как директива является лишь рекомендацией для робота.

Чтобы посоветовать всем поисковым роботам не индексировать сайт, добавьте эту директиву:

User-agent:*
Disallow: /

 

Чтобы посоветовать не индексировать страницу конкретному боту, укажите его юзерагент таким образом:

User-agent:Yandex
Disallow: /

 

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

User-agent:*
Disallow: /private/
Disallow: /musor/

 

А так мы советуем не обходить конкретную веб-страницу:

User-agent:*
Disallow: /private_page.html

Важно: Файл robots.txt не должен применяться для полной блокировки показа страниц в результатах поиска. Для указанной задачи эффективнее всего просто запаролить страницу либо прописать noindex-директиву в HTTP-заголовок или страничный метатег.

Оценить статью
11 ответов
+7 (495) 772 97 91
Возьмем ТОП вместе?
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Цена лидов в различных нишах
Тематика Стоимость лида (Москва/Россия)
Отдых 500
Мебель 350
Оборудование 500
Бансковские услуги 500
Безопасность 500
Организация мероприятий, концерты, праздники 500
Недвижимость 500
Строительство и отделка 500
Грузоперевозки 500
Доставка еды 350
Юридические услуги 500
Бухгалтерские услуги 500
Пластиковые окна 500
Детские товары 350
Автозапчасти 350
Образование 500
Возьмем ТОП вместе?
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Оставить заявку сейчас
Выберите интересующую услугу *
Нажимая кнопку «Оставить заявку» вы соглашаетесь с Политикой конфиденциальности.
Подпишитесь на рассылку
Не пропустите самое интересное из мира SEO и Digital. Только актуальные и самые крутые статьи.
Заявка успешно отправлена!
Наши сотрудники уже приступили к анализу Вашего сайта. Наш менеджер свяжется с вами в течение дня, спасибо!