Õppige ressursside vihjete, nagu eelkoormus, eelallalaadimine ja eelühendus, kasutamist veebisaidi laadimiskiiruse optimeerimiseks ja kasutajakogemuse parandamiseks.
Veebisaidi kiiruse suurendamine ressursside vihjetega: eelkoormus, eelallalaadimine ja eelühendus
Tänapäeva kiires digimaailmas on veebisaidi kiirus ülimalt tähtis. Kasutajad ootavad, et veebisaidid laadiksid kiiresti ja reageeriksid koheselt. Aeglased laadimisajad võivad põhjustada halva kasutajakogemuse, suurema loobumismäära ja lõppkokkuvõttes kadunud äri. Ressursside vihjed on võimsad tööriistad, mis aitavad arendajatel optimeerida veebisaidi laadimisaegu, öeldes brauserile, millised ressursid on tähtsad ja kuidas neid prioriseerida. Käesolev artikkel uurib kolme peamist ressursside vihjet: preload
, prefetch
ja preconnect
ning pakub praktilisi näiteid nende rakendamiseks.
Ressursside vihjete mõistmine
Ressursside vihjed on direktiivid, mis juhendavad brauserit veebilehe tulevikus vajaminevate ressursside osas. Need võimaldavad arendajatel proaktiivselt teavitada brauserit kriitilistest ressurssidest, andes sellele võimaluse neid varem hankida või nendega ühendust võtta, kui ta seda muidu teeks. See võib märkimisväärselt vähendada laadimisaegu ja parandada tajutavat toimivust.
Kolm peamist ressursside vihjet on:
- Preload: Hankib kriitilised ressursid, mis on vajalikud esialgse lehevaates olekuks.
- Prefetch: Hankib ressursid, mida tõenäoliselt vajatakse tulevasteks navigeerimisteks või interaktsioonideks.
- Preconnect: Loob varajased ühendused tähtsate kolmandate osapoolte serveritega.
Preload: Kriitiliste ressursside prioriseerimine
Mis on Preload?
Preload
on deklaratiivne hankimine, mis võimaldab teil öelda brauserile, et see hankiks praeguse navigeerimise jaoks vajaliku ressursi võimalikult varakult. See on eriti kasulik ressursside puhul, mida brauser hiljem tuvastab, näiteks pildid, fondid, skriptid või CSS-i või JavaScripti kaudu laaditud stiilid. Nende ressursside eelkoormamisega saate vältida nende renderdamist blokeerivaid efekte ja parandada oma veebisaidi tajutavat laadimiskiirust.
Millal Preload kasutada
Kasutage preload
järgmiste jaoks:
- Fondid: Kohandatud fontide varajane laadimine võib ära hoida stiilimata teksti vilkumise (FOUT) või nähtamatu teksti vilkumise (FOIT).
- Pildid: Ekraani ülemises osas olevate piltide prioriseerimine tagab nende kiire laadimise, parandades esialgset kasutajakogemust.
- Skriptid ja stiilid: Kriitiliste CSS-i või JavaScripti failide varajane laadimine hoiab ära renderdamise blokeerimise.
- Moodulid ja veebitöötajad: Moodulite või veebitöötajate eelkoormamine võib parandada teie rakenduse reageerivust.
Kuidas Preload rakendada
Preload
saate rakendada <link>
märgendi abil oma HTML-dokumendi <head>
sektsioonis:
<link rel="preload" href="/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/styles/critical.css" as="style">
<link rel="preload" href="/scripts/app.js" as="script">
<link rel="preload" href="/images/hero.jpg" as="image">
Selgitus:
rel="preload"
: Määrab, et brauser peaks ressurssi eelkoormama.href="/path/to/resource"
: Eelkoormatava ressursi URL.as="type"
: Määrab eelkoormatava ressursi tüübi (nt font, style, script, image). `as` atribuut on kohustuslik ja kriitilise tähtsusega, et brauser saaks ressurssi õigesti prioriseerida ja töödelda. Õige `as` väärtuse kasutamine tagab, et brauser rakendab õiget sisu turbe poliitikat (CSP) ja saadab õigeAccept
päise.type="mime/type"
: (Valikuline, kuid soovitatav) Määrab ressursi MIME-tüübi. See aitab brauseril valida õige ressursivormingu, eriti fontide puhul.crossorigin="anonymous"
: (Kohustuslik erinevast domeenist laaditavate fontide puhul) Määrab päringu CORS-režiimi. Kui laadite fonte CDN-ist, vajate tõenäoliselt seda atribuuti.
Näide: Fonti eelkoormamine
Kujutage ette, et teil on kohandatud font nimega 'OpenSans', mida teie veebisaidil kasutatakse. Ilma eelkoormamiseta tuvastab brauser selle fonti alles pärast CSS-faili töötlemist. See võib põhjustada teksti renderdamise viivitust õige fondiga. Fonti eelkoormates saate selle viivituse kõrvaldada.
<link rel="preload" href="/fonts/OpenSans-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous">
Näide: Kriitilise CSS-faili eelkoormamine
Kui teie veebisaidil on kriitiline CSS-fail, mis on esialgse vaate renderdamiseks hädavajalik, võib selle eelkoormamine oluliselt parandada tajutavat toimivust.
<link rel="preload" href="/styles/critical.css" as="style">
Preloadi parimad tavad
- Prioriseerige kriitilisi ressursse: Eelkoormake ainult neid ressursse, mis on esialgse lehevaates oleku jaoks hädavajalikud. Preloadi liigne kasutamine võib toimivust negatiivselt mõjutada.
- Kasutage õiget
as
atribuuti: Kasutage alati õigetas
atribuuti, et brauser saaks ressursi õigesti töödelda. - Lisage
type
atribuut: Lisagetype
atribuut, et aidata brauseril valida õige ressursivormingu. - Kasutage
crossorigin
erinevast domeenist pärit fontide jaoks: Kui laadite fonte erinevast domeenist, veenduge, et lisatecrossorigin
atribuudi. - Testige toimivust: Testige alati eelkoormamise toimivuse mõju, et tagada laadimisajade tegelik paranemine. Kasutage mõju mõõtmiseks tööriistu nagu Google PageSpeed Insights või WebPageTest.
Prefetch: Tulevaste vajaduste etteaimamine
Mis on Prefetch?
Prefetch
on ressursside vihje, mis ütleb brauserile, et see peaks hankima ressursid, mida tõenäoliselt vajatakse tulevasteks navigeerimisteks või interaktsioonideks. Erinevalt preload
-ist, mis keskendub praeguse lehe jaoks vajalikele ressurssidele, prefetch
ennustab kasutaja järgmist liigutust. See on eriti kasulik järgmiste lehtede või komponentide laadimiskiiruse parandamiseks.
Millal Prefetch kasutada
Kasutage prefetch
järgmiste jaoks:
- Järgmise lehe ressursid: Kui teate, et kasutaja liigub tõenäoliselt järgmisele lehele, eelallalaadige selle ressursid.
- Ressursid kasutaja interaktsioonide jaoks: Kui kasutaja interaktsioon käivitab teatud ressursside laadimise (nt modaalaken, vorm), eelallalaadige need ressursid.
- Pildid ja varad teistel lehtedel: Eelkoormake pildid või varad, mida kasutatakse teistel lehtedel, mida kasutaja tõenäoliselt külastab.
Kuidas Prefetch rakendada
Prefetch
saate rakendada <link>
märgendi abil oma HTML-dokumendi <head>
sektsioonis:
<link rel="prefetch" href="/page2.html">
<link rel="prefetch" href="/images/product.jpg">
<link rel="prefetch" href="/scripts/modal.js">
Selgitus:
rel="prefetch"
: Määrab, et brauser peaks ressurssi eelallalaadima.href="/path/to/resource"
: Eelallalaaditava ressursi URL.
Näide: Järgmise lehe ressursside eelallalaadimine
Kui teie veebisaidil on selge kasutajateekond, näiteks mitmeastmeline vorm, saate eelallalaadida järgmise sammu ressursid, kui kasutaja on praegusel sammul.
<link rel="prefetch" href="/form/step2.html">
Näide: Modaalakna ressursside eelallalaadimine
Kui teie veebisaidil kasutatakse modaalakent, mis avamisel laadib täiendavaid ressursse, saate nende ressursside eelallalaadimise abil tagada sujuva kasutajakogemuse.
<link rel="prefetch" href="/scripts/modal.js">
<link rel="prefetch" href="/styles/modal.css">
Prefetchi parimad tavad
- Kasutage säästlikult: Prefetchi tuleks kasutada säästlikult, kuna see võib tarbida ribalaiust ja ressursse, isegi kui kasutaja ei vaja eelallalaaditud ressursse.
- Prioriseerige tõenäolisi navigeerimisi: Eelallalaadige ressurssid lehtedele või interaktsioonidele, mis tõenäoliselt toimuvad.
- Arvestage võrguoludega: Prefetch sobib kõige paremini stabiilsete ja kiirete internetiühendustega kasutajatele. Vältige suurte ressursside eelallalaadimist aeglaste või piiratud andmesideteenuse ühendustega kasutajatele. Saate Network Information API abil tuvastada kasutaja ühenduse tüübi ja kohandada eelallalaadimist vastavalt.
- Jälgige toimivust: Jälgige prefetchi mõju teie veebisaidi toimivusele, et tagada selle netokasulikkus.
- Kasutage dünaamilist eelallalaadimist: Rakendage eelallalaadimist dünaamiliselt, lähtudes kasutajakäitumisest ja analüüsidest. Näiteks eelallalaadige ressursse lehtedele, mida praegusel lehel olevad kasutajad sageli külastavad.
Preconnect: Varajaste ühenduste loomine
Mis on Preconnect?
Preconnect
on ressursside vihje, mis võimaldab teil luua varajasi ühendusi tähtsate kolmandate osapoolte serveritega. Ühenduse loomine hõlmab mitmeid samme, sealhulgas DNS-i otsingut, TCP-ühendust ja TLS-i läbirääkimisi. Need sammud võivad lisada nende serverite ressursi laadimisele märkimisväärset latentsust. Preconnect
võimaldab teil need sammud taustal alustada, nii et kui brauser peab serverist ressurssi hankima, on ühendus juba loodud.
Millal Preconnect kasutada
Kasutage preconnect
järgmiste jaoks:
- Kolmandate osapoolte serverid: Serverid, mis majutavad fonte, CDN-e, API-sid või muid teie veebisaidi sõltuvaid ressursse.
- Sageli kasutatavad serverid: Serverid, millele teie veebisait sageli ligi pääseb.
Kuidas Preconnect rakendada
Preconnect
saate rakendada <link>
märgendi abil oma HTML-dokumendi <head>
sektsioonis:
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="preconnect" href="https://cdn.example.com">
Selgitus:
rel="preconnect"
: Määrab, et brauser peaks serveriga eelühendust looma.href="https://example.com"
: Serveri URL, millega eelühendust luua.crossorigin
: (Valikuline, kuid nõutav CORS-iga laaditavate ressursside jaoks) Määrab, et ühendus nõuab CORS-i.
Näide: Google Fontsidega eelühenduse loomine
Kui teie veebisait kasutab Google Fontse, võib https://fonts.gstatic.com
-iga eelühenduse loomine märkimisväärselt vähendada fontide laadimise latentsust.
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
Siin on `crossorigin` atribuut oluline, kuna Google Fonts kasutab fontide serveerimiseks CORS-i.
Näide: CDN-iga eelühenduse loomine
Kui teie veebisait kasutab staatiliste varade serveerimiseks CDN-i, võib CDN-i hostinimega eelühenduse loomine vähendada nende varade laadimise latentsust.
<link rel="preconnect" href="https://cdn.example.com">
Preconnecti parimad tavad
- Kasutage arukalt: Liiga paljude serveritega eelühenduse loomine võib tegelikult toimivust halvendada, kuna brauseril on ühenduste loomiseks piiratud ressursid.
- Prioriseerige tähtsad serverid: Looge eelühendus serveritega, mis on teie veebisaidi toimivuse jaoks kõige kriitilisemad.
- Kaaluge DNS-eelallalaadimist: Serverite puhul, millega te ei pea täielikku eelühendust looma, kuid soovite siiski DNS-i varakult lahendada, kaaluge
<link rel="dns-prefetch" href="https://example.com">
kasutamist. DNS-eelallalaadimine teostab ainult DNS-i otsingu, mis on vähem ressursimahukas kui täielik eelühendus. - Testige toimivust: Testige alati eelühenduse toimivuse mõju, et tagada selle netokasulikkus.
- Ühendage teiste ressursside vihjetega: Kasutage optimaalse toimivuse saavutamiseks eelühendust koos eelkoormamise ja eelallalaadimisega. Näiteks looge eelühendus fontide hostimisserveriga ja seejärel eelkoormake fontifailid.
Ressursside vihjete kombineerimine optimaalseks toimivuseks
Ressursside vihjete tõeline jõud peitub nende strateegilises kombineerimises. Siin on praktiline näide:
Kujutage ette veebisaiti, mis kasutab CDN-is majutatud kohandatud fonti ja laadib kriitilise JavaScripti faili.
- Looge eelühendus CDN-iga: Looge varajane ühendus CDN-iga, mis majutab fonti ja JavaScripti faili.
<link rel="preconnect" href="https://cdn.example.com" crossorigin>
- Eelkoormake font: Prioriseerige fonti laadimist, et vältida FOUT-i.
<link rel="preload" href="https://cdn.example.com/fonts/myfont.woff2" as="font" type="font/woff2" crossorigin="anonymous">
- Eelkoormake JavaScripti fail: Prioriseerige JavaScripti faili laadimist, et tagada selle kättesaadavus vajadusel.
<link rel="preload" href="https://cdn.example.com/scripts/app.js" as="script">
Tööriistad ressursside vihjete analüsimiseks
Mitmed tööriistad aitavad teil analüüsida teie ressursside vihjete tõhusust:
- Google PageSpeed Insights: Pakub soovitusi teie veebisaidi toimivuse optimeerimiseks, sealhulgas ressursside vihjete kasutamiseks.
- WebPageTest: Võimaldab teil testida oma veebisaidi toimivust erinevatest asukohtadest ja võrgutingimustest.
- Chrome DevTools: Chrome DevToolsi võrgupaneel näitab ressursside laadimise ajastust ja aitab teil tuvastada optimeerimisvõimalusi.
- Lighthouse: Automatiseeritud tööriist veebilehtede kvaliteedi parandamiseks. Sellel on auditeid toimivuse, ligipääsetavuse, progressiivsete veebirakenduste, SEO ja muu jaoks.
Levinumad vead ja kuidas neid vältida
- Ressursside vihjete liigne kasutamine: Liiga paljude ressursside vihjete kasutamine võib toimivust negatiivselt mõjutada. Keskenduge kõige kriitilisematele ressurssidele.
- Vale
as
atribuut: Eelkoormamise valeas
atribuudi kasutamine võib takistada ressurssi õiget laadimist. - CORS-i eiramine: Erinevast domeenist pärit ressursside laadimisel
crossorigin
atribuudi lisamata jätmine võib põhjustada laadimisvigu. - Toimivuse testimata jätmine: Testige alati ressursside vihjete toimivuse mõju, et tagada nende netokasulikkus.
- Valed teed: Kontrollige ja veenduge, et kõik ressursside vihjete jaoks määratud failiteed ja URL-id on õiged, vastasel juhul tekib viga.
Ressursside vihjete tulevik
Ressursside vihjed arenevad pidevalt, brauserispetsifikatsioonidesse lisandub uusi funktsioone ja täiustusi. Uusimate ressursside vihjete arengutega kursis püsimine aitab teil oma veebisaidi toimivust veelgi optimeerida. Näiteks on modulepreload
uusim ressursside vihje, mis on spetsiaalselt loodud JavaScripti moodulite eelkoormamiseks. Samuti võimaldab ressursside vihjete `priority` atribuut teil määrata ressursi prioriteedi teiste ressursside suhtes. Nende funktsioonide brauseritugi on veel arenemisjärgus, seega kontrollige enne nende rakendamist ühilduvust.
Järeldus
Ressursside vihjed on võimsad tööriistad veebisaidi laadimisaegade optimeerimiseks ja kasutajakogemuse parandamiseks. Preload
, prefetch
ja preconnect
strateegilise kasutamisega saate proaktiivselt teavitada brauserit kriitilistest ressurssidest, vähendada latentsust ja parandada oma veebisaidi tajutavat toimivust. Pidage meeles prioriseerida kriitilisi ressursse, kasutada ressursside vihjeid arukalt ja alati testida oma muudatuste toimivuse mõju. Järgides selles artiklis kirjeldatud parimaid tavasid, saate oma veebisaidi toimivust märkimisväärselt parandada ja pakkuda paremat kogemust oma kasutajatele kogu maailmas.