Посещаемость (Яндекс.Метрика, GA4)
Зачем: связать изменения в поиске с реальным трафиком. SEOMaster не хранит визиты — только итоги по дням (визиты, посетители, визиты из поиска), 120 дней.
Подключение (/traffic)
- Яндекс.Метрика — OAuth-токен с правом
metrika:read. API:management/v1/counters,stat/v1/data(метрикиym:s:visits,ym:s:users, измерениеym:s:date; органика — фильтрym:s:lastTrafficSource=='organic'). - GA4 — сервисный аккаунт (JSON), роль «Просмотр» в ресурсе, включённые Analytics Data API и Analytics Admin API. Органика — канал
Organic Search. - Сайт привязывается к счётчику на странице (при подключении Метрики — автоматически по адресу сайта; у GA4 адреса нет, привязка вручную).
- LiveInternet (экспериментально) — официального API нет. Берётся публичная страница
liveinternet.ru/stat/САЙТ/index.html?date=…;period=month, таблица «по дням» разбирается по заголовкам столбцов (визиты / посетители / просмотры / поисковые системы). Открытая статистика читается без ключей. Закрытая — по паролю счётчика (у каждого счётчика свой, вводится на странице «Посещаемость»): вход — POST на/stat/САЙТ/index.htmlс полямиurl,password,ok; из ответа берётся cookiepwd, с ней запрашиваются таблицы. Если вход не срабатывает, вместо пароля можно вписать значение cookiepwdиз браузера:hash:ЗНАЧЕНИЕ(такая cookie может устареть). Порядок входа проверен только на подставных ответах. Вёрстка не проверялась на живом счётчике и может измениться — тогда используйте CSV. - Загрузка CSV — для любого счётчика: столбец даты (ГГГГ-ММ-ДД или ДД.ММ.ГГГГ) и показатель. Приоритет «визитов»: визиты/сеансы → посетители → просмотры; необязательный столбец «из поисковых систем» даёт органику.
Что считается
- Окно: 7 завершённых суток против предыдущих 7 (сегодняшний день не берётся). Нужно не меньше 5 дней данных в каждом окне.
- Событие
traffic-drop(дедупликация 72 ч): органика раньше ≥ 100 визитов за неделю и упала на ≥ 30%. Класс сигнала —search.traffic_drop, вместе с падением кликов и потерянными запросами складывается в один инцидент.
Cron
bin/traffic.php— раз в 6 часов;bin/links.php— обновление ссылок раз в сутки (грузит только сайты, чья последняя загрузка из сервиса старше 6 суток).
Ограничения
Форматы ответов Метрики и GA4 проверены на подставных ответах, не на живых аккаунтах. В Метрике «из поиска» = последний источник «organic» (может отличаться от «первого источника» в её отчётах).
Обновление из любого источника (v132)
Кнопка «Обновить из любого источника» на странице посещаемости (видна, когда подключено больше одного источника): для каждого сайта роутер возможности traffic (Providers\Router) пробует привязанные источники по приоритету — Метрика, GA4, LiveInternet — и при отказе (ошибка, закончившийся доступ) берёт следующий. Сайты обновляются независимо; в итоге видно, откуда взяты данные и по каким сайтам не ответил ни один источник. Код — Traffic\Sync::runAuto() и runHost().