// service-worker.jsself.addEventListener(\\'install\\', function(event) { event.waitUntil( caches.open(\\'my-cache\\').then(function(cache) { return cache.addAll([ \\'/\\', \\'/index.html\\', \\'/styles/main.css\\', \\'/scripts/main.js\\', \\'/images/logo.png\\' ]); }) );});self.addEventListener(\\'fetch\\', function(event) { event.respondWith( caches.match(event.request).then(function(response) { return response || fetch(event.request); }) );});
Вы можете запустить Lighthouse программно, используя модуль Lighthouse Node:
const lighthouse = require(\\'lighthouse\\');const chromeLauncher = require(\\'chrome-launcher\\');(async () => { const chrome = await chromeLauncher.launch({chromeFlags: [\\'--headless\\']}); const options = {logLevel: \\'info\\', output: \\'html\\', onlyCategories: [\\'performance\\'], port: chrome.port}; const runnerResult = await lighthouse(\\'https://example.com\\', options); // `.report` is the HTML report as a string const reportHtml = runnerResult.report; console.log(reportHtml); // `.lhr` is the Lighthouse Result as a JS object console.log(\\'Report is done for\\', runnerResult.lhr.finalUrl); console.log(\\'Performance score was\\', runnerResult.lhr.categories.performance.score * 100); await chrome.kill();})();
Достижение идеальной оценки Lighthouse требует последовательных усилий и приверженности лучшим практикам. Сосредоточив внимание на оптимизации производительности, улучшении доступности, следуя лучшим практикам, улучшая SEO и внедряя функции PWA, вы можете значительно улучшить свой рейтинг Lighthouse. Регулярное тестирование и итерации являются ключом к поддержанию высококачественного веб-приложения, обеспечивающего отличный пользовательский опыт.
Помните, хотя может возникнуть соблазн найти ярлыки для улучшения вашего рейтинга Lighthouse, настоящая оптимизация приведет к улучшению пользовательского опыта и более надежному веб-приложению.
","image":"http://www.luping.net/uploads/20240806/172292590466b1c350769a4.jpg","datePublished":"2024-08-06T14:31:43+08:00","dateModified":"2024-08-06T14:31:43+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}Lighthouse — это автоматизированный инструмент с открытым исходным кодом, разработанный Google для улучшения качества веб-страниц. Он проверяет ваш сайт по различным показателям, включая производительность, доступность, лучшие практики, SEO и критерии прогрессивных веб-приложений (PWA). Хотя добиться идеального результата Lighthouse сложно, это возможно благодаря систематической оптимизации. Это руководство проведет вас через шаги, необходимые для улучшения вашего сайта и достижения 100% оценки Lighthouse.
Производительность — важнейший компонент оценки Lighthouse. Вот как вы можете его улучшить:
Реализуйте отложенную загрузку изображений и видео, чтобы они загружались только при появлении в области просмотра.
document.addEventListener("DOMContentLoaded", function() { let lazyImages = [].slice.call(document.querySelectorAll("img.lazy")); if ("IntersectionObserver" in window) { let lazyImageObserver = new IntersectionObserver(function(entries, observer) { entries.forEach(function(entry) { if (entry.isIntersecting) { let lazyImage = entry.target; lazyImage.src = lazyImage.dataset.src; lazyImage.classList.remove("lazy"); lazyImageObserver.unobserve(lazyImage); } }); }); lazyImages.forEach(function(lazyImage) { lazyImageObserver.observe(lazyImage); }); } else { // Fallback for browsers without IntersectionObserver let lazyLoad = function() { let scrollTop = window.pageYOffset; lazyImages.forEach(function(img) { if (img.offsetTopСжатие
Используйте сжатие Brotli или gzip для своих ресурсов, чтобы уменьшить их размер и ускорить загрузку.
Минимизация
Минимизируйте файлы JavaScript, CSS и HTML, чтобы удалить ненужные символы и уменьшить размер файлов.
Кэширование
Используйте кеширование браузера, установив соответствующие заголовки кеширования, чтобы сократить время загрузки для вернувшихся посетителей.
Критический CSS
Встройте критический CSS, чтобы обеспечить быструю загрузку основного содержимого вашей страницы и отложить некритичный CSS.
Сократите время выполнения JavaScript
Оптимизируйте свой код JavaScript, чтобы минимизировать время выполнения и обеспечить постоянную отзывчивость вашего сайта.
2. Улучшения специальных возможностей
Доступность гарантирует, что вашим сайтом сможет пользоваться как можно больше людей, включая людей с ограниченными возможностями.
Цветовой контраст
Убедитесь, что цвета текста и фона достаточно контрастны, чтобы их было легко читать.
Роли АРИА
Используйте роли и атрибуты ARIA, чтобы улучшить доступность вашего веб-приложения.
Порядок вкладок
Обеспечьте логичный порядок табуляции для интерактивных элементов, чтобы облегчить навигацию с помощью клавиатуры.
Этикетки
Добавьте к элементам формы описательные метки, чтобы сделать их доступными для программ чтения с экрана.
3. Лучшие практики
Следование лучшим практикам поможет обеспечить безопасность и хорошую работу вашего сайта.
HTTPS
Подключайте свой сайт через HTTPS, чтобы обеспечить безопасную передачу данных.
Избегайте смешанного контента
Убедитесь, что все ресурсы загружаются через HTTPS, чтобы избежать проблем со смешанным контентом.
Аудит уязвимостей безопасности
Регулярно проверяйте свой код на наличие проблем безопасности и устраняйте любые уязвимости.
4. SEO
SEO помогает улучшить видимость вашего сайта в результатах поисковых систем.
Мета-теги
Включите соответствующие метатеги для заголовка, описания и области просмотра.
Структурированные данные
Используйте структурированные данные (например, JSON-LD), чтобы поисковые системы лучше понимали ваш контент.
Удобство для мобильных устройств
Убедитесь, что ваш сайт удобен для мобильных устройств и адаптирован для пользователей на различных устройствах.
5. Прогрессивное веб-приложение (PWA)
PWA обеспечивают удобство работы в Интернете, аналогичное приложениям.
Файл манифеста
Создайте файл манифеста веб-приложения со всей необходимой информацией, чтобы сделать ваш сайт PWA.
Сервисный работник
Реализуйте сервис-воркера для кэширования ресурсов и включения автономной функциональности.
HTTPS
Убедитесь, что ваш сайт обслуживается по протоколу HTTPS, поскольку это требование для PWA.
Тестирование и итерация
Регулярно проводите аудит маяков
Используйте Chrome DevTools или интерфейс командной строки Lighthouse для проведения аудита и устранения любых проблем.
Мониторинг производительности
Используйте такие инструменты, как WebPageTest, Google PageSpeed Insights и GTmetrix, чтобы отслеживать производительность вашего сайта.
Постоянное улучшение
Регулярно обновляйте и оптимизируйте свою кодовую базу, чтобы поддерживать высокую производительность и удобство для пользователей.
Пример: оптимизация загрузки ресурсов с помощью предварительной загрузки
Пример: реализация Service Worker для кэширования
// service-worker.js self.addEventListener('install', function(event) { event.waitUntil( caches.open('my-cache').then(function(cache) { return cache.addAll([ '/', '/index.html', '/styles/main.css', '/scripts/main.js', '/images/logo.png' ]); }) ); }); self.addEventListener('fetch', function(event) { event.respondWith( caches.match(event.request).then(function(response) { return response || fetch(event.request); }) ); });Программный запуск Lighthouse
Вы можете запустить Lighthouse программно, используя модуль Lighthouse Node:
const lighthouse = require('lighthouse'); const chromeLauncher = require('chrome-launcher'); (async () => { const chrome = await chromeLauncher.launch({chromeFlags: ['--headless']}); const options = {logLevel: 'info', output: 'html', onlyCategories: ['performance'], port: chrome.port}; const runnerResult = await lighthouse('https://example.com', options); // `.report` is the HTML report as a string const reportHtml = runnerResult.report; console.log(reportHtml); // `.lhr` is the Lighthouse Result as a JS object console.log('Report is done for', runnerResult.lhr.finalUrl); console.log('Performance score was', runnerResult.lhr.categories.performance.score * 100); await chrome.kill(); })();Заключение
Достижение идеальной оценки Lighthouse требует последовательных усилий и приверженности лучшим практикам. Сосредоточив внимание на оптимизации производительности, улучшении доступности, следуя лучшим практикам, улучшая SEO и внедряя функции PWA, вы можете значительно улучшить свой рейтинг Lighthouse. Регулярное тестирование и итерации являются ключом к поддержанию высококачественного веб-приложения, обеспечивающего отличный пользовательский опыт.
Помните, хотя может возникнуть соблазн найти ярлыки для улучшения вашего рейтинга Lighthouse, настоящая оптимизация приведет к улучшению пользовательского опыта и более надежному веб-приложению.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3