краулинг сайта что это

Достаточно ли вы знаете о web-scale crawling

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этокраулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этокраулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этокраулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этокраулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

1 июня 2018 года прошла одна из самых масштабных конференций о продвижении на западных рынках Nazapad 9. Tim Soulo (Head of Marketing & Product Strategy at Ahrefs) затронул тему краулинга, рассказал что такое crawl budget, а также как индексируются ссылки. Эта тема достаточно сложная и объемная, так что заваривайте чай, садитесь поудобнее и будем разбираться вместе.

Как работает web-scale crawling

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

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Предположим, что Краулер зашел на страницу, на которой находится 3 ссылки. Далее ему необходимо перейти на каждую из этих трёх ссылок, где в свою очередь находится еще 3 ссылки. То есть далее ему необходимо перейти на 9 страниц и тд. Но в реальной жизни на страницах практически никогда не бывает 3 ссылок, обычно это 50-60-100 и за пару шагов кол-во страниц, которые нужно прокраулить вырастает в сотни раз. Поэтому невозможно краулить новые страницы мгновенно. В связи с этим существует система “Краулер-Планировщик”.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

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

На странице https://ahrefs.com/big-data мы можем увидеть сколько страниц прокраулил Ahrefsbot, не считая тех, что все еще висят в Планировщике.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Те ссылки, которые висели в планировщике более 90 дней Ahrefs отмечает как delayed.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Что такое crawl budget (краулинговый бюджет)

При краулинге нового домена, Ahrefsbot смотрит на следующие параметры:

Если рейтинг домена слишком маленький и он имеет слишком большое количество страниц, то качественные страницы этого домена могут вытеснить из индекса менее качественны. Такие страницы помечены как dropped.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Что представляет собой индекс ссылок

Чтобы в индексе оставались актуальные страницы необходимо придерживаться некоторых правил:

Ahrefs краулит 5000000 страниц в минуту, 80% из которых это ре-краул. Если страница очень крутая, на нее постоянно появляется куча ссылок, у нее хороший рейтинг или на ней что-то меняется, то её ре-краулят часто. Минимальный интервал ре-краула таких страниц — 1 час. Если у страницы плохой рейтинг и на неё нет новых ссылок, то такая страница будет ре-краулиться реже. Максимальный интервал — 6 месяцев.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Иногда при сравнении индекса Ahrefs и других сервисов, первый показывает меньше ссылок, хотя принято считать, что у Ahrefs индекс самый обширный. Дело в том, что ре-краулинг происходит слишком часто и Ahrefs быстрее видит, что ссылки пропали. Ввиду этого в Ahrefs создано 3 индекса:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Зачастую стоит обращать внимание на индекс Recent, так как большинство причин удаления ссылки из индекса обратимы:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Рассмотрим подробнее эти причины. Они разделены на 2 группы. Первая относится к странице, на которой вас линкуют. Вторая категория относится к самой ссылке. Страница:

Чем отличаются индексы разных провайдеров

То, как считаются ссылки, очень важно, потому что разные провайдеры считают ссылки по разному. Для примера, в посте “Why Counting Links Is Not So Easy” директор по маркетингу Majestic по состоянию на 2011 год в задаче по определению количества ссылок на страницу B из картинки ниже указал, что они определяют 4 ссылки на эту страницу. В Ahrefs будет учитываться 7-8 ссылок. Другие провайдеры могут считать совсем по другому.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Еще пример, в Majestic статья «Beginner’s Guide to SEO» имеет 126,201 ссылок с сайта coschedule.com:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

На Ahrefs всего 17 ссылок на данную статью из этого сайта:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Оказалось, что Majestic учитывает страницы с UTM-метками несмотря на том, что на странице указан rel= «canonical»:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Ссылки в JavaScript — это еще один важный момент, который нужно учитывать. На скриншоте ниже указано какие поисковики кроулят js frameworks. Из линк-индексов только Ahrefs недавно начал это делать и включать такие ссылки в свой индекс. Поэтому в Ahrefs есть определенные ссылки, которых нет у других.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Что такое AR/DR/UR

AR = Ahrefs Rank. Рейтинг сайтов строится на основе их Backlinks.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

