Google-Site-Verification (он же Google Site Verifier) — агент, который приходит ровно один раз: чтобы убедиться, что вы являетесь владельцем домена при подключении Google-сервисов. Google-InspectionTool — диагностический краулер, который имитирует поведение Googlebot по вашему запросу через инструменты Google Search Console.
Часть 1. Google-Site-Verification
1. Что такое Google-Site-Verification
1.1 User-Agent строка
Mozilla/5.0 (compatible; Google-Site-Verification/1.0)
1.2 Назначение
Google-Site-Verification — агент, который выполняет верификацию владения доменом при подключении Google-сервисов. Каждый раз, когда вы добавляете сайт в один из нижеперечисленных сервисов, Google отправляет этот агент для проверки наличия верификационного токена.
| Google-сервис | Когда запускается верификация |
|---|---|
| Google Search Console | При добавлении ресурса (свойства) |
| Google Workspace (G Suite) | При подтверждении домена для корпоративной почты |
| Google Ads | При верификации домена рекламодателя |
| Google Analytics (старые версии) | При подключении ресурса |
| Google Tag Manager | При верификации сайта |
| Google Publisher Center | При добавлении издания |
| Google Cloud / Firebase | При верификации домена для хостинга |
1.3 Ключевые особенности
- Не индексирует контент — ищет только токен верификации, игнорирует всё остальное
- Не влияет на SEO — визит не учитывается в поисковом ранжировании
- Игнорирует robots.txt — как user-triggered fetcher, не подчиняется директивам
- Работает один раз при подключении и периодически повторяет проверку для подтверждения
- Проверяет IP по списку Google — IP из goog.json, а не googlebot.json
1.4 IP-адреса
# Google-Site-Verification использует общие IP Google:
https://www.gstatic.com/ipranges/goog.json
# (не googlebot.json — это важно для верификации подлинности)
2. Как работает Google-Site-Verification
2.1 Алгоритм верификации
- Вы добавляете сайт в Google-сервис (например, Google Search Console).
- Google предлагает один из способов верификации (мета-тег, HTML-файл, DNS-запись, Google Analytics или GTM).
- Вы размещаете верификационный токен на сайте.
- Нажимаете кнопку «Подтвердить» в интерфейсе.
- Google-Site-Verification отправляет HTTP-запрос к вашему сайту.
- Агент ищет токен в заданном месте (мета-тег, файл, DNS).
- Если токен найден и совпадает — верификация успешна, сервис подключён.
- Периодически Google повторяет проверку, чтобы убедиться что права сохраняются.
2.2 Способы верификации
Способ 1 — HTML мета-тег (самый распространённый):
<!-- Размещается в блоке <head> главной страницы -->
<head>
<meta name="google-site-verification"
content="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX">
</head>
<!-- Для Google Search Console также возможен формат: -->
<meta name="google-site-verification" content="abcdef123456...">
Способ 2 — HTML-файл в корне сайта:
<!-- Создать файл: https://example.com/googleXXXXXXXXXXXXXXXX.html -->
<!-- Содержимое файла: -->
google-site-verification: googleXXXXXXXXXXXXXXXX.html
<!-- Google-Site-Verification запросит именно этот файл -->
Способ 3 — DNS TXT-запись (только для доменных ресурсов):
# Добавить TXT-запись в DNS:
# Имя: @ (корень домена)
# Тип: TXT
# Значение: google-site-verification=XXXXXXXXXXXXXXXXXX
# Проверить через dig:
dig TXT example.com | grep google-site-verification
# Или через nslookup:
nslookup -type=TXT example.com | grep google-site-verification
# ВАЖНО: DNS-верификацию проверяет Google через DNS-резолвер,
# а НЕ через HTTP-запрос от Google-Site-Verification агента.
# В логах сервера DNS-метод НЕ будет виден.
Способ 4 — Google Analytics (если уже установлен):
<!-- Google использует существующий GA-код для верификации -->
<!-- Дополнительных действий не требуется -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX">
</script>
Способ 5 — Google Tag Manager (если уже установлен):
<!-- Аналогично GA — Google использует существующий GTM-контейнер -->
<!-- В логах также не будет отдельного запроса от Site-Verification -->
2.3 Что проверяет агент
| Элемент | Что ищет | Важность |
|---|---|---|
| HTML мета-тег | Наличие и точное совпадение токена | ⭐⭐⭐⭐⭐ Главный элемент |
| HTML-файл верификации | Доступность файла и его содержимое | ⭐⭐⭐⭐⭐ Главный элемент |
| HTTP-статус ответа | Должен быть 200 OK | ⭐⭐⭐⭐⭐ Обязательно |
| Скорость ответа сервера | Нет таймаута при запросе | ⭐⭐⭐⭐ Очень важно |
| Доступность без авторизации | Токен виден без логина | ⭐⭐⭐⭐⭐ Обязательно |
3. Обнаружение Google-Site-Verification в логах
3.1 Как выглядит запись
# Nginx access.log — запрос мета-тега (главная страница):
66.249.68.20 - - [08/May/2026:21:00:11 +0000] \
"GET / HTTP/1.1" 200 18432 "-" \
"Mozilla/5.0 (compatible; Google-Site-Verification/1.0)"
# Запрос HTML-файла верификации:
66.249.68.20 - - [08/May/2026:21:00:12 +0000] \
"GET /googleXXXXXXXXXXXXXXXX.html HTTP/1.1" 200 53 "-" \
"Mozilla/5.0 (compatible; Google-Site-Verification/1.0)"
3.2 Аналитика через grep
# Найти все запросы Google-Site-Verification:
grep -i 'Google-Site-Verification' /var/log/nginx/access.log
# Что именно запрашивалось:
grep -i 'Google-Site-Verification' access.log \
| awk '{print $7}' | sort | uniq -c | sort -nr
# HTTP-коды (должен быть только 200):
grep -i 'Google-Site-Verification' access.log \
| awk '{print $9}' | sort | uniq -c
3.3 Верификация подлинности
#!/bin/bash
# Google-Site-Verification использует goog.json, не googlebot.json
IP=$1
HOST=$(host $IP | awk '{print $NF}')
if [[ $HOST == *google.com* ]] || [[ $HOST == *googlebot.com* ]]; then
FWD=$(host $HOST | awk '{print $NF}')
[[ $FWD == $IP ]] \
&& echo "✔ Настоящий Google-Site-Verification: $IP → $HOST" \
|| echo "✖ DNS mismatch: $IP"
else
echo "✖ Fake (нет PTR google.com): $IP"
fi
4. Управление Google-Site-Verification
4.1 robots.txt — не работает
Google-Site-Verification игнорирует robots.txt — как user-triggered fetcher, он действует от имени пользователя, инициировавшего верификацию. Блокировать его через robots.txt бессмысленно.
4.2 Правильная конфигурация — обеспечить доступ
Верификационные ресурсы должны быть доступны без каких-либо ограничений:
# Nginx — гарантированный доступ к верификационным файлам:
location = /googleXXXXXXXXXXXXXXXX.html {
# Разрешить всем, без кеша, без авторизации:
auth_basic off;
add_header Cache-Control "no-cache";
return 200 "google-site-verification: googleXXXXXXXXXXXXXXXX.html\n";
add_header Content-Type "text/html";
}
# Общий паттерн для всех файлов верификации Google:
location ~* ^/google[a-z0-9]+\.html$ {
auth_basic off;
default_type text/html;
}
# Apache .htaccess — исключить верификационные файлы из авторизации:
<Files "google*.html">
Satisfy Any
Allow from all
</Files>
4.3 Частые причины провала верификации
| Проблема | Причина | Решение |
|---|---|---|
| Верификация не проходит | Токен удалён со страницы или файл недоступен | Оставлять токен постоянно, даже после верификации |
| HTTP 404 на верификационный файл | Файл не загружен или неверный URL | Проверить доступность через curl |
| HTTP 401 / 403 | Сайт закрыт HTTP-авторизацией (staging) | Разрешить доступ к конкретному файлу или IP Google |
| Потеря верификации через время | Токен был удалён после первой успешной верификации | Никогда не удалять мета-тег верификации со страницы |
| Верификация работает, но сервис не подключается | Кеш CDN отдаёт старую версию страницы без токена | Сбросить кеш CDN после добавления токена |
4.4 Золотое правило
Никогда не удаляйте верификационный токен после успешной верификации. Google периодически повторно проверяет наличие токена. Если он исчезнет — сервис отключится, а Search Console потеряет доступ к данным вашего сайта. Многие разработчики удаляют токен «после верификации» — это ошибка.
Часть 2. Google-InspectionTool
5. Что такое Google-InspectionTool
5.1 User-Agent строки
# Desktop:
Mozilla/5.0 (compatible; Google-InspectionTool/1.0)
# Smartphone (используется при проверке AMP и мобильных страниц):
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/W.X.Y.Z Mobile Safari/537.36
(compatible; Google-InspectionTool/1.0)
Введён в мае 2023 года — специально чтобы отделить диагностические обходы от индексационных в логах сервера.
5.2 Назначение
Google-InspectionTool — краулер, используемый исключительно диагностическими инструментами Google Search Console. Он имитирует поведение Googlebot, но запускается только по явному запросу пользователя, а не автономно.
| Инструмент Google | Что проверяет Google-InspectionTool |
|---|---|
| URL Inspection Tool (Search Console) | Индексируемость, рендеринг, структурированные данные |
| Rich Results Test | Валидность Schema.org разметки для Rich Results |
| Mobile-Friendly Test | Адаптивность страницы для мобильных устройств |
| AMP Test | Валидность AMP-разметки |
5.3 Место в экосистеме
| Характеристика | Googlebot | Google-InspectionTool |
|---|---|---|
| Тип | Автономный краулер | On-demand диагностический краулер |
| Запускается | По расписанию Google | Только при ручном запросе пользователя |
| Влияет на индекс | ✔ Да | ✖ Нет |
| Влияет на SEO | ✔ Да | ✖ Нет |
| Уважает robots.txt | ✔ Да | ✔ Да (разделяет токены с Googlebot) |
| User-Agent токены | Googlebot | Googlebot + Google-InspectionTool |
| Рендеринг JS | ✔ Да (WRS) | ✔ Да (имитирует Googlebot) |
5.4 Важно: двойной User-Agent токен
Google-InspectionTool использует сразу два токена User-Agent: Googlebot и Google-InspectionTool. Это означает, что если в robots.txt заблокирован Googlebot — Google-InspectionTool тоже не сможет получить страницу. Диагностические инструменты будут показывать ошибки.
5.5 IP-адреса
# Google-InspectionTool использует IP Googlebot:
https://developers.google.com/search/apis/ipranges/googlebot.json
6. Как работает Google-InspectionTool
6.1 Алгоритм работы
- Вы открываете URL Inspection Tool в Google Search Console и вводите URL.
- Google-InspectionTool получает задание на fetch указанного URL.
- Агент скачивает страницу, имитируя поведение Googlebot (включая JS-рендеринг).
- Анализируются: HTTP-статус, заголовки, контент, structured data, robots.txt, canonical.
- Результат отображается в Search Console в течение нескольких секунд.
- Вы получаете детальный отчёт о том, как Google видит страницу прямо сейчас.
6.2 Что проверяет Google-InspectionTool
| Элемент | Что анализируется | Важность для диагностики |
|---|---|---|
| HTTP-статус и заголовки | Код ответа, X-Robots-Tag, Content-Type | ⭐⭐⭐⭐⭐ Критически важно |
| robots.txt | Разрешён ли доступ к странице | ⭐⭐⭐⭐⭐ Критически важно |
| Rendering (JS-рендеринг) | Как выглядит страница после выполнения JS | ⭐⭐⭐⭐⭐ Критически важно |
| Canonical URL | Какой URL выбран как канонический | ⭐⭐⭐⭐ Очень важно |
| Structured Data (Schema.org) | Наличие, тип, ошибки, предупреждения | ⭐⭐⭐⭐⭐ Критически важно |
| Mobile usability | Адаптивность, размер шрифтов, tap targets | ⭐⭐⭐⭐ Очень важно |
| Noindex / nofollow | Наличие директив в мета-теге или заголовке | ⭐⭐⭐⭐⭐ Критически важно |
| Загруженные ресурсы | Какие CSS/JS/изображения удалось загрузить | ⭐⭐⭐ Важно |
| AMP валидность | Ошибки в AMP HTML (для AMP-страниц) | ⭐⭐⭐⭐ При использовании AMP |
6.3 Отличие «Indexed» vs «Live test»
URL Inspection Tool предоставляет два вида данных — важно понимать разницу:
| Режим | Источник данных | Что показывает |
|---|---|---|
| Indexed (из кеша Google) | Данные последнего обхода Googlebot | Как страница выглядит в текущем индексе Google |
| Live Test (живая проверка) | Свежий fetch от Google-InspectionTool прямо сейчас | Как страница выглядит в данный момент |
Live Test инициирует именно Google-InspectionTool. Indexed — это данные от обычного Googlebot.
7. Обнаружение Google-InspectionTool в логах
7.1 Как выглядит запись
# Desktop запрос (URL Inspection Tool, Rich Results Test):
66.249.68.50 - - [08/May/2026:21:30:22 +0000] \
"GET /article/slug/ HTTP/1.1" 200 28432 "-" \
"Mozilla/5.0 (compatible; Google-InspectionTool/1.0)"
# Smartphone запрос (проверка AMP или мобильной версии):
66.249.68.51 - - [08/May/2026:21:30:23 +0000] \
"GET /article/slug/ HTTP/1.1" 200 24180 "-" \
"Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) \
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 \
Mobile Safari/537.36 (compatible; Google-InspectionTool/1.0)"
# Запрос к ресурсам страницы (CSS, JS — при рендеринге):
66.249.68.52 - - [08/May/2026:21:30:24 +0000] \
"GET /static/css/main.css HTTP/1.1" 200 8432 \
"https://example.com/article/slug/" \
"Mozilla/5.0 (compatible; Google-InspectionTool/1.0)"
7.2 Аналитика через grep
# Найти все запросы Google-InspectionTool:
grep -i 'Google-InspectionTool' /var/log/nginx/access.log
# Страницы, которые кто-то проверял через Search Console:
grep -i 'Google-InspectionTool' access.log \
| awk '{print $7}' | sort | uniq -c | sort -nr
# HTTP-коды (ошибки = проблемы с инструментами диагностики):
grep -i 'Google-InspectionTool' access.log \
| awk '{print $9}' | sort | uniq -c | sort -nr
# Разделить desktop и smartphone проверки:
grep -i 'Google-InspectionTool' access.log | grep -v 'Android' # desktop
grep -i 'Google-InspectionTool' access.log | grep 'Android' # mobile
# Live-мониторинг:
tail -f /var/log/nginx/access.log \
| grep --line-buffered 'Google-InspectionTool'
7.3 Что показывает активность InspectionTool
В отличие от других агентов, Google-InspectionTool появляется в логах только когда кто-то вручную запускает тест. Если вы видите частые запросы — это означает, что вы или ваша команда активно работают с инструментами Search Console. Это полезный сигнал: можно определить, какие страницы проверялись и когда.
8. Управление Google-InspectionTool
8.1 robots.txt — работает, но осторожно
В отличие от Google-Site-Verification, Google-InspectionTool уважает robots.txt. Более того — он использует два токена: Google-InspectionTool и Googlebot. Если страница заблокирована для Googlebot — InspectionTool тоже её не получит.
# Явная блокировка только Google-InspectionTool:
User-agent: Google-InspectionTool
Disallow: /
# НО: это сломает URL Inspection Tool и Rich Results Test для всего сайта!
# Блокируйте только если это намеренно.
# Разрешить InspectionTool везде (рекомендуется):
User-agent: Google-InspectionTool
Allow: /
# Если блокируете Googlebot — InspectionTool тоже заблокируется:
User-agent: Googlebot
Disallow: /admin/
# Это заблокирует InspectionTool для /admin/ тоже
8.2 Блокировка через .htaccess (Apache)
RewriteEngine On
# Блокировать InspectionTool (сломает диагностику — только при необходимости):
RewriteCond %{HTTP_USER_AGENT} "Google-InspectionTool" [NC]
RewriteRule .* - [F,L]
8.3 Блокировка через Nginx
map $http_user_agent $is_inspection_tool {
default 0;
"~*Google-InspectionTool" 1;
}
# Блокировка (лишает возможности использовать Search Console инструменты):
if ($is_inspection_tool) {
return 403;
}
8.4 Когда блокировка оправдана
- Staging/тестовые среды — чтобы не давать ложные результаты при проверке
- Страницы с динамическим контентом, который ломается при безсессионном обходе
- Временная блокировка при отладке сервера
Никогда не блокируйте InspectionTool на production-сайте без серьёзной причины — это лишит вас возможности диагностировать проблемы через Search Console.
Часть 3. Сравнение и общее
9. Google-Site-Verification vs Google-InspectionTool — ключевые различия
| Характеристика | Google-Site-Verification | Google-InspectionTool |
|---|---|---|
| Задача | Подтвердить владение доменом | Диагностировать страницу как Googlebot |
| Когда запускается | При подключении Google-сервиса и периодически | Только при ручном запуске инструмента в Search Console |
| Что ищет на странице | Только верификационный токен | Весь контент: статус, JS, structured data, canonical |
| Влияет на SEO | ✖ Нет | ✖ Нет (но помогает диагностировать SEO-проблемы) |
| Влияет на индекс | ✖ Нет | ✖ Нет (Live Test не пересчитывает индекс) |
| robots.txt | ✖ Игнорирует | ✔ Уважает (как Googlebot) |
| IP-диапазоны | goog.json | googlebot.json |
| Как часто приходит | При верификации + периодические re-check | Только при ручном запуске теста |
| Что сломается при блокировке | Верификация Google-сервисов | URL Inspection и Rich Results Test в Search Console |
10. Обнаружение обоих агентов в логах
# Найти оба агента одновременно:
grep -iE 'Google-Site-Verification|Google-InspectionTool' \
/var/log/nginx/access.log
# Подсчитать каждый:
echo "=== Google-Site-Verification ==="
grep -i 'Google-Site-Verification' access.log | wc -l
echo "=== Google-InspectionTool ==="
grep -i 'Google-InspectionTool' access.log | wc -l
# Все технические Google-агенты вместе:
grep -iE 'Google-Site-Verification|Google-InspectionTool|APIs-Google|AdsBot-Google' \
access.log | awk '{print $7}' | sort | uniq -c | sort -nr
# Верификация подлинности обоих агентов:
# Site-Verification → goog.json
# InspectionTool → googlebot.json
IP="66.249.68.50"
HOST=$(host $IP | awk '{print $NF}')
echo "PTR запись: $HOST"
FWD=$(host $HOST 2>/dev/null | awk '{print $NF}')
echo "Forward DNS: $FWD"
[[ $FWD == $IP ]] && echo "✔ Верифицирован" || echo "✖ Подозрительный"
11. Диагностика типичных проблем
11.1 Google-Site-Verification: верификация не проходит
# Шаг 1 — проверить доступность файла:
curl -A "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)" \
-I https://example.com/googleXXXXXXXXXXXXXXXX.html
# Ожидается: HTTP/1.1 200 OK
# Шаг 2 — проверить содержимое файла:
curl -A "Mozilla/5.0 (compatible; Google-Site-Verification/1.0)" \
https://example.com/googleXXXXXXXXXXXXXXXX.html
# Шаг 3 — проверить мета-тег на главной:
curl -s https://example.com/ | grep -i 'google-site-verification'
# Шаг 4 — проверить DNS TXT (для доменной верификации):
dig TXT example.com | grep google-site-verification
11.2 Google-InspectionTool: Rich Results Test не работает
# Шаг 1 — убедиться что InspectionTool не заблокирован:
curl -A "Mozilla/5.0 (compatible; Google-InspectionTool/1.0)" \
-I https://example.com/article/slug/
# Ожидается: HTTP/1.1 200 OK (не 403, не 301 на ошибку)
# Шаг 2 — проверить robots.txt:
curl https://example.com/robots.txt | grep -iE 'InspectionTool|Googlebot'
# Шаг 3 — проверить structured data:
# Онлайн: https://search.google.com/test/rich-results
# Или локально:
curl -s https://example.com/article/ \
| grep -A 30 'application/ld+json' \
| python3 -m json.tool
# Шаг 4 — проверить X-Robots-Tag:
curl -I https://example.com/article/ | grep -i 'x-robots-tag\|noindex'
11.3 Таблица частых ошибок
| Агент | Проблема | Причина | Решение |
|---|---|---|---|
| Site-Verification | Верификация не проходит повторно | Токен удалён после первой верификации | Вернуть мета-тег / файл постоянно |
| Site-Verification | HTTP 401 при верификации | Staging с Basic Auth | Разрешить доступ к токену без авторизации |
| Site-Verification | CDN отдаёт страницу без токена | Кеш CDN устарел | Инвалидировать кеш после добавления токена |
| InspectionTool | «Страница недоступна» в Search Console | robots.txt блокирует Googlebot | Разрешить Googlebot / InspectionTool |
| InspectionTool | Structured data не определяется | Ошибки в JSON-LD | Исправить через Rich Results Test |
| InspectionTool | JS-контент не рендерится в Live Test | JS-ресурсы заблокированы для бота | Разрешить CSS/JS для User-Agent Google |