Lighthouse — це інструмент аудиту з відкритим кодом, вбудований в інструменти розробника Chrome і доступний через кілька інших інтерфейсів, який аналізує сторінку та звітує про продуктивність, доступність, найкращі практики та оптимізацію пошуку. Він видає оцінку від нуля до ста в кожній категорії разом із конкретними висновками та орієнтованою економією.
Його цінність полягає в діагностиці, а не в оцінці. Окремі аудити виявляють конкретні проблеми з конкретними способами їх вирішення, включаючи ресурси, що блокують рендеринг, завеликі зображення, невикористаний код, відсутні атрибути доступності та довгі завдання основного потоку. Цей список, упорядкований за очікуваним впливом, є практичною відправною точкою для роботи з покращення та не потребує спеціалізованих інструментів для отримання.
Саму оцінку легше використовувати неправильно. Оцінка продуктивності – це зважена комбінація кількох показників, виміряних в одному симульованому запуску за певних умов, і вона не є мірою того, що відчувають реальні користувачі. Два запуску на одній сторінці зазвичай відрізняються, оскільки інструмент симулює обмеження мережі та процесора, а навантаження базової машини варіюється, тому трактування однієї оцінки як точного вимірювання призводить до наслідування дисперсії.
Різниця між лабораторними та польовими даними – найважливіше, що потрібно зрозуміти. Lighthouse проводить контрольований синтетичний тест; польові дані, зібрані від реальних користувачів, відображають фактичний розподіл пристроїв, підключень та місць розташування в аудиторії. Сторінка може отримати високі результати в лабораторії та погані – в польових умовах, або навпаки, а системи ранжування пошуку використовують польові дані, а не оцінки Lighthouse. Обидва корисні для різних цілей: польові дані встановлюють, чи існує проблема, Lighthouse допомагає діагностувати її причину.
Прагнення до ідеального балу зазвичай є марним витрачанням зусиль. Остаточні пункти зазвичай вимагають непропорційної роботи над проблемами з незначним впливом на реальних користувачів, тоді як практичні переваги полягають у перших суттєвих покращеннях. Досягнення хорошого балу, а потім робота з польовими даними для сторінок, які мають комерційне значення, дає більше, ніж оптимізація однієї сторінки до ста.
Категорія доступності заслуговує на особливу обережність, оскільки її оцінювання спонукає до небезпечних висновків. Автоматизовані перевірки охоплюють лише частину вимог до доступності, а ідеальний бал доступності повністю сумісний зі сторінкою, яку не можна використовувати за допомогою програми зчитування з екрана. Трактування балу як доказу доступності є поширеною та наслідковою помилкою, і власна документація інструменту говорить про це.
Умови тестування слід встановлювати свідомо, а не приймати їх такими, як вони є. Стандартне обмеження налаштувань інструменту наближається до мобільного пристрою середнього рівня з повільним з’єднанням, що підходить для багатьох аудиторій і песимістично або оптимістично для інших. Налаштування профілю відповідно до пристроїв і з’єднань, типових для власних польових даних сайту, створює діагностику, яка відображає аудиторію, а не загальне припущення.
Автоматизація інструменту в конвеєрі збірки розширює його корисність від діагностики до запобігання. Проведення аудитів кожної зміни, відповідно до визначених порогових значень, виявляє регресії перед їх відправкою, що є більш цінним, ніж періодичні ручні перевірки. Через різниця між запусками, порогові значення повинні допускати розумну толерантність, а повторні запуску повинні усереднюватися, інакше перевірка видає помилкові збої та зрештою ігнорується.
Оскільки інструмент визначає симптоми, тоді як шляхи вирішення часто залежать від архітектури та рішень третіх сторін, його висновки є відправною точкою, а не планом роботи. На практиці аудити враховують пріоритезацію, що проводиться в рамках веб-продуктивність роботи, виправлення впроваджуються через розробка продукту, а результати щодо доступності слід розглядати як перший прохід, що належним чином UX аудит з ручним та допоміжним тестуванням технологій, що має бути розширене.