Вторник, 31 марта 2026 г.
Если вы слушали
105-й эпизод подкаста Search Off the Record,
возможно, вы слышали, как мы глубоко погружаемся в тему, которая близка нашим сердцам
(и нашим серверам): внутреннее устройство Googlebot.

Долгое время имя «Googlebot» ассоциировалось с образом единого,
неутомимого робота, систематически читающего интернет. Но реальность несколько
сложнее — и намного интереснее. Сегодня мы хотим заглянуть под капот
нашей инфраструктуры сканирования, уделяя особое внимание тому, от чего у нас самих идет кругом голова: лимитам размера в байтах.
Во-первых, Googlebot — это не одна программа
Давайте сначала разберемся с историческим заблуждением. В начале 2000-х годов у Google
был один продукт, поэтому у нас был один краулер. Название «Googlebot» закрепилось. Но
сегодня Googlebot — лишь пользователь системы, напоминающей централизованную
платформу сканирования.
Когда вы видите Googlebot в логах своего сервера, вы просто видите Google
Search. Десятки других клиентов — Google Shopping, AdSense и
другие — направляют свои запросы на сканирование через эту же базовую
инфраструктуру под разными именами краулеров, наиболее крупные из которых описаны на
сайте инфраструктуры Google Crawler.

Лимит в 2 МБ: что происходит с вашими байтами?
Здесь все становится несколько запутанным. Каждому клиенту инфраструктуры
краулера необходимо задать определенные настройки для загрузки.
Эти настройки включают строку user agent, какие токены user agent будут искаться в
robots.txt и сколько байт будет загружено с одного URL.
В настоящее время Googlebot загружает до 2 МБ для любого отдельного URL (за исключением
PDF). Это означает, что он сканирует только первые 2 МБ ресурса, включая
заголовок HTTP. Для файлов PDF лимит составляет 64 МБ.
Краулеры изображений и видео обычно имеют широкий диапазон пороговых значений,
и это во многом зависит от продукта, для которого они выполняют загрузку.
Например, загрузка фавикона может иметь очень низкий лимит, в отличие от Посещения картинок.
Для любого другого краулера, который не указывает лимит, значение по умолчанию составляет 15 МБ
независимо от типа контента.
Что это значит для байтов, которые ваш сервер отправляет по сети?
- Частичная загрузка: Если ваш HTML-файл больше 2 МБ,
Googlebot не отклоняет страницу. Вместо этого он останавливает загрузку ровно на
отметке 2 МБ. Обратите внимание, что лимит включает заголовки HTTP-запросов. - Обработка ограничения: Эта загруженная часть (первые
2 МБ байт) передается нашим системам индексирования и Службе рендеринга
веб-страниц (WRS) так, будто это полный файл. - Невидимые байты: Любые байты, существующие
после
этого
порога в 2 МБ, полностью игнорируются. Они не загружаются, не рендерятся и не индексируются. Подключение ресурсов: Каждый ресурс, упомянутый в
HTML (за исключением медиафайлов, шрифтов и некоторых экзотических файлов), будет загружен
WRS с Googlebot как родительский HTML. У них есть собственный отдельный
счетчик байт для каждого URL, и они не учитываются в размере родительской страницы. - Для подавляющего большинства сайтов в Интернете HTML-пакет размером 2 МБ — это колоссально, и вы
никогда не достигнете этого лимита. Однако, если ваша страница содержит тяжелые встроенные base64-изображения,
огромные блоки встроенного CSS/JavaScript или начинается с
мегабайт меню, вы можете случайно сдвинуть ваш фактический текстовый контент
или критически важные структурированные данные за отметку 2 МБ. Если эти ключевые байты не будут загружены, для Googlebot их просто не существует. Рендеринг байтов
Как только краулер успешно получает байты (до лимита),
он передает эстафету WRS. WRS обрабатывает JavaScript и выполняет
клиентский код, подобно современному браузеру, чтобы понять итоговое визуальное и текстовое
состояние страницы. Рендеринг подтягивает и выполняет файлы JavaScript и
CSS, а также обрабатывает XHR-запросы для лучшего понимания текстового контента
и структуры страницы (он не запрашивает изображения или видео). Для каждого
запрошенного ресурса лимит в 2 МБ также применяется.
Однако помните, что WRS может выполнять только тот код, который краулер
фактически получил. Кроме того,
WRS работает без сохранения состояния (stateless)
— он очищает локальное хранилище и данные сеанса между запросами. Это может
иметь особые последствия для того, как динамические элементы, зависящие от JavaScript,
интерпретируются нашими системами.
Лучшие практики для ваших байтов
Чтобы гарантировать, что Googlebot сможет эффективно загрузить и понять ваш контент,
помните об этих рекомендациях на уровне байтов:
Держите свой HTML компактным:
Перенесите тяжелый CSS и JavaScript во
внешние файлы. Хотя начальный HTML-документ ограничен 2 МБ, внешние скрипты
и таблицы стилей загружаются отдельно (с учетом собственных лимитов).
Порядок имеет значение:
Размещайте самые важные элементы —
такие как метатеги,
- <title> элементы,
- <link> элементы, canonicals и основные структурированные
данные — выше в HTML-документе. Это гарантирует, что они вряд ли окажутся ниже точки среза.Мониторьте логи своего сервера:Следите за временем отклика
вашего сервера. Если вашему серверу трудно отдавать байты, наши краулеры
автоматически сбавят обороты, чтобы не перегружать вашу инфраструктуру,
что снизит частоту сканирования.
Обратите внимание, что этот лимит не высечен на камнеи может со временем измениться
по мере развития интернета и увеличения размера HTML-страниц. (Или уменьшения.
Надеемся, уменьшения.) - Сканирование — это не магия; это высокоорганизованный, масштабируемый обмен байтами.
Понимая, как наша центральная инфраструктура загрузки получает и ограничивает
эти байты, вы можете гарантировать, что самый важный контент вашего сайта
всегда попадет в число обрабатываемых. Успешной оптимизации!
Хотите узнать больше закулисных подробностей? Посмотрите 105-й эпизод подкаста Search Off the Record на YouTube
или на любой другой платформе, где вы слушаете подкасты!
Опубликовано
Gary
Inside Googlebot: demystifying crawling, fetching, and the bytes we process | Alien Road
If you tuned into episode 105 of the Search Off the Record podcast, you might have heard us diving deep into a topic that is close to our hearts (and our…
Как мы это применяем
Google announcements age. We keep this post here for the record, and we note for clients whether the behaviour it describes still applies today or has since been superseded.
Связанные услуги