Глава 30
Автоматизація SEO: від Excel до API, Python, SQL і BigQuery
Автоматизувати треба повторювані детерміновані операції, а не саме мислення. Якісна SEO-автоматизація збирає факти, нормалізує їх, виявляє відхилення й залишає ухвалення рішень людині.
Більшість SEO-команд починає з таблиць. Це нормально. Проблеми виникають, коли таблиця перетворюється на ручний конвеєр обробки даних: щопонеділка хтось вивантажує дані з GSC, вставляє дані з GA4, копіює позиції в пошуку, оновлює VLOOKUP, зафарбовує клітинки червоним і надсилає знімок екрана в Slack. Така «звітність» дорога, ненадійна й невідтворювана.
Для мене операція придатна до автоматизації за трьома критеріями: вона повторюється; вхідні й вихідні дані можна формально описати; помилки автоматизації можна виявити й контролювати. Автоматичні підказки можуть допомагати у визначенні стратегічних пріоритетів, інтерпретації даних чи оцінюванні контенту, але не мають підміняти ці процеси логікою `if/else`.
30.1Що автоматизувати насамперед
Я починаю із завдань, у яких найбільше ручного копіювання: вивантаження даних, нормалізації URL, регулярних порівнянь, перевірок шаблонів, виявлення аномалій. Потім переходжу до класифікації сторінок за типами, зіставлення запитів і рекомендацій щодо внутрішніх посилань. І лише після цього — до генеративних завдань.
30.2GSC: UI, API і BigQuery — різні режими роботи
Користувацький інтерфейс Search Console зручний для ручної діагностики, API — для керованих запитів та інтеграцій, масове вивантаження даних — для повноцінного аналізу історичних даних у BigQuery. У документації Google зазначено, що Search Analytics API за замовчуванням повертає 1 000 рядків, підтримує `rowLimit` до 25 000 і посторінкове отримання даних через `startRow`; верхню межу доступних через API даних описували як до 50 000 рядків на день для кожного сайту й типу пошуку.[1][2]
30.3GA4 не замінює GSC
GSC вимірює взаємодію з Google Search, а GA4 — поведінку після завантаження вашого сайту. Через відмінності у визначеннях, часових поясах, канонікалізації URL, правилах конфіденційності та повноті відстеження показники не мають збігатися 1:1. Google прямо рекомендує використовувати обидва джерела разом, а для максимальної деталізації — об’єднувати масові вивантаження даних у BigQuery.[4]
30.4Схема даних важливіша за інструмент
Невдало побудований конвеєр обробки даних легко перенести з Excel у Python й отримати автоматизований хаос. Перш ніж писати код, я визначаю єдиний набір вимірів: `date`, `site`, `url`, `page_type`, `country`, `device`, `query_cluster`, `channel`, `event`. Потім дані з кожного джерела зіставляю із цією схемою.
30.5Виявлення аномалій без магії
Не кожна зміна на -20% порівняно з попереднім тижнем є інцидентом. Під час порівняння я враховую день тижня, сезонність, ковзний базовий рівень і дати оновлень. На ранньому етапі прості правила часто кращі за складну ML-модель: якщо кількість кліків для певного типу сторінок падає на >30% рік до року за базового рівня >10k і кількість показів теж падає — створити сповіщення; якщо кількість кліків падає, а кількість показів залишається стабільною — перевірити CTR і SERP.
30.6Оркестрація
Коли скриптів більше трьох, потрібні планувальник завдань і журнал виконання. Це можуть бути GitHub Actions, Cloud Run/Functions, cron, Airflow, Make/n8n — вибір інструмента залежить від масштабу. Важливо передбачити повторні спроби виконання, фіксацію часу, версії вхідних даних і місця збереження результатів, а також сповіщення про збої.
30.7Версіонування SEO-логіки
Регулярні вирази, правила визначення типів сторінок, перенаправлення, генератори структурованих даних і шаблони інструкцій для моделей — це код або конфігурація, тому їх слід зберігати в системі контролю версій. Git дає відповідь на запитання «хто й коли змінив правило», а не просто зберігає останню версію файлу, як у Drive.
30.8LLM як інтерфейс до даних
LLM може генерувати SQL, пояснювати аномалії, перетворювати запитання природною мовою на запити до даних. Але конвеєр обробки даних у робочому середовищі не повинен залежати від того, чи «пам’ятає» модель схему даних. Я передаю схему, перелік дозволених таблиць, приклади й обмеження, а згенерований SQL проходить перевірку.
30.9Секрети й права доступу
Ключі API, JSON-файли облікових даних службових облікових записів і паролі до баз даних не повинні зберігатися в коді або історії запитів до моделей. Використовуйте сховище секретів, змінні середовища, мінімально необхідні права доступу та ротацію облікових даних. Особливо це важливо, коли LLM отримує доступ до файлів або репозиторіїв.
30.10Що має автоматизувати керівник SEO
Мої пріоритети: збирання даних, моніторинг, регулярні аудити, ведення журналів змін, виявлення аномалій, інвентаризація контенту й посилань, сегментація за станом індексації, перевірка якості релізів (QA). Я не автоматизую остаточні рішення щодо пошукового наміру, позиціювання бренду, прийняття ризиків і бюджету лише тому, що це можливо.
Це скорочений виклад: у книзі кожна глава має повний розбір, таблиці й приклади. Завантажити книгу або почати зі вступу.