Інтеграція Google Search Console API для мониторинга SEO сайту
Google Search Console дає дані, яких немає більш ніде: реальні пошукові запити, по яких показується сайт, CTR за позиціями, покриття індексації, помилки Core Web Vitals з полевих даних. Ручна перевірка раз на тиждень — це втрата сигналів. API дозволяє вишукувати ці дані автоматично, будувати власні дашборди та настроювати алерти на деградацію.
Налаштування доступу до API
Авторизація через Google OAuth 2.0. Для серверного мониторинга використовується Service Account:
- Створити проект у Google Cloud Console
- Включити
Google Search Console API - Створити Service Account, скачати JSON-ключ
- У GSC додати email сервісного аккаунту як користувача ресурсу (Settings → Users and permissions)
from google.oauth2 import service_account
from googleapiclient.discovery import build
SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']
SERVICE_ACCOUNT_FILE = 'gsc-service-account.json'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE,
scopes=SCOPES
)
service = build('searchconsole', 'v1', credentials=credentials)
Отримання даних пошуку
Основний метод — searchanalytics.query. Параметри: діапазон дат, виміри (query, page, country, device, date), фільтри, ліміт рядків (максимум 25 000 на запит).
Мониторинг позицій по ключовим сторінкам
Відстеження позицій для визначених сторінок по брендовим та небрендовим запитам. Отримання топ-виконуючих ключових слів.
Перевірка індексації
API покриття URL дозволяє перевіряти статус індексації окремих сторінок через метод urlInspection.
Алерти на деградацію
Корисна автоматизація — порівняти поточний тиждень з попереднім та відправити повідомлення, якщо падіння кліків перевищує поріг.
Зберігання та візуалізація
Зібрані дані записуються в PostgreSQL або BigQuery для довгострокового зберігання та трендів. GSC зберігає дані лише 16 місяців — накопичення у власній БД дозволяє будувати довгострокові тренди.
Квоти API
GSC API має обмеження: 1200 запитів на хвилину на проект, 200 запитів на користувача в 100 секунд. Для щоденного сбору даних за 28-денне вікно з кількома вимірами це не проблема. При bulk-виділенні історичних даних потрібен експоненціальний backoff.
Сроки
Базова інтеграція (щоденний сбір кліків/позицій у БД) — 2 робочих дні. З алертами на деградацію, перевіркою індексації, Grafana-дашбордом — 4–5 днів. Налаштування під кілька сайтів/ресурсів GSC з спільним сховищем — 5–7 днів.







