SEO-отчетность для сетки из 100+ сайтов: свой инструмент на GSC и GA4 API
Когда есть сетка сайтов, ручная выгрузка отчетов из Google Search Console перестает быть вариантом. Чтобы проверить сотни доменов (клики, показы, запросы, ГЕО), нужно открыть каждый сайт, выставить даты, выписать клики и показы, сравнить с прошлой неделей.
Поэтому я собрал свой инструмент отчетности на базе GSC API, GA4 Data API.
Что он делает
Инструмент по созданию отчетов проходит по всем сайтам сетки и собирает:
- клики, показы, среднюю позицию и запросы из GSC;
- сессии и пользователей из GA4;
- динамику за неделю, месяц или произвольный период;
- новые запросы и домены с ростом или падением видимости;
- данные по конкретному GEO;
- сводки в формате для Telegram или Google Sheets.
Например, одним запросом можно получить сводку по сетке:
GSC за 7 доступных дней
Сайт Клики Показы
site-a.com 9 949
site-b.com 3 144
site-c.com 2 369
...
Итого: 27 кликов, 4 727 показов
Или сравнить срез за две доступные недели:
GSC: текущие 7 дней vs предыдущие 7 дней
Показы: 4 727 vs 2 884 (+63,9%)
Запросы с показами: 990 vs 502 (+97,2%)
Клики: 27 vs 23 (+17,4%)
GA4-сессии: 487 vs 386 (+26,2%)
В деталях, как работает скрипт
-
В шаблон каждого домена добавляются код GA4, файл или тег для верификации GSC и единый процесс привязки домена к рабочему Google-аккаунту. GSC остается раздельной для каждого домена, но все свойства находятся под одним владельцем, поэтому скрипт получает список доступных сайтов через API и обходит их автоматически. GA4 при этом может собирать все сайты в одну property, а отчеты разбиваются по hostname.
-
В Google Cloud создается OAuth-клиент и включаются Search Console API и Analytics Data API. После входа выдаются два доступа: webmasters.readonly (чтение GSC) и analytics.readonly (чтение GA4). Токены сохраняются локально, чтобы не логиниться каждый раз. Минус: токен иногда нужно переподключать.
-
Скрипт собирает и нормализует данные
- получаем список GSC-свойств,
- убираем дубли www,
- нормализуем hostname
- исключаем технически ненужные домены
Далее:
- делаем пакетные запросы к GSC по каждому сайту
- получаем клики и показы, при необходимости с разбивкой по запросам, страницам, странам и устройствам
- забираем сессии из GA4 по hostname → сравниваем периоды и отмечаем изменения
- формируем отчет для Telegram, CSV или Google Sheets.
Какие отчеты можно делать
Общая сводка по сетке — клики и показы по всем сайтам, итоги по колонкам, подсветка доменов с трафиком и отдельный список сайтов без него.
Динамика недели или месяца:
Сайт Показы Изм. Новые запросы Клики
site-a.com 1 936 +1 936 383 2
site-b.com 369 +165 56 2
site-c.com 165 +138 20 0
Такой отчет сразу показывает, где видимость реально растет, а где общий рост сформирован одним доменом.
GEO-отчеты — какие сайты получают показы в Бразилии, где появились запросы из Индии, какие домены видны в США, топ сайтов по показам в конкретном GEO.
Поиск точек роста — запросы на позициях 4–20, страницы с показами, но без кликов, запросы с низким CTR, новые запросы за неделю, страницы, которые начали получать видимость после обновления.
Проверка эффекта от оптимизации. Если оптимизировали группу из 50 сайтов, можно отдельно сравнить последние 7/30 дней с предыдущим периодом: рост показов, рост числа запросов, изменение кликов и позиций, рост GA4-сессий.
Оперативный отчет за 24 часа. GSC не подходит для сводки за 24 часа, финальные данные приходят с задержкой. Можно использовать данные из GA4:
GA4 за последние 24 часа
Сайт Сессии
site-a.com 10
site-b.com 9
site-c.com 6
...
Итого: 56 сессий
Хотя это не равно поисковым кликам GSC, но показывает, живы ли сайты и есть ли реальные посещения.
Ограничения
- Финальные данные GSC отстают на несколько дней.
- GA4-сессии не равны GSC-кликам: часть трафика может быть прямой, реферальной или из других каналов.
- Для корректных GA4-отчетов счетчик должен стоять на каждом сайте.
- Доступ к GSC возможен только для доменов, на которые у подключенного аккаунта есть права.
- Токены OAuth иногда нужно переподключать.
- Токены, OAuth secret и ключи нельзя хранить в публичном репозитории или публиковать.
Итог
Получился не просто экспорт из GSC, а слой отчетности для всей сетки: один запрос вместо ручной проверки сотни сайтов, отчеты за неделю, месяц и весь период, сравнение периодов, GEO-разрезы, поиск точек роста, оперативная проверка через GA4 и готовый вывод в Telegram и Google Sheets. Отдельный SEO-сервис для этого не нужен — сами Google API закрывают задачу. Основные затраты здесь: поддержка скриптов, корректная настройка аналитики на старте и рабочая среда, из которой запускаются отчеты.
Если вы ведете сетку сайтов и сверяете Search Console вручную, опишите задачу через форму — разберем, как это автоматизировать под вашу инфраструктуру.