← Все версии
v4.50.0 05.10.2026 patch

Четыре аналитических источника в одном разделе «Интеграции»

Раньше аналитика была разбросана: Яндекс Вебмастер жил на своей странице, а Метрика, Google Search Console и Google Analytics на ipd.by вообще не были подключены. Теперь все четыре источника собраны в одном разделе «Интеграции» — с вкладками, общей проверкой подключения и показателями за 30 дней. Добавлена шифровка секретов: OAuth-токен Яндекса и ключ сервисного аккаунта Google больше не лежат в базе открытым текстом.

Что сделано в версии 4.50.0

от 05.10.2026

Единый раздел «Интеграции»

  • Четыре источника на одной странице — Яндекс Вебмастер, Яндекс Метрика, Google Search Console и Google Analytics (GA4) — вкладками на странице «Интеграции и аналитика». У каждой вкладки свой статус подключения, свои поля и пошаговая инструкция с готовыми ссылками на нужные экраны Google Cloud и Яндекса.
  • Показатели за 30 дней — Для Вебмастера, Метрики, Search Console и GA4 выводится таблица по дням с итогами. Формат приведён к общему виду: визиты, посетители, просмотры, отказы и средняя длительность сессии считаются одинаково независимо от источника, а у Google дополнительно показываются CTR и средняя позиция.
  • Проверка подключения живым запросом — Кнопка «Проверить подключение» делает реальный запрос к API источника и показывает факт: для Вебмастера — число страниц в индексе и ИКС, для Метрики — визиты за неделю, для Search Console — показы и клики, для GA4 — сессии. Ошибка 401 или 403 расшифровывается до понятной причины, а не выводится кодом.

Вебмастер: страница заработала по-настоящему

  • Показы и клики перестали быть пустыми — Вебмастер просит два показателя одним параметром, повторяющимся в адресе. Стандартная отправка массива давала пустые индикаторы, и таблица показов выглядела исправной, но оставалась пустой — без единой ошибки. Теперь данные приходят: 578 показов и 36 кликов за последние 30 дней, плюс средняя позиция по дням.
  • Проблемы переведены на язык человека — Раньше страница запрашивала у Яндекса отчёт по несуществующему адресу и получала ошибку. Теперь берётся настоящая диагностика сайта, показываются только активные проблемы, а коды вроде DOCUMENTS_MISSING_DESCRIPTION переводятся на русский. По ipd.by Яндекс сейчас видит две: страницы без meta-описания и сайт, известный поиску по нескольким доменам.
  • Поиск мусорных адресов в индексе — Добавлена кнопка, которая читает индекс Яндекса и собирает все адреса с параметрами — те самые «?controller=…», из-за которых страница жила в индексе вечно. Среди первых пятисот адресов на ipd.by найдено двадцать таких. Показано, сколько записей проверено и сколько всего в индексе, чтобы было видно, что осмотрен не весь объём.
  • Кнопка «Снять адрес с индекса» больше не обещает невозможное — Метода исключения URL из индекса в API Яндекс Вебмастера нет вообще — проверено запросом к живому API. Раньше кнопка вызывала несуществующий метод и всегда отвечала ошибкой. Теперь она ставит адрес в очередь переобхода, а в тексте прямо сказано, что окончательное исключение делается в веб-интерфейсе Яндекса.
  • Проверка адреса не путала мусор с чистым — При сравнении адресов терялась строка запроса, поэтому «/news?page=3» считался тем же самым, что «/news». Исправлено: параметры различаются, и отправка на переобход уходит по тому адресу, который указан, а не по обрезанному.
  • Адреса ipd.by больше не отвергались — Проверка «свой ли это сайт» брала адрес платформы, то есть внутренний домен. На боевом это означало, что любой адрес ipd.by отклонялся и функции работали вхолостую. Теперь сверяется с доменом, зарегистрированным в Вебмастере.

Подключение к Google

  • Доступ по сервисному аккаунту, а не по паролю — Search Console и GA4 подключаются ключом сервисного аккаунта Google: платформа подписывает запросы ключом, пароль от аккаунта Google не используется и нигде не хранится. Ключ один на оба сервиса — отдельный для GA4 не нужен.
  • Нужно включить правильный API — Для Search Console — Google Search Console API (searchconsole.googleapis.com), для GA4 — Google Analytics Data API (analyticsdata.googleapis.com). Перепутать их нельзя: в инструкции на вкладке указаны прямые ссылки именно на нужные экраны включения.
  • Роли на стороне Google — Сервисному аккаунту нужно выдать права вручную: в Search Console — «Полный доступ» в разделе «Настройки → Пользователи и разрешения», в GA4 — «Читатель» в «Администрирование → Управление доступом к ресурсу». Если этого не сделать, проверка подключения вернёт ошибку доступа.

Безопасность хранения ключей

  • Секреты шифруются — OAuth-токен Яндекса и Service Account JSON Google хранятся зашифрованными средствами Laravel. В таблице базы и в SQL-бэкапе лежит неразборчивый текст, поэтому утечка бэкапа не раскрывает доступы к аналитике.
  • Секрет не показывается в форме — В форме поле секрета пустое — вместо значения показываются точки и длина. Пустое поле при сохранении означает «оставить как есть», поэтому перезаписать токен случайно невозможно. Удалить секрет можно только отдельной явной кнопкой.
  • Идентификаторы остаются читаемыми — Несекретные значения — ID пользователя и хоста Вебмастера, номер счётчика Метрики, ресурс Search Console, Property ID GA4 — остаются обычным текстом: их удобно проверять глазами в phpMyAdmin и не нужно шифровать.
  • Смена APP_KEY — Если значение APP_KEY в .env сменится, ранее сохранённые секреты перестанут расшифровываться. В таком случае ключи нужно ввести заново через форму — это делается намеренно, чтобы старая шифровка не маскировала потерю доступа.

Что осталось на месте

  • SEO-отчёт Вебмастера — Страница с диагностикой сайта, поиском мусорных адресов в индексе, проверкой конкретного URL и отправкой адреса на переобход осталась отдельной: она нужна для точечной работы с мусорными адресами, а вкладка Вебмастера в «Интеграциях» отвечает за подключение и показатели.
  • Переходы в меню и на дашборде — В боковом меню появился пункт «Интеграции и аналитика», карточка на странице «Маркетинг» и кнопка «Поиск» на дашборде теперь ведут на общий раздел.

Почему этому можно доверять

Платформа ipd.by развивается открыто: каждый пункт этой версии — реально выполненная работа с датой и описанием, а вся история изменений хранится в реестре версий на Laravel. Кейсы, на которые ведут ссылки выше, — реальные проекты, а не обещания.

189версий в истории
33кейсов на сайте

Нужна такая работа над вашим проектом

Версии — это видимая история разработки: платформа растёт, а каждая страница объясняет, что и зачем сделано. Если ищете команду, которая так же профессионально развивает продукт — это как раз то, чем я занимаюсь.