Автоматизація моніторингу веб-продуктивності з PSI API

Моніторинг швидкості за допомогою PageSpeed Insights API

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Автоматизація моніторингу веб-продуктивності з PSI API
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1419
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1246
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Моніторинг швидкості за допомогою PageSpeed Insights API

Швидкість завантаження сторінок безпосередньо впливає на конверсію та SEO. Відстежувати її вручну — завдання не для інженера: після кожного деплою бігати за Lighthouse — втрачати час. Без автоматизації ви ризикуєте пропустити деградацію, що б'є по позиціях. Ми пропонуємо автоматизувати моніторинг Core Web Vitals за допомогою PageSpeed Insights API (згідно з офіційною документацією). Це безкоштовний сервіс, який повертає два типи даних: лабораторні (Lighthouse) та польові (Chrome UX Report). Перші реагують миттєво, другі — за 28 днів накопичення. Разом вони дають повну картину.

Як працює моніторинг

PSI API безкоштовний: до 25 000 запитів на день з ключем. Ключ створюється в Google Cloud Console. Ми готуємо скрипт на Python, який збирає метрики для пріоритетних сторінок (головна, категорії, картки товарів, кошик) і зберігає їх у PostgreSQL. Скрипт запускається за розкладом (наприклад, кожні 24 години через cron) і автоматично обробляє до сотні URL за один прогін.

import requests from typing import Literal PSI_API_URL = 'https://www.googleapis.com/pagespeedonline/v5/runPagespeed' def fetch_psi(url, api_key, strategy): params = { 'url': url, 'key': api_key, 'strategy': strategy, 'category': ['performance'], } resp = requests.get(PSI_API_URL, params=params, timeout=60) resp.raise_for_status() return resp.json() def extract_metrics(response): field = response.get('loadingExperience', {}) lab = response.get('lighthouseResult', {}) # вилучення польових і лабораторних метрик return {'field': field, 'lab': lab} 

Які метрики відстежуємо

Метрика Лабораторні Польові (CrUX)
LCP largest-contentful-paint LARGEST_CONTENTFUL_PAINT_MS
INP interaction-to-next-paint INTERACTION_TO_NEXT_PAINT
CLS cumulative-layout-shift CUMULATIVE_LAYOUT_SHIFT_SCORE
FCP first-contentful-paint FIRST_CONTENTFUL_PAINT_MS
TTFB server-response-time EXPERIMENTAL_TIME_TO_FIRST_BYTE

Ми також фіксуємо Performance score з Lighthouse. Для кожного URL зберігаємо історію — можна порівняти сьогоднішній замір із вчорашнім і виявити тренди.

Як налаштувати алерти при падінні Core Web Vitals?

Визначаємо порогові значення. Наприклад, якщо LCP перевищує 4 секунди або Performance score падає нижче 70 — надсилаємо сповіщення в Telegram або email. Пороги налаштовуються індивідуально: для інтернет-магазину вони жорсткіші, для блогу — м'якіші.

THRESHOLDS = { 'lab_performance_score': 0.7, 'lab_lcp_ms': 4000, 'field_lcp_category': 'SLOW', } def check_alerts(current, thresholds): alerts = [] if current['lab']['performance_score'] < thresholds['lab_performance_score']: alerts.append(f"Performance score впав до {current['lab']['performance_score']*100}%") # інші перевірки return alerts 

Порівнюємо з попереднім заміром: якщо метрика погіршилася більше ніж на 10% — теж алерт. Це дозволяє ловити деградацію навіть у межах «зеленої» зони. Для відхилень у 5–15% (типовий розкид PSI) використовуємо медіану трьох запусків.

Порівняння PSI API з локальним Lighthouse

Параметр PSI API Локальний Lighthouse
Вартість Безкоштовно (до 25 000 запитів/день) Безкоштовно, але потребує сервера
Швидкість запуску ~30–60 секунд на URL Залежить від заліза
Дані Лабораторні + польові (CrUX) Тільки лабораторні
Обмеження Немає авторизації, варіабельність 5–15% Повний контроль, але немає польових

PSI API в 10 разів дешевше комерційних сервісів (наприклад, SpeedCurve від $100/міс) і при цьому дає польові метрики, недоступні локальному Lighthouse. Економія бюджету може сягати $2000 на рік при переході на PSI.

Що входить у роботу

  • Отримання та налаштування API-ключа
  • Скрипт збору метрик для N сторінок (ви визначаєте список)
  • База даних для зберігання історії (PostgreSQL)
  • Сповіщення про деградацію (Telegram, email, Slack — на вибір)
  • Дашборд Grafana для візуалізації трендів
  • Інтеграція в CI/CD: автоматичний прогін перед кожним деплоєм
  • Документація та навчання вашої команди

Чому важливий моніторинг обох типів даних?

Лабораторні дані реагують миттєво — ви бачите ефект кожної правки коду. Польові дані запізнюються на 28 днів, але показують реальну картину. Тільки разом вони дають повну інформацію. Наприклад, ви покращили LCP на тестовому оточенні, а в полі він все ще поганий — значить, проблема в іншому (наприклад, повільний сервер або важкий JavaScript).

Обмеження PSI API

API запускає Lighthouse на своїх серверах, результати варіюються на 5–15%. Ми запускаємо три заміри і беремо медіану. Для авторизованих сторінок (особистий кабінет) використовуємо локальний Lighthouse через Node.js. Польові дані потребують достатнього трафіку — мінімум кілька сотень візитів на місяць на сторінку.

Терміни та вартість

Первинну інтеграцію (збір + алерти) робимо за 1–2 робочих дні. Розширену версію з Grafana та CI/CD — за 3–4 дні. Вартість розраховується індивідуально — замовте консультацію для попередньої оцінки.

Досвід та гарантії

Ми більше 5 років займаємося веб-продуктивністю, реалізували 50+ проєктів з оптимізації та моніторингу. Гарантуємо стабільну роботу скриптів і швидкий зворотний зв'язок.

Технічні деталі інтеграції

Для кожного URL створюється окремий запис у таблиці metrics з полями: url, timestamp, lab_performance_score, field_lcp_category тощо. Індекси по url та timestamp прискорюють вибірку. Алерти реалізовані через простий polling-скрипт, який раз на хвилину перевіряє свіжі дані. Для CI/CD використовується GitHub Actions: перед деплоєм запускається тест з порогом, і якщо метрики гірші за baseline — пайплайн фейлиться.

Замовте налаштування моніторингу, і ми підготуємо рішення під ваш стек.