Lighthouse ialah alat automatik sumber terbuka yang dibangunkan oleh Google untuk meningkatkan kualiti halaman web. Ia mengaudit tapak anda merentas pelbagai metrik termasuk prestasi, kebolehaksesan, amalan terbaik, SEO dan kriteria aplikasi web progresif (PWA). Walaupun mencapai skor Rumah Api yang sempurna adalah mencabar, ia boleh dilakukan melalui pengoptimuman sistematik. Panduan ini akan membimbing anda melalui langkah-langkah yang diperlukan untuk meningkatkan tapak anda dan menyasarkan 100% markah Lighthouse.
Prestasi ialah komponen kritikal skor Rumah Api. Begini cara anda boleh memperbaikinya:
Laksakan pemuatan malas untuk imej dan video untuk memastikan ia hanya dimuatkan apabila ia muncul dalam port pandangan.
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 < (window.innerHeight + scrollTop)) { img.src = img.dataset.src; img.classList.remove("lazy"); } }); if (lazyImages.length == 0) { document.removeEventListener("scroll", lazyLoad); window.removeEventListener("resize", lazyLoad); window.removeEventListener("orientationChange", lazyLoad); } }; document.addEventListener("scroll", lazyLoad); window.addEventListener("resize", lazyLoad); window.addEventListener("orientationChange", lazyLoad); } });
Gunakan pemampatan Brotli atau gzip untuk aset anda untuk mengurangkan saiznya dan mempercepatkan masa pemuatan.
Kecilkan fail JavaScript, CSS dan HTML anda untuk mengalih keluar aksara yang tidak diperlukan dan mengurangkan saiz fail.
Manfaatkan cache penyemak imbas dengan menetapkan pengepala cache yang sesuai untuk meningkatkan masa muat untuk pelawat yang kembali.
Sebaris CSS kritikal untuk memastikan kandungan utama halaman anda dimuatkan dengan cepat dan menangguhkan CSS tidak kritikal.
Optimumkan kod JavaScript anda untuk meminimumkan masa pelaksanaan dan pastikan tapak anda kekal responsif.
Kebolehaksesan memastikan tapak anda boleh digunakan oleh seramai mungkin orang, termasuk mereka yang kurang upaya.
Pastikan teks dan warna latar belakang mempunyai kontras yang mencukupi agar mudah dibaca.
Gunakan peranan dan atribut ARIA untuk meningkatkan kebolehcapaian aplikasi web anda.
Pastikan susunan tab yang logik untuk elemen interaktif bagi memudahkan navigasi menggunakan papan kekunci.
Tambahkan label deskriptif untuk membentuk elemen untuk menjadikannya boleh diakses oleh pembaca skrin.
Mengikuti amalan terbaik membantu memastikan tapak anda selamat dan berfungsi dengan baik.
Layankan tapak anda melalui HTTPS untuk memastikan penghantaran data selamat.
Pastikan semua sumber dimuatkan melalui HTTPS untuk mengelakkan isu kandungan bercampur.
Selalu audit kod anda untuk isu keselamatan dan betulkan sebarang kelemahan.
SEO membantu meningkatkan keterlihatan tapak anda dalam hasil enjin carian.
Sertakan teg meta yang berkaitan untuk tajuk, penerangan dan port pandangan.
Gunakan data berstruktur (cth., JSON-LD) untuk membantu enjin carian memahami kandungan anda dengan lebih baik.
Pastikan tapak anda mesra mudah alih dan responsif untuk memenuhi keperluan pengguna pada pelbagai peranti.
PWA menyediakan pengalaman seperti apl asli di web.
Buat fail manifes apl web dengan semua maklumat yang diperlukan untuk menjadikan tapak anda sebagai PWA.
Laksanakan pekerja perkhidmatan untuk cache aset dan dayakan kefungsian luar talian.
Pastikan tapak anda disiarkan melalui HTTPS, kerana ia adalah keperluan untuk PWA.
Gunakan Chrome DevTools atau Lighthouse CLI untuk menjalankan audit dan menangani sebarang isu.
Gunakan alatan seperti WebPageTest, Google PageSpeed Insights dan GTmetrix untuk memantau prestasi tapak anda.
Kemas kini dan optimumkan pangkalan kod anda secara kerap untuk mengekalkan prestasi tinggi dan pengalaman pengguna yang baik.
<head> <!-- Preload key CSS --> <link rel="preload" href="/styles/main.css" as="style"> <!-- Preload key JavaScript --> <link rel="preload" href="/scripts/main.js" as="script"> </head> <body> <!-- Your content --> <script src="/scripts/main.js" defer></script> <link href="/styles/main.css" rel="stylesheet"> </body>
// 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); }) ); });
Anda boleh menjalankan Lighthouse secara pengaturcaraan menggunakan modul 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(); })();
Achieving a perfect Lighthouse score requires consistent effort and a commitment to best practices. By focusing on performance optimization, accessibility enhancements, following best practices, improving SEO, and implementing PWA features, you can significantly improve your Lighthouse score. Regular testing and iteration are key to maintaining a high-quality web application that provides a great user experience.
Remember, while it may be tempting to find shortcuts to improve your Lighthouse score, genuine optimization will result in a better user experience and a more robust web application.
Atas ialah kandungan terperinci Mencapai Skor Rumah Api Sempurna: Panduan Komprehensif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!