Современный Googlebot работает на базе Headless Chromium через Web Rendering Service (WRS) и фактически является полноценным браузером.
Важно понимать: это не один бот, а целая экосистема специализированных краулеров.
1. Виды Googlebot
| User-Agent | Назначение |
|---|---|
Googlebot |
Основной HTML-краулер (Desktop) |
Googlebot Smartphone |
Mobile-First Indexing (приоритетный с 2019 г.) |
Googlebot-Image |
Индексация изображений |
Googlebot-Video |
Индексация видеоконтента |
Googlebot-News |
Новостной агрегатор Google News |
AdsBot-Google |
Проверка landing pages рекламных объявлений |
Google-InspectionTool |
URL Inspection Tool в Google Search Console |
Storebot-Google |
Google Shopping / Merchant Center |
APIs-Google |
API discovery и обход |
User-Agent строки
Desktop:
Mozilla/5.0 (compatible; Googlebot/2.1;
+http://www.google.com/bot.html)
Smartphone (Mobile-First, приоритетный):
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/130.0.6723.69 Mobile Safari/537.36
(compatible; Googlebot/2.1; +http://www.google.com/bot.html)
IP-адреса Googlebot
Googlebot выходит только с IP-адресов Google (AS15169). Актуальный список публикуется по адресу:
https://developers.google.com/search/apis/ipranges/googlebot.json
⚠ Важно: около 90% запросов с User-Agent «Googlebot» в логах — поддельные боты. Единственный надёжный способ проверки — reverse DNS verification.
В настройках домена нашего сервиса - включите проверку обратного DNS. (Домены - настройки - дополнительная защита - обнаружение ботов - )

2. Как работает Googlebot
Googlebot работает в четыре основных этапа: формирование очереди URL, скачивание страницы, рендеринг и индексация.
2.1 Crawl Queue — очередь URL
Google формирует очередь из:
- sitemap.xml
- внутренних ссылок со страниц
- backlinks с других сайтов
- RSS-фидов
- предыдущих обходов (re-crawl)
- Google Search Console (принудительная переиндексация)
2.2 Fetch — скачивание
Googlebot делает стандартный HTTP-запрос и скачивает все ресурсы страницы: HTML, CSS, JavaScript, изображения. Параллельные запросы выполняются с разных IP одновременно.
GET /page HTTP/1.1
Host: site.com
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Accept: text/html,application/xhtml+xml
Accept-Encoding: gzip, deflate, br
2.3 Render — рендеринг JavaScript
Если страница использует JavaScript (React, Vue, Angular, Next.js, Nuxt.js):
- Запускается Headless Chromium через Web Rendering Service (WRS)
- Выполняется JavaScript, строится DOM
- Собирается финальный контент страницы
- Снимок DOM отправляется в индексатор
ℹ Googlebot сегодня — почти полноценный браузер. JS-рендеринг происходит в два этапа: сначала обходится «сырой» HTML, затем с задержкой (от нескольких часов до нескольких недель) выполняется повторный обход с рендерингом JS.
2.4 Indexing — индексация
После рендеринга Google сохраняет в индекс: HTML-контент, render snapshot, structured data (JSON-LD), embeddings, canonical relations, метаданные (title, description, alt).
3. Crawl Budget
Crawl Budget — количество страниц, которые Googlebot готов обойти на вашем сайте за определённый период.
| Фактор | Влияние |
|---|---|
| Авторитет сайта (PageRank) | Чем выше — тем больше budget |
| Скорость сервера | Медленный сервер → Google снижает crawl rate |
| Свежесть контента | Новости получают агрессивный crawl |
| Количество уникальных URL | Больше URL → меньше budget на каждый |
| 5xx ошибки | Частые ошибки → Google отступает |
| Redirects | Цепочки редиректов тратят budget впустую |
Типичный crawl rate
| Тип сайта | Запросов в день | Характер нагрузки |
|---|---|---|
| Маленький сайт (< 1k страниц) | 100–1 000 req/day | Практически незаметно |
| Средний SEO-сайт | 10 000–100 000 req/day | Ощутимая нагрузка |
| Крупный media/e-commerce | Сотни тысяч req/day | Десятки Mbps, постоянный CPU |
| Новостной сайт | Очень агрессивно | Почти real-time обход |
4. Нагрузка на сервер
Факторы, увеличивающие нагрузку
Faceted navigation (фасетная навигация) — самая частая причина crawl explosion:
/category?sort=price
/category?sort=date&page=2
/category?filter=red&sort=price&page=3
// Googlebot может генерировать миллионы комбинаций URL
Infinite calendars — бесконечные календари:
/calendar/2026/05/08
/calendar/2026/05/09
// ... и так до бесконечности
⚠ Бесконечные пространства URL — самая частая причина DDoS-подобной нагрузки от Googlebot на реальных сайтах.
JS rendering overload. Если Googlebot вынужден рендерить тяжёлые SPA (React/Next.js, Vue/Nuxt, Angular Universal) — нагрузка на CPU возрастает кратно. Каждый рендер запускает полноценный Headless Chrome.
Признаки того, что Googlebot убивает сервер
- Всплески CPU в момент активного обхода
- Рост 5xx ошибок (503, 502) коррелирует с активностью бота
- PHP-FPM / Gunicorn / uWSGI в состоянии saturation
- Высокий Disk I/O при логировании
- Пики bandwidth 50+ Mbps от диапазонов 66.249.x.x
- 100+ concurrent requests с разных Google IP одновременно
5. Обнаружение в логах
Как выглядит запись в логе
66.249.66.1 - - [08/May/2026:12:10:44 +0000] \
"GET /page.html HTTP/1.1" 200 14522 "-" \
"Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Базовые команды grep
Найти все запросы Googlebot:
grep -i 'Googlebot' /var/log/nginx/access.log
Подсчитать количество запросов:
grep -i 'Googlebot' access.log | wc -l
Топ запрашиваемых URL:
grep -i 'Googlebot' access.log \
| awk '{print $7}' \
| sort | uniq -c | sort -nr | head -50
Запросы по IP-адресам:
grep -i 'Googlebot' access.log \
| awk '{print $1}' \
| sort | uniq -c | sort -nr
Частота запросов по часам:
grep -i 'Googlebot' access.log \
| awk '{print $4}' | cut -d: -f2 \
| sort | uniq -c
HTTP-коды ответов:
grep -i 'Googlebot' access.log \
| awk '{print $9}' | sort | uniq -c | sort -nr
Подсчёт трафика (bandwidth):
grep -i 'Googlebot' access.log \
| awk '{sum += $10} END {print sum/1024/1024 " MB"}'
Live-мониторинг в реальном времени:
tail -f /var/log/nginx/access.log | grep --line-buffered 'Googlebot'
GoAccess — визуальная аналитика
# Установка (Ubuntu/Debian)
apt install goaccess
# HTML-отчёт по активности Googlebot
grep -i 'Googlebot' access.log \
| goaccess - -o /var/www/html/bot-report.html --log-format=COMBINED
Верификация подлинности Googlebot
Единственный надёжный способ — двухэтапная DNS-верификация.
Шаг 1 — Reverse DNS lookup:
host 66.249.66.1
# Результат: 1.66.249.66.in-addr.arpa → crawl-66-249-66-1.googlebot.com
Шаг 2 — Forward DNS lookup (подтверждение):
host crawl-66-249-66-1.googlebot.com
# Результат должен совпадать с исходным IP: 66.249.66.1
Bash-скрипт для автоматической проверки:
#!/bin/bash
IP=$1
HOST=$(host $IP | awk '{print $NF}')
if [[ $HOST == *googlebot.com* ]]; then
FORWARD=$(host $HOST | awk '{print $NF}')
if [[ $FORWARD == $IP ]]; then
echo "✔ Настоящий Googlebot: $IP"
else
echo "✖ Fake Googlebot (DNS mismatch): $IP"
fi
else
echo "✖ Fake Googlebot (нет PTR-записи googlebot.com): $IP"
fi
6. Как ограничить и заблокировать Googlebot
✖ ВАЖНО: никогда не блокируйте настоящий Googlebot полностью, если сайт должен присутствовать в поиске. Это приведёт к деиндексации, выпадению страниц и потере органического трафика.
6.1 robots.txt
ℹ robots.txt — это соглашение, а не техническая блокировка. Настоящий Googlebot уважает этот файл. Боты-скраперы и вредоносные краулеры его игнорируют.
Файл должен находиться по адресу: https://example.com/robots.txt
Полная блокировка Googlebot:
User-agent: Googlebot
Disallow: /
Блокировка конкретных разделов:
User-agent: Googlebot
Disallow: /admin/
Disallow: /private/
Disallow: /tmp/
Блокировка URL-параметров (защита от crawl explosion):
User-agent: *
Disallow: /*?sort=
Disallow: /*?filter=
Disallow: /*?page=
Disallow: /search/
Disallow: /tag/
Рекомендуемый пример robots.txt для типового сайта:
User-agent: *
Disallow: /search/
Disallow: /filter/
Disallow: /*?sort=
Disallow: /*?page=
Disallow: /tmp/
Disallow: /admin/
Disallow: /preview/
Allow: /
Sitemap: https://example.com/sitemap.xml
6.2 Блокировка через .htaccess (Apache)
По User-Agent:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Googlebot [NC]
RewriteRule .* - [F,L]
Через Require (Apache 2.4+):
<RequireAll>
Require all granted
Require not ip 66.249.0.0/16
Require not ip 64.233.160.0/19
</RequireAll>
Блокировка с кодом 410 Gone (лучше для SEO):
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Googlebot [NC]
RewriteRule ^/old-section/ - [G,L]
Блокировка конкретной папки:
<Directory "/var/www/html/private">
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} Googlebot [NC]
RewriteRule .* - [F,L]
</Directory>
6.3 Блокировка через Nginx
Через if:
if ($http_user_agent ~* Googlebot) {
return 403;
}
Через map (рекомендуется):
# В блоке http {}:
map $http_user_agent $is_googlebot {
default 0;
"~*Googlebot" 1;
}
# В блоке server {}:
if ($is_googlebot) {
return 403;
}
Блокировка по IP-диапазонам Google:
deny 66.249.64.0/19;
deny 66.249.68.0/22;
deny 64.233.160.0/19;
deny 66.102.0.0/20;
allow all;
6.4 Мета-теги и HTTP-заголовки
HTML мета-тег (запрет индексации без закрытия доступа):
<!-- В блоке <head> -->
<meta name="robots" content="noindex, nofollow">
<meta name="googlebot" content="noindex">
HTTP-заголовок X-Robots-Tag (Nginx):
add_header X-Robots-Tag "noindex, nofollow" always;
HTTP-заголовок X-Robots-Tag (Apache):
Header always set X-Robots-Tag "noindex, nofollow"
6.5 Google Search Console
Для снижения crawl rate без блокировки: Google Search Console → Настройки → Сканирование → Ограничение скорости сканирования.
ℹ Лучший способ «договориться» с Googlebot — быстрый сервер. При стабильно медленных ответах (>500ms) Google сам снижает интенсивность обхода.
7. Как уменьшить нагрузку от Googlebot
Правильная стратегия — не блокировать бота, а оптимизировать архитектуру сайта.
Оптимизация sitemap.xml
- Включайте только канонические, индексируемые страницы
- Не включайте страницы с noindex, 404 и редиректы
- Разбивайте на несколько файлов (макс. 50 000 URL или 50 MB)
- Указывайте
lastmodтолько при реальных изменениях контента
Canonical и дубли
- Используйте
<link rel="canonical">на всех страницах с параметрами - Настройте 301-редиректы для дублирующихся URL (www/non-www, http/https)
Noindex для «мусорных» страниц
- Страницы поиска (
/search?q=...) - Фасетная навигация с параметрами
- Пагинация (страницы 2, 3 и далее)
- Теги и архивы с малым количеством контента
Кеширование
# Nginx — кеш для статики
location ~* \.(css|js|png|jpg|gif|ico|woff2)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
# Nginx — кеш HTML
location / {
add_header Cache-Control "public, max-age=3600";
}
Static rendering вместо SSR
Используйте Static Site Generation (Next.js, Gatsby, Astro) или pre-rendering вместо SSR — это снизит нагрузку как на сервер, так и на crawl budget Googlebot.
8. Googlebot vs другие краулеры
Googlebot — один из самых «вежливых» ботов. Реальную нагрузку чаще создают SEO-сканеры и AI-харвестеры.
| Бот | User-Agent | Характер |
|---|---|---|
| Ahrefs | AhrefsBot |
Очень агрессивный, высокий crawl rate |
| Semrush | SemrushBot |
Агрессивный SEO-аудитор |
| OpenAI | GPTBot |
AI-харвестер для обучения моделей |
| Common Crawl | CCBot |
Масштабный AI training crawler |
| Bytedance | Bytespider |
Агрессивный AI-скрапер |
| Moz | DotBot |
SEO-краулер |
Блокировка SEO-краулеров и AI-харвестеров через robots.txt:
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Disallow: /
User-agent: GPTBot
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Bytespider
Disallow: /
9. Рекомендуемая стратегия
✔ Главный принцип: Googlebot — не враг. Враг — плохая архитектура сайта. Оптимизируйте crawl budget, а не блокируйте бота.
| Задача | Решение |
|---|---|
| Снизить нагрузку от бота | Оптимизировать robots.txt, закрыть мусорные URL |
| Убрать crawl explosion | Заблокировать параметрические URL через robots.txt |
| Ускорить переиндексацию | Актуальный sitemap.xml + Search Console |
| Снизить crawl rate | Google Search Console → Настройки сканирования |
| Защитить закрытый контент | Блокировка по IP (htaccess/nginx) + авторизация |
| Проверить активность бота | grep + GoAccess по логам |
| Верифицировать Googlebot | Двухэтапный DNS lookup (reverse + forward) |
Полезные ссылки: Google Search Central | Google Search Console | IP-диапазоны Googlebot