DR = Domain Rating. По сути это все сайты из AR загнанные в шкалу от 1 до 100. DR это быстрый способ определить где определенный сайт находится по соотношению ко всем остальным сайтам.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

UR = URL Rating. Не стоит путать в метрикой DR, она относится ко всему домену. UR относится к каждой странице сайта отдельно.

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

Источник

Пишем краулер на раз-два 1.0

Веб-краулер (или веб-паук) — это важная составная часть поисковых систем для обхода веб-страниц с целью занесения информации о них в базы данных, в основном, для их дальнейшей индексации. Такая штука есть у поисковиков (Google, Yandex, Bing), а также у SEO-продуктов (SEMrush, MOZ, ahrefs) и не только. И штука эта — довольно интересная: как в плане потенциала и вариантов использования, так и для технической реализации.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

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

Интро

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

В качестве платформы и языка выбраны node.js и JavaScript, потому что это просто и асинхронно. Конечно, для промышленной разработки выбор технологической базы должен опираться на бизнес-требования, ожидания и ресурсы. В качестве же демонстрации и прототипа эта платформа — вполне ничего (имхо).

Это мой краулер. Таких краулеров много, но этот — мой.
Мой краулер — мой лучший друг.

Реализация краулера — довольно популярная задача и встречается даже на технических собеседованиях. Готовых (Apache Nutch) и самописных решений для разных условий и на множестве языков — действительно много. Поэтому, любые комментарии из личного опыта разработки или использования приветствуются и будут интересны.

Постановка задачи

Задание для первой (начальной) реализации нашего тяп-ляп краулера будет следующим:

Краулер на раз-два 1.0
Написать краулер-скрипт, который обходит внутренние ссылки некоторого небольшого (до 100 страниц) сайта. В качестве результата предоставить список URL’ов страниц с полученными кодами и карту их перелинковки. Правила robots.txt и атрибут ссылки rel=nofollow игнорировать.

Внимание! Игнорировать правила robots.txt — плохая идея по понятным причинам. Мы наверстаем это упущение в дальнейшем. А пока, добавим ограничивающий количество обходимых страниц параметр limit, чтобы останавливаться и не DoS’ить подопытный сайт (лучше и вовсе для экспериментов использовать какой-нибудь свой персональный «сайт-хомячок»).

Реализация

Для нетерпеливых вот исходники этого решения.

1. HTTP(S)-клиент

Первое, что нам нужно уметь делать — это, собственно, отправлять запросы и получать ответы по HTTP и HTTPS. В node.js для этого есть два соответствующих клиента. Конечно, можно взять готовый клиент request, но для нашей задачи он крайне избыточен: нам всего лишь надо отправить GET-запрос и получить response с телом и заголовками.

Необходимый нам API обоих клиентов идентичен, заведем мапу:

Объявим простую функцию fetch, единственным параметром которой будет абсолютный URL нужного веб-ресурса строкой. С помощью утильного модуля url будем парсить полученную строку в объект URL. В этом объекте имеется поле с протоколом (с двоеточием), по которому мы выберем подходящий клиент:

Далее используем выбранный клиент и обернем результат функции fetch в промис:

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

2. Варианты ответа

Для обхода сайта достаточно обрабатывать 3 варианта ответа:

Реализация стратегии формирования результата в лучших традициях if-else:

Функция fetch готова к использованию: код функции целиком.

3. Экстрагирование ссылок

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

Если тип результата — REDIRECT, то функция вернет массив с одной единственной ссылкой из поля location. Если NO_DATA, то пустой массив. Если же OK, то нам необходимо подключить парсер для представленного текстового content для поиска.

Для задачи поиска можно написать и регулярное выражение. Но это решение совершенно не масштабируется, так как в дальнейшем мы как минимум будем обращать внимание на прочие атрибуты (rel) ссылки, как максимум — подумаем про img, link, script, audio/video (source) и прочие ресурсы. Гораздо перспективнее и удобнее парсить текст документа и строить дерево его узлов для обхода привычными селекторами.

Воспользуемся популярной библиотекой JSDOM для работы с DOM в node.js:

Достаем из документа все A элементы, а затем все отфильтрованные значения атрибута href, как не пустые строки.

4. Подготовка и фильтрация ссылок

В результате работы экстрактора мы имеем набор ссылок (URL) и две проблемы: 1) URL может быть относительным и 2) URL может вести на внешний ресурс (нам нужны сейчас только внутренние).

С первой проблемой нам поможет справиться функция url.resolve, которая резолвит URL целевой страницы относительно URL страницы-источника.

Чтобы решить вторую проблему, напишем простую утильную функцию inScope, которая проверяет хост целевой страницы относительно хоста базового URL текущего краула:

Функция осуществляет поиск подстроки (baseHost) с проверкой предыдущего символа, если подстрока была найдена: так как wwwexample.com и example.com — разные домены. В результаты мы не покидаем заданный домен, но обходим его поддомены.

Доработаем функцию extract, добавив «абсолютизацию» и фильтрацию полученных ссылок:

Здесь fetched — полученный результат от функции fetch, src — URL страницы-источника, base — базовый URL краула. На выходе мы получаем список уже абсолютных внутренних ссылок (URL) для дальнейшей обработки. Код функции целиком можно увидеть здесь.

5. Нормализация URL

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

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

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Да, здесь нет сортировки query-параметров, игнорирования utm-меток, обработки _escaped_fragment_ и прочего, чего нам (пока) совершенно не нужно.

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

6. Алгоритм работы main-функции

Ключевые компоненты (примитивы) решения уже готовы, пришло время начать собирать все вместе. Для начала определимся с сигнатурой функции crawl: на входе — стартовый URL и ограничение по страницам. Функция возвращает промис, резолв которого предоставляет аккумулированный результат; запишем его в файл output:

Простейшая схема рекурсивной работы функции краула может быть описана шагами:

1. Инициализация кэша и объекта результата
2. ЕСЛИ URL целевой страницы (через normalize) отсутствует в кэше, ТО
— 2.1. ЕСЛИ достигнут limit, ТО КОНЕЦ (ждать результат)
— 2.2. Добавить URL в кэш
— 2.3. Сохранить ссылку между источником и целевой страницей в результат
— 2.4. Отправить асинхронный запрос за страницей (fetch)
— 2.5. ЕСЛИ запрос выполнился успешно, ТО
— — 2.5.1. Экстрагировать новые ссылки из результата (extract)
— — 2.5.2. Для каждой новой ссылки выполнить алгоритм 2-3
— 2.6. ИНАЧЕ пометить страницу состоянием ошибки
— 2.7. Сохранить данные о странице в результат
— 2.8. ЕСЛИ это была последняя страница, ТО ВЕРНУТЬ результат
3. ИНАЧЕ сохранить ссылку между источником и целевой страницей в результат

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

Достижение лимита страниц проверяется простым счетчиком запросов. Второй счетчик — количество активных запросов в момент времени — послужит проверкой готовности отдать результат (когда значение оборачивается в ноль). Если функции fetch не удалось получить очередную страницу, то для нее Status Code выставим как null.

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

7. Возвращаемый результат

Введем уникальный идентификатор id с простым инкрементом для опрошенных страниц:

Для результата заведем массив pages, в который будем складывать объекты с данными по странице: id , url и code (этого сейчас достаточно). Также заведем массив links для ссылок между страницами в виде объекта: from (id страницы-источника), to (id целевой страницы).

Для информативности перед резолвом результата отсортируем список страниц по возрастанию id (ведь ответы будут приходить в каком-угодно порядке), дополним результат числом просканированных страниц count и флагом о достижении заданного лимита fin:

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

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

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

А вот результат в формате JSON:

Что с этим уже можно делать? Как минимум, по списку страниц можно найти все битые страницы сайта. А имея информацию о внутренней перелинковке, можно обнаружить длинные цепочки (и замкнутые циклы) редиректов или найти наиболее важные страницы по ссылочной массе.

Анонс 2.0

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

Источник

5 способов краулинга веб-сайта

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

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

Metasploit

Вспомогательный поисковый модуль Metasploit представляет собой модульный поисковый робот, который будет использоваться вместе с wmap или автономно.

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

Что невозможно сделать вручную при помощи браузера.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Httrack

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

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

Введем следующую команду внутри терминала

Он сохранит вывод в заданном каталоге /root/Desktop/file

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

На скриншоте можно увидеть, что Httrack скачал немало информации о веб-сайте, среди которой много:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Black Widow

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

Введем свой URL http://tptl.in в поле адрес и нажмем «Go».

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Нажимаем кнопку «Start», расположенную слева, чтобы начать сканирование URL-адресов, а также выбираем папку для сохранения выходного файла. На скриншоте видно, что просматривался каталог C:\Users\RAJ\Desktop\tptl, чтобы сохранить в нем выходной файл.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

В каталоге tptl теперь будут храниться все данные веб-сайта:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Website Ripper Copier

Website Ripper Copier (WRC) — это универсальная высокоскоростная программа-загрузчик веб-сайтов. WRC может загружать файлы веб-сайтов на локальный диск для просмотра в автономном режиме, извлекать файлы веб-сайтов определенного размера и типа, такие как:

Также WRC может извлекать большое количество файлов в качестве диспетчера загрузки с поддержкой возобновления.

Вдобавок WRC является средством проверки ссылок на сайты, проводником и веб-браузером с вкладками, предотвращающим всплывающие окна. Website Ripper Copier — единственный инструмент для загрузки веб-сайтов, который может:

Выбираем «websites for offline browsing».

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Вводим URL-адрес веб-сайта как http://tptl.in и нажимаем «next».

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Указываем путь к каталогу, чтобы сохранить результат, после чего жмём «run now».

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

При открытии выбранного каталога tp, внутри него будут файлы:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

Burp Suite Spider

Burp Suite Spider – это инструмент для автоматического сканирования веб-приложений, более подробно о котором уже писали на habr. В большинстве случаев желательно отображать приложения вручную, но с помощью Burp Spider данный процесс можно автоматизировать, что упростит работу с очень большими приложениями или при нехватке времени.

На скриншоте видно, что http-запрос был отправлен «пауку» с помощью контекстного меню.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

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

Источник

Краулинговый бюджет сайта — актуальное об индексации страниц в 2021 🤖

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что это

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

В статье:

Как поисковик обходит сайт: что такое краулинговый и рендеринговый бюджет

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

Процесс немного различается для статических HTML-страниц и динамических страниц с JavaScript.

Статические страницы

Боты, которые ищут и обрабатывают страницы, называются краулеры, процесс обработки — краулинг.

Поисковый бот формирует список URL сайта — их он находит по Карте сайта, внутренним и внешним ссылкам.

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

Дальше он сортирует ссылки по приоритетности и начинает сканировать. Приоритетность определяет по многим факторам: удаленность от главной, PageRank и другие.

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

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

Динамические JS-страницы

Краулеры сканируют и индексируют контент статической HTML-страницы. Если страница динамическая, с визуализацией и JS-фреймворками, то процесс в целом такой же, но нужен еще промежуточный этап. После сканирования бот должен сначала отрисовать контент, закодированный через JavaScript, а уже потом отправить его в индекс. Этот этап называется рендеринг.

Поисковые боты обрабатывают код JavaScript с помощью последней версии Chromium. Количество страниц, которые бот может отобразить, называется рендеринговым бюджетом.

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

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

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

Кому нужно беспокоиться о краулинговом бюджете

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

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

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

Как определить, что у вас проблемы с краулинговым бюджетом:

Найти, сколько страниц теоретически должно быть в индексе. Это страницы без тега noindex (актуален для Яндекса) и нет запрета в robots.txt.

Соотнести количество проиндексированных страниц с тем, что теоретически должно быть в индексе. Эти данные можно посмотреть в консоли Google и Яндекс.Вебмастере.

Если страниц, которые теоретически должны быть в индексе, во много раз больше, то есть проблемы.

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

Динамика сайта

Динамику по обеим поисковым системам можно смотреть в сервисе Анализ сайта:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоИндексация в Анализе сайта

В Яндекс.Вебмастере в разделе «Статистика обхода» можно посмотреть, какие страницы сайта обходит робот, а какие он не смог загрузить.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоСтатистика обхода в Яндекс.Вебмастере

В Google Search Console на вкладке Статистика сканирования можно увидеть общую картину — количество просканированных ботами страниц.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоЗапросы на сканирование страниц

Проблемы с индексацией могут повлечь и проблемы с ранжированием, а значит и с трафиком. Если вы заметили падение трафика, то проверьте данные отчета «Покрытие» в консоли Google. Нужно сравнить динамику изменения ранжирования и динамику на всех четырех вкладках отчета.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоОтчет «Покрытие»

Особенно интересны разделы «Покрытие» — «Ошибки» и «Покрытие» — «Исключено». В «Исключено» будут страницы, которые Google считает некачественными: переадресации, закрытые от индексации и другие.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоСписок исключенных страниц

Проверка конкретной страницы

Узнать, на какой стадии конкретная страница, можно через Инструмент проверки URL. Он отобразит текущий статус индексирования страницы и даст знать, если что-то мешает обработке.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоПроверка URL

Инструмент проверяет последнюю проиндексированную версию страницы. Если после последнего сканирования страницу изменили или удалили, он это не отобразит. Кликните на «Проверить страницу на сайте», чтобы получить данные о текущей версии страницы.

Есть еще момент: инструмент не учитывает санкции поисковика и временную блокировку URL. Так что даже если вы видите в результатах проверки «URL есть в индексе Google», страницы может не быть в выдаче. Проверить, есть ли она там, очень просто — нужно загуглить ее URL.

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоURL есть в выдаче Google

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

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоФрагмент результатов работы инструмента

Серверные логи

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

Искать логи нужно в файле access.log в системной папке сервера или через панель управления хостинга, но не все типы хостинга это позволяют.

Если вы смотрите на поведение бота Google, вам нужен GoogleBot, но не все, что так называется, действительно относится к ботам поисковика — Как убедиться, что сайт сканируется роботом Googlebot.

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

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

Ориентироваться на больших массивах данных удобнее через программы. Для анализа логов есть программы: LogViewer, Screaming Frog Log Analyzer, JetOctopus, Loggly, GoAccess и другие.

Эффективные способы оптимизировать краулинговый бюджет сайта

Увеличить лимит на сканирование можно только двумя способами:

выделить дополнительные ресурсы сервера для сканирования;

повысить ценность контента для пользователей.

Разберем, как веб-мастеру работать со вторым.

Ускорить загрузку страниц

Долгая загрузка сайта отнимает время поискового бота. Увеличить скорость сканирования нельзя без ускорения сайта.

Проверить скорость загрузки можно в сервисе Анализ сайта. Он проверяет загрузку онлайн в соответствии параметру Core Web Vitals, который Google начал использовать в 2021 году. Если со скоростью будут проблемы, сервис их покажет и посоветует, что делать:

краулинг сайта что это. Смотреть фото краулинг сайта что это. Смотреть картинку краулинг сайта что это. Картинка про краулинг сайта что это. Фото краулинг сайта что этоФрагмент проверки скорости загрузки страницы

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

Настроить Sitemap.xml

Обработать Карту сайта: очистить ее от дублей и ненужных ссылок с редиректами. В Карте должны быть только URL качественных страниц, которые нужны в индексе. Служебные там ни к чему.

Обработать robots.txt

Хоть это файл не с правилами, а рекомендациями для поисковых ботов, все равно он может повлиять на решение о сканировании. Чтобы роботы не тратили краулинговый бюджет на обработку страниц, которые не изменились со времени последнего сканирования, добавьте им значение last-modified.

Избавиться от редиректов

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

Разобраться с дублями контента

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

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

Настроить внутреннюю перелинковку

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

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

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

Наращивать внешние ссылки

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

Без покупки обратных ссылок сложно обойтись, но есть и бесплатные способы, как можно их получить.

Проблемы с индексацией и советы о том, как ее ускорить, мы собрали в этом материале.

Как оптимизировать рендеринговый бюджет

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

Рассмотрим, что можно внедрить, чтобы оптимизировать этот процесс.

Большую часть контента не визуализировать

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

Сократить JS

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

Ускорить загрузку страницы

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

Настройку кэширования и другие способы ускорить загрузку разобрали в этой же статье.

Применить динамическое отображение контента

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

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

О том, как это работает, Google рассказал в материале (на русском языке)

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

Расскажите в комментариях, какие способы мы зря не упомянули в статье? Что работает лучше всего по вашему опыту?

Источник

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

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