Lighthouse — это инструмент для автоматизированного аудита веб-страниц, который генерирует отчёты в формате JSON. Этот формат обеспечивает структурированное хранение результатов анализа и позволяет программно обрабатывать данные для дальнейшей интеграции, визуализации или автоматизации процессов улучшения качества сайта.
JSON-структура отчёта Lighthouse состоит из нескольких ключевых объектов:
lhrVersion Отражает версию
Lighthouse, которая использовалась для проведения анализа. Полезно для
совместимости и корректной интерпретации данных.
userAgent и
environment
userAgent содержит строку User-Agent браузера,
используемого для анализа.environment описывает окружение выполнения, включая
версию Node.js и браузера, настройки сети и устройства.requestedUrl и
finalUrl
requestedUrl — URL, который был запрошен пользователем
или скриптом.finalUrl — URL после всех перенаправлений. Эти поля
важны для отслеживания корректности маршрутизации и редиректов.audits Центральный объект отчёта.
Каждый аудит представлен ключом с уникальным идентификатором и объектом,
содержащим подробные сведения:
id — идентификатор аудита.title — читаемое название проверки.description — описание проверки и её цели.score — числовой или булев результат проверки
(0–1).displayValue — человекочитаемый результат, например
“2.3s”.details — дополнительная информация, может содержать
таблицы, списки ресурсов, трассировки производительности.categories Категории группируют
аудиты по направлениям, например, «Performance», «Accessibility», «Best
Practices», «SEO», «PWA». Каждая категория содержит:
title — название категории.score — агрегированный результат по всем аудита этой
категории.auditRefs — массив ссылок на отдельные аудиты с
указанием их веса и соответствия категории.runWarnings Массив предупреждений,
которые возникли во время аудита. Эти предупреждения могут быть связаны
с ошибками сети, политиками CORS или нестабильной загрузкой
ресурсов.
timing Объект с метриками времени
выполнения аудита, включая старт анализа, время выполнения скриптов и
завершение всех проверок.
JSON-структура отчёта имеет строгую иерархию. Внутри объекта
audits каждая проверка может содержать объект
details, который в зависимости от типа аудита может иметь
разные свойства:
type: "table" — таблица данных,
включающая массив items с объектами, представляющими строки
таблицы.type: "filmstrip" — последовательность
кадров страницы в процессе загрузки для визуализации
производительности.type: "opportunity" — рекомендации по
оптимизации с указанием потенциальной экономии времени загрузки.Программный анализ производительности С помощью Node.js и парсинга JSON можно автоматически собирать показатели Largest Contentful Paint (LCP), Total Blocking Time (TBT) и Cumulative Layout Shift (CLS) для мониторинга качества веб-страниц.
Автоматическая генерация отчетов На основе JSON
создаются HTML-отчёты, графики или дашборды. Важно корректно
обрабатывать массивы auditRefs и items для
визуализации всех деталей.
Интеграция с CI/CD JSON позволяет проверять качество сайта при каждом деплое. Сценарии могут сравнивать текущий отчёт с предыдущим, выявлять ухудшение показателей и предотвращать публикацию изменений, нарушающих стандарты.
details — они
содержат ключевую информацию, недоступную через поверхностные поля
score и displayValue.JSON-структура Lighthouse обеспечивает полный доступ к результатам аудита и открывает возможности для глубокого анализа, автоматизации и интеграции с любыми инструментами мониторинга веб-качества.