Näin rakennat nopean sivun: kuusi vaihetta
Työ etenee mittauksesta rakenteeseen, kuviin ja välimuistiin — ja päättyy uuteen mittaukseen.
Ensimmäinen sääntö: älä optimoi arvailemalla. Aja ensin Lighthouse mobiiliprofiililla, joka simuloi hidasta 4G-yhteyttä noin 1,6 Mbit/s nopeudella, 150 millisekunnin viiveellä ja nelinkertaisella prosessorin hidastuksella. Kotiverkon nopea wifi ei näy tuloksissa, ja juuri siksi testi kertoo, miltä sivu tuntuu heikommalla laitteella.
Jokaiseen vaiheeseen liittyy yksi tarkistettava luku ja yksi tyypillinen virhe. Kun virheellä on nimi — esimerkiksi kuva ilman tilavarausta tai HTML jääneenä välimuistiin — sen etsiminen käy minuuteissa eikä päivissä.
Vaiheiden järjestys ei ole sattuma. Rakenne ratkaisee, mitä selain lataa ensin; kuvat ja fontit ratkaisevat painon; välimuisti tekee toisesta latauksesta lähes ilmaisen. Lopuksi mittaus varmistaa, että kaikki kolme rajaa — LCP 2,5 s, INP 200 ms ja CLS 0,1 — täyttyvät.
- Vaihe 1 — Mittaa lähtötilanne (n. 30 min): aja Lighthouse mobiiliprofiililla ja kirjaa LCP, INP ja CLS. Tyypillinen virhe: testata kotiwifillä ja saada liian ruusuisia lukuja.
- Vaihe 2 — Järjestä kriittinen sisältö (1–2 h): ylälaidan teksti ja pääkuva piirrettäväksi ilman odottavia skriptejä. Tyypillinen virhe: estävä JavaScript lykkää suurimman elementin piirtoa.
- Vaihe 3 — Optimoi kuvat (1–3 h kuvamäärästä riippuen): muunna AVIF- tai WebP-muotoon ja skaalaa näyttökokoon. Tyypillinen virhe: kymmenen 200 kt:n kuvaa eli 2 Mt, joka kestää noin 10 sekuntia hitaalla 4G-yhteydellä.
- Vaihe 4 — Hallitse fontit (n. 30 min): pidä kirjasinten tiedostopaino samassa budjetissa kuin kuvat ja varaa teksteille tilat. Tyypillinen virhe: myöhään latautuva fontti vaihtaa tekstin ja aiheuttaa CLS-hyppäyksen.
- Vaihe 5 — Aseta välimuisti (n. 30 min): staattiset tiedostot vuodeksi arvolla max-age=31536000, HTML arvolla max-age=0, must-revalidate. Tyypillinen virhe: HTML jää välimuistiin eikä uusi julkaisu näy.
- Vaihe 6 — Varmista mittauksella (n. 30 min): aja testi uudelleen ja tarkista, että rajan alle mahtuu 75 % latauksista. Tyypillinen virhe: katsotaan vain yhtä onnistunutta ajoa.
Kolme rajaa, jotka ratkaisevat arvostelun
LCP kertoo latausnopeuden, INP reagointinopeuden ja CLS visuaalisen vakauden.
LCP eli suurimman sisällön piirtoaika mittaa hetkeä, jolloin sivun suurin näkyvä elementti on piirretty ruudulle — usein kyseessä on pääkuva tai pääotsikko. Raja on 2,5 sekuntia, ja se täyttyy vasta, kun vähintään 75 prosenttia sivun latauksista jää sen alle.
INP korvasi aiemman FID-mittarin. FID katsoi vain ensimmäistä vuorovaikutusta, mutta INP mittaa koko istunnon — tyypillisesti noin 5–10 sekunnin — kaikki vuorovaikutukset. Raja on 200 millisekuntia: yksi 180 millisekunnin klikkausviive alittaa sen, vaikka yksikään klikkaus ei yksinään näyttäisi hidasta.
CLS kertoo, kuinka paljon sisältö siirtyy sivun avautuessa. Luku on kahden kertoimen tulo: vaikutuskerroin kertoo liikkuvan osuuden näkymästä ja etäisyyskerroin siirtymän pituuden. Esimerkki: 1000 pikseliä korkea mainosalue kutistuu 400 pikselistä 100 pikseliin — vaikutuskerroin 1,0, etäisyyskerroin 300/1000 eli 0,3, joten CLS on 0,3 ja sivu hylätään rajan 0,1 ylittämisestä.