Lyhyesti
- Verkkosivujen kuvien optimointi onnistuu viemällä jokainen kuva näyttökokoonsa, tiheille näytöille noin kaksinkertaisena, alkuperäisen lataamisen sijaan.
- AVIF ja WebP tuottavat huomattavasti pienempiä tiedostoja kuin JPEG ja PNG samalla silmämääräisellä laadulla, ja kaikki nykyiset selaimet tukevat WebP:tä.
- srcset- ja sizes-attribuutit antavat selaimen ladata pienimmän kuvan, joka näyttää terävältä kyseisellä näytöllä.
- Lataa ensimmäisen näkymän alapuoliset kuvat laiskasti asetuksella loading="lazy", mutta pääkuva heti asetuksella fetchpriority="high", sillä se määrää usein Largest Contentful Paint -ajan.
- Määritä kuville aina width ja height, jotta selain varaa niille tilan eikä asettelu hypi latauksen aikana.
Tällä sivulla
Verkkosivujen kuvien optimointi ilman näkyvää laadun heikkenemistä koostuu viidestä asiasta: vie kuva sen näyttökoon mukaisena (teräville näytöille noin kaksinkertaisena), valitse moderni muoto kuten AVIF tai WebP, pakkaa maltillisella laatuasetuksella ja vertaa silmämääräisesti, tarjoa useita kokoja srcset-attribuutilla ja lataa ensimmäisen näkymän alapuoliset kuvat laiskasti. Näillä toimilla poistat useimmat Lighthousen kuvavaroitukset ja yleensä pienennät sivun tiedostokokoa huomattavasti. Suoraan kamerasta tai suunnittelutyökalusta tuleva kuva on moninkertaisesti näytön tarpeita suurempi.
Vaihe 1: vie kuva näyttökoossaan
800 pikselin levyisenä näkyvän kuvan ei tarvitse olla 4 000 pikseliä leveä. Lighthouse huomauttaa liian suurista kuvista, sillä ylimääräiset pikselit ladataan, puretaan ja hylätään. Mittaa kuvan suurin leveys asettelussasi ja vie se noin kaksinkertaisena tiheille puhelin- ja kannettavan näytöille. Yli kaksinkertainen koko näyttää harvoin terävämmältä ja kasvattaa aina tavumäärää.
Näyttökoko
Vientileveys
Näyttökoko
Vientileveys
Näyttökoko
Vientileveys
Näyttökoko
Vientileveys
Näyttökoko
Vientileveys
Sivuston pääkuva 1920×1080
1920 × 1080
Blogin banneri 1200×600
1200 × 600
Linkin esikatselu 1200×630
1200 × 630
Vaihe 2: valitse oikea tiedostomuoto
Tiedostomuoto vaikuttaa enemmän kuin mikään pakkausliukusäädin. AVIF tuottaa yleensä pienimmän tiedoston. WebP pääsee lähelle ja toimii kaikissa nykyisissä selaimissa. JPEG ja PNG ovat edelleen turvallisia varavaihtoehtoja. WebP ja PNG sekä PNG ja JPG vertailevat pareja tarkemmin.
Huomioita
Huomioita
Huomioita
Huomioita
Huomioita
linear-gradient(160deg, #0f172a 0%, #1e3a8a 50%, #0ea5e9 100%)Vaihe 3: pakkaa ja katso
Häviöllisissä muodoissa on laatuasetus, jonka sopiva arvo riippuu kuvasta. Aloita WebP:llä arvosta 75-80 ja AVIF:llä arvosta 50-60. Vie kuva ja vertaa alkuperäiseen 100 %:n suurennuksella. Laske arvoa, kunnes näet eron, ja nosta sitten yhden askeleen verran. Kasvot, pieni teksti ja liukuvärit vaativat parempaa laatua kuin yksityiskohtaiset maisemat. Kuvien pakkaus selittää, mitä kooderi poistaa.
Poista samalla metatiedot, kuten kameran tiedot ja upotetut pikkukuvat. Useimmissa vientityökaluissa yksi valintaruutu riittää. Näin poistat tavuja, joita kukaan ei näe.
Vaihe 4: responsiivisuus srcset- ja sizes-attribuuteilla
Kun olet vienyt useita leveyksiä, anna selaimen valita. srcset luettelee tiedostot ja niiden leveydet. sizes kertoo selaimelle, kuinka leveänä kuva näkyy. Selain lataa sitten pienimmän tiedoston, joka on näytölle riittävän terävä.
<picture>
<source type="image/avif"
srcset="/img/hero-960.avif 960w, /img/hero-1440.avif 1440w, /img/hero-1920.avif 1920w"
sizes="100vw" />
<source type="image/webp"
srcset="/img/hero-960.webp 960w, /img/hero-1440.webp 1440w, /img/hero-1920.webp 1920w"
sizes="100vw" />
<img src="/img/hero-1920.jpg" alt="Morning light over the harbour"
width="1920" height="1080" fetchpriority="high" decoding="async" />
</picture>Kuvaile palstan sisällä olevan kuvan asettelu sizes-attribuutissa, esimerkiksi sizes="(min-width: 1024px) 720px, 100vw". Virheellinen sizes on yleisin syy siihen, että responsiivinen toteutus lataa edelleen suuren tiedoston.
Vaihe 5: tärkeät latausvihjeet
<!-- Below the fold: let the browser wait -->
<img src="/img/team-720.webp" alt="The team at the spring workshop"
width="720" height="480" loading="lazy" decoding="async" />
<!-- The hero: fetch first, never lazy -->
<img src="/img/hero-1920.webp" alt="Morning light over the harbour"
width="1920" height="1080" fetchpriority="high" />Yleiset virheet
loading="lazy"pääkuvassa- Leveys ja korkeus puuttuvat, joten sivu hypähtää
- Yksi valtava tiedosto kaikille näytöille
- JPEG tasaisesta logosta tai kuvakaappauksesta
- Liukuväritaustat tallennetaan kuvina
Tee näin
- Pääkuva latautuu heti asetuksella
fetchpriority="high" - Määritä kumpikin attribuutti jokaiselle img-elementille
srcsetkolmella tai neljällä leveydellä- SVG tai PNG tasaiselle grafiikalle
- CSS-liukuvärit, tarvittaessa rakeisuudella
Nämä vihjeet liittyvät suoraan Core Web Vitals -mittareihin. Pääkuva on usein Largest Contentful Paint -elementti, jonka tulisi web.devin mukaan piirtyä 2,5 sekunnissa. Puuttuvat mitat ovat tavallinen syy asettelun siirtymiin. Jos pääkuva onkin video, sama ajattelu pätee verkkosivujen videotaustoihin.
Tarkistuslista ennen julkaisua
- 1
Mittaa kuvan paikka
Selvitä kunkin kuvan suurin näyttöleveys asettelussasi.
- 2
Vie sopivat koot
1-2 kertaa näyttöleveys sekä pienemmät versiot puhelimille.
- 3
Valitse muoto
AVIF tai WebP valokuville ja liukuväreille, SVG logoille ja PNG vain silloin, kun se on paras.
- 4
Pakkaa silmämääräisesti
Laske laatua, kunnes huomaat muutoksen, ja nosta sitten yhden askeleen verran.
- 5
Lisää merkinnät
srcset,sizes,width,height,altsekä ensimmäisen näkymän alapuolisten kuvien laiska lataus. - 6
Testaa
Suorita Lighthouse incognito-ikkunassa ja tarkista kuva-auditoinnit sekä LCP-elementti.
Moni vaihe helpottuu, kun kuva tehdään alusta asti lopulliseen kokoonsa. Gradientlyssä suunnittelet kerran, ja Pro muuttaa työn kaikkiin kokoihin yhdellä kertaa. Sen jälkeen viet PNG-, JPG- tai SVG-tiedoston täsmällisillä mitoilla jopa 4K-koossa. Näin pääkuva, banneri ja Open Graph -kuva ovat valmiiksi siinä koossa, jossa sivu ne näyttää.
Usein kysyttyä
Miten optimoin verkkokuvat laatua menettämättä?
Vie kuva näyttökoossa, käytä AVIF- tai WebP-muotoa ja laske laatuasetusta vain siihen asti, että näet eron. Tarjoa useita kokoja srcset-attribuutilla. Suurin näkyvä haitta johtuu raskaasta pakkauksesta, ei koon muuttamisesta.
Mikä kuvamuoto on paras verkkosivuille?
WebP on turvallinen moderni oletus, ja AVIF on yleensä vielä pienempi. Käytä SVG:tä logoihin ja kuvakkeisiin ja pidä JPEG tai PNG varavaihtoehtoina.
Pitäisikö kaikki kuvat ladata laiskasti?
Ei. Lataa ensimmäisen näkymän alapuoliset kuvat laiskasti, mutta pääkuva heti, sillä sen viivyttäminen hidastaa Largest Contentful Paint -aikaa.
Minkä kokoisia verkkosivujen kuvien pitäisi olla?
Noin kaksi kertaa niiden näyttöleveyden kokoisia, jotta ne ovat teräviä tiheillä näytöillä. Koko sivun levyinen 1920 px:n pääkuva riittää useimmille näytöille.
Miksi Lighthouse sanoo, etteivät kuvani ole oikean kokoisia?
Tiedostossa on enemmän pikseleitä kuin sen täyttämässä tilassa sivulla. Vie pienempi versio ja käytä srcset- ja sizes-attribuutteja, jotta selain valitsee sopivan.
Kirjoittanut Gradiently
Gradientlyn tiimi. Gradiently on Markien ympärille rakennettu suunnittelutyökalu: eläviä liukuvärejä, joiden ansiosta kaikki suunnittelemasi näyttää omaltasi.
Katso profiilimme