Rumah > hujung hadapan web > tutorial js > Mencapai Skor Rumah Api Sempurna: Panduan Komprehensif

Mencapai Skor Rumah Api Sempurna: Panduan Komprehensif

王林
Lepaskan: 2024-07-25 21:16:23
asal
883 orang telah melayarinya

Achieving a Perfect Lighthouse Score: A Comprehensive Guide

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.

1. Pengoptimuman Prestasi

Prestasi ialah komponen kritikal skor Rumah Api. Begini cara anda boleh memperbaikinya:

Malas Memuatkan

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);
    }
});
Salin selepas log masuk

Mampatan

Gunakan pemampatan Brotli atau gzip untuk aset anda untuk mengurangkan saiznya dan mempercepatkan masa pemuatan.

Minifikasi

Kecilkan fail JavaScript, CSS dan HTML anda untuk mengalih keluar aksara yang tidak diperlukan dan mengurangkan saiz fail.

Caching

Manfaatkan cache penyemak imbas dengan menetapkan pengepala cache yang sesuai untuk meningkatkan masa muat untuk pelawat yang kembali.

CSS kritikal

Sebaris CSS kritikal untuk memastikan kandungan utama halaman anda dimuatkan dengan cepat dan menangguhkan CSS tidak kritikal.

Kurangkan Masa Pelaksanaan JavaScript

Optimumkan kod JavaScript anda untuk meminimumkan masa pelaksanaan dan pastikan tapak anda kekal responsif.

2. Peningkatan Kebolehcapaian

Kebolehaksesan memastikan tapak anda boleh digunakan oleh seramai mungkin orang, termasuk mereka yang kurang upaya.

Kontras Warna

Pastikan teks dan warna latar belakang mempunyai kontras yang mencukupi agar mudah dibaca.

Peranan ARIA

Gunakan peranan dan atribut ARIA untuk meningkatkan kebolehcapaian aplikasi web anda.

Pesanan Tab

Pastikan susunan tab yang logik untuk elemen interaktif bagi memudahkan navigasi menggunakan papan kekunci.

Label

Tambahkan label deskriptif untuk membentuk elemen untuk menjadikannya boleh diakses oleh pembaca skrin.

3. Amalan Terbaik

Mengikuti amalan terbaik membantu memastikan tapak anda selamat dan berfungsi dengan baik.

HTTPS

Layankan tapak anda melalui HTTPS untuk memastikan penghantaran data selamat.

Elakkan Kandungan Campuran

Pastikan semua sumber dimuatkan melalui HTTPS untuk mengelakkan isu kandungan bercampur.

Audit untuk Kerentanan Keselamatan

Selalu audit kod anda untuk isu keselamatan dan betulkan sebarang kelemahan.

4. SEO

SEO membantu meningkatkan keterlihatan tapak anda dalam hasil enjin carian.

Meta Tag

Sertakan teg meta yang berkaitan untuk tajuk, penerangan dan port pandangan.

Data Berstruktur

Gunakan data berstruktur (cth., JSON-LD) untuk membantu enjin carian memahami kandungan anda dengan lebih baik.

Mesra Mudah Alih

Pastikan tapak anda mesra mudah alih dan responsif untuk memenuhi keperluan pengguna pada pelbagai peranti.

5. Apl Web Progresif (PWA)

PWA menyediakan pengalaman seperti apl asli di web.

Fail Manifes

Buat fail manifes apl web dengan semua maklumat yang diperlukan untuk menjadikan tapak anda sebagai PWA.

Pekerja Perkhidmatan

Laksanakan pekerja perkhidmatan untuk cache aset dan dayakan kefungsian luar talian.

HTTPS

Pastikan tapak anda disiarkan melalui HTTPS, kerana ia adalah keperluan untuk PWA.

Pengujian dan Lelaran

Jalankan Audit Rumah Api Secara Berkala

Gunakan Chrome DevTools atau Lighthouse CLI untuk menjalankan audit dan menangani sebarang isu.

Pantau Prestasi

Gunakan alatan seperti WebPageTest, Google PageSpeed ​​Insights dan GTmetrix untuk memantau prestasi tapak anda.

Penambahbaikan Berterusan

Kemas kini dan optimumkan pangkalan kod anda secara kerap untuk mengekalkan prestasi tinggi dan pengalaman pengguna yang baik.

Contoh: Mengoptimumkan Pemuatan Sumber dengan Pramuat

<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>
Salin selepas log masuk

Contoh: Melaksanakan Pekerja Perkhidmatan untuk Caching

// 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);
        })
    );
});
Salin selepas log masuk

Menjalankan Rumah Api Secara Program

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();
})();
Salin selepas log masuk

Conclusion

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!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan