Optimizuokite savo svetainės vaizdų ir šriftų įkėlimą, kad naudotojo patirtis būtų greitesnė ir patrauklesnė visame pasaulyje. Sužinokite apie tokius metodus kaip reaguojantys vaizdai, žiniatinklio šriftų optimizavimas ir tingus įkėlimas.
Frontend išteklių optimizavimas: vaizdų ir šriftų įkėlimo valdymas pasaulinei auditorijai
Šiandieniniame globaliai susietame pasaulyje svetainės našumas yra nepaprastai svarbus. Vartotojai įvairiose geografinėse vietovėse, turintys skirtingą tinklo greitį ir įrenginius, tikisi sklandžios ir greitos naršymo patirties. Vienas iš svarbiausių šio tikslo pasiekimo aspektų yra jūsų frontend išteklių – pirmiausia vaizdų ir šriftų – optimizavimas. Šiame išsamiame vadove bus nagrinėjami metodai ir strategijos, kuriuos galite panaudoti, kad jūsų svetainė būtų įkeliama greitai ir efektyviai, nepriklausomai nuo to, kur yra jūsų naudotojai.
Frontend išteklių optimizavimo svarba
Kodėl frontend išteklių optimizavimas yra toks svarbus? Atsakymas slypi naudotojo patirtyje. Lėtai įkeliami tinklalapiai lemia:
- Aukštesnį atmetimo rodiklį: Naudotojai yra nekantrūs. Jei jūsų svetainė neįkeliama greitai, jie greičiausiai išeis.
- Mažesnį įsitraukimą: Lėta svetainė mažina naudotojų pasitenkinimą ir sumažina tikimybę, kad naudotojai bendraus su jūsų turiniu.
- Prastesnes paieškos variklio reitingų pozicijas: Paieškos sistemos, tokios kaip Google, teikia pirmenybę greitai įkeliamoms svetainėms, apdovanodamos jas aukštesniais reitingais.
- Neigiamą prekės ženklo suvokimą: Lėta svetainė gali sukurti neigiamą įspūdį apie jūsų prekės ženklą, ypač naudotojams, kurie yra įpratę prie greitos ir reaguojančios žiniatinklio patirties.
Vaizdai ir šriftai dažnai labiausiai prisideda prie puslapio svorio. Optimizuojant juos galima žymiai sumažinti įkėlimo laiką, pagerinant bendrą svetainės našumą ir naudotojų pasitenkinimą.
Vaizdų optimizavimas: gilus panardinimas
Vaizdai yra būtini vizualiai patrauklioms svetainėms, tačiau jie taip pat gali būti reikšminga našumo kliūtis, jei nėra tinkamai optimizuoti. Štai pagrindinių vaizdų optimizavimo metodų apžvalga:
1. Tinkamo vaizdo formato pasirinkimas
Tinkamo vaizdo formato pasirinkimas yra pirmasis žingsnis siekiant efektyvaus optimizavimo. Štai dažniausiai naudojamų formatų palyginimas:- JPEG: Tinka nuotraukoms ir sudėtingiems vaizdams su daugybe spalvų. JPEG naudoja glaudinimą su nuostoliais, o tai reiškia, kad dalis vaizdo duomenų yra pašalinama, siekiant sumažinti failo dydį. Eksperimentuokite su skirtingais glaudinimo lygiais, kad rastumėte geriausią pusiausvyrą tarp failo dydžio ir vaizdo kokybės.
- PNG: Idealus vaizdams su aštriomis linijomis, tekstu, logotipais ir grafikais, kuriems reikalingas skaidrumas. PNG naudoja glaudinimą be nuostolių, išsaugant vaizdo kokybę, bet dažnai sukuria didesnius failų dydžius nei JPEG.
- WebP: Šiuolaikinis vaizdo formatas, sukurtas Google, kuris siūlo aukštesnį glaudinimą ir vaizdo kokybę, palyginti su JPEG ir PNG. WebP palaiko ir glaudinimą su nuostoliais, ir glaudinimą be nuostolių, taip pat animaciją ir skaidrumą. Užtikrinkite naršyklės suderinamumą, pateikdami atsargines parinktis (JPEG arba PNG) naršyklėms, kurios nepalaiko WebP.
- AVIF: Naujos kartos vaizdo formatas, kuris siūlo dar geresnį glaudinimą nei WebP, todėl failų dydžiai yra mažesni, o vaizdo kokybė panaši. AVIF yra palyginti naujas, todėl naršyklių palaikymas gali būti ribotas. Pateikite atsargines parinktis senesnėms naršyklėms.
- SVG: Vektorinis formatas, idealus logotipams, piktogramoms ir iliustracijoms, kuriuos reikia keisti be kokybės praradimo. SVG failų dydžiai paprastai yra daug mažesni nei rastrinių vaizdų (JPEG, PNG, WebP) ir yra labai keičiami.
Pavyzdys: Eifelio bokšto nuotrauką geriausia išsaugoti kaip JPEG, o įmonės logotipą – kaip SVG arba PNG.
2. Vaizdų glaudinimas
Vaizdų glaudinimas sumažina failo dydį, nedarant didelio poveikio vaizdo kokybei. Yra du pagrindiniai glaudinimo tipai:
- Glaudinimas su nuostoliais: Pašalina dalį vaizdo duomenų, kad būtų pasiekti mažesni failų dydžiai. JPEG naudoja glaudinimą su nuostoliais.
- Glaudinimas be nuostolių: Sumažina failo dydį neprarandant jokių vaizdo duomenų. PNG naudoja glaudinimą be nuostolių.
Yra daug įrankių, skirtų vaizdams glaudinti:
- Internetiniai įrankiai: TinyPNG, ImageOptim, Squoosh.
- Stalinės programos: Adobe Photoshop, GIMP.
- Konstravimo įrankiai ir užduočių vykdyklės: imagemin (su įvairių vaizdo formatų papildiniais), skirtas naudoti su Webpack, Gulp arba Grunt.
Pavyzdys: Naudojant TinyPNG PNG vaizdui glaudinti, dažnai galima sumažinti jo failo dydį 50–70 % be pastebimo kokybės praradimo.
3. Vaizdų dydžio keitimas
Rodant vaizdus numatytais matmenimis, yra labai svarbu. Be reikalo didelių vaizdų įkėlimas eikvoja pralaidumą ir sulėtina puslapio įkėlimo laiką. Pakeiskite vaizdų dydį į tikslius matmenis, kuriais jie bus rodomi jūsų svetainėje. Naudokite CSS, kad valdytumėte vaizdų matmenis, kad būtų reaguojama, bet įsitikinkite, kad šaltinio vaizdas nėra žymiai didesnis nei reikia.
Pavyzdys: Jei vaizdas bus rodomas 500x300 pikselių dydžio, pakeiskite jo dydį į šiuos matmenis prieš įkeldami jį į savo serverį.
4. Reaguojantys vaizdai
Reaguojantys vaizdai prisitaiko prie skirtingų ekrano dydžių ir raiškų, užtikrindami optimalią peržiūros patirtį įvairiuose įrenginiuose. Elementas <picture>
ir atributo srcset
elemento <img>
leidžia nurodyti skirtingus vaizdo šaltinius skirtingiems ekrano dydžiams.
Pavyzdys:
<picture>
<source media="(max-width: 600px)" srcset="image-small.jpg">
<source media="(max-width: 1200px)" srcset="image-medium.jpg">
<img src="image-large.jpg" alt="Mano vaizdas">
</picture>
Šiame pavyzdyje naršyklė pasirinks tinkamą vaizdą pagal ekrano plotį. Elementas <img>
pateikia atsarginę parinktį naršyklėms, kurios nepalaiko elemento <picture>
.
Pavyzdys naudojant srcset:
<img srcset="image-small.jpg 480w, image-medium.jpg 800w, image-large.jpg 1200w" sizes="(max-width: 600px) 480px, (max-width: 1200px) 800px, 1200px" src="image-large.jpg" alt="Mano vaizdas">
Atributas srcset
išvardija skirtingus vaizdo šaltinius su atitinkamais pločiais (pvz., image-small.jpg 480w
). Atributas sizes
nurodo vaizdo dydį skirtingais ekrano pločiais. Naršyklė naudoja šią informaciją, kad pasirinktų tinkamiausią vaizdą.
5. Tingus įkėlimas
Tingus įkėlimas atideda vaizdų įkėlimą, kol jie tampa matomi peržiūros srityje, pagerindamas pradinį puslapio įkėlimo laiką. Tai ypač naudinga svetainėms, kuriose yra daug vaizdų po perlenkimu (t. y. vaizdų, kurie nėra iš karto matomi, kai įkeliamas puslapis).
Galite įdiegti tingų įkėlimą naudodami JavaScript bibliotekas arba gimtąjį atributą loading="lazy"
:
Pavyzdys naudojant loading atributą:
<img src="image.jpg" alt="Mano vaizdas" loading="lazy">
Pavyzdys naudojant JavaScript (Intersection Observer API):
const images = document.querySelectorAll('img[data-src]');
const observer = new IntersectionObserver((entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const img = entry.target;
img.src = img.dataset.src;
img.removeAttribute('data-src');
observer.unobserve(img);
}
});
});
images.forEach(img => {
observer.observe(img);
});
Šis JavaScript kodas naudoja Intersection Observer API, kad aptiktų, kada vaizdas patenka į peržiūros sritį, ir tada įkelia vaizdą.
6. Vaizdų pristatymo optimizavimas naudojant CDN
Turinio pristatymo tinklai (CDN) saugo jūsų svetainės išteklių kopijas serveriuose, esančiuose visame pasaulyje. Kai naudotojas paprašo vaizdo, CDN jį pristato iš serverio, esančio arčiausiai jo vietos, sumažindamas delsą ir pagerindamas įkėlimo greitį.
Populiarūs CDN teikėjai yra:
- Cloudflare
- Amazon CloudFront
- Akamai
- Fastly
Daugelis CDN taip pat siūlo vaizdų optimizavimo funkcijas, tokias kaip automatinis vaizdų dydžio keitimas ir glaudinimas.
7. Vaizdų optimizavimas skirtingiems regionams
Optimizuodami vaizdus, atsižvelkite į tinklo infrastruktūrą ir įrenginių naudojimą skirtinguose regionuose. Pavyzdžiui, naudotojams regionuose, kuriuose interneto greitis yra lėtesnis, gali būti naudingesnis agresyvesnis vaizdų glaudinimas.
Pavyzdys: Pateikite mažesnės raiškos vaizdus naudotojams regionuose, kuriuose daugiausia naudojami 2G/3G tinklai.
Šriftų optimizavimas: tipografijos ir našumo gerinimas
Šriftai vaidina lemiamą vaidmenį kuriant svetainės dizainą ir skaitomumą. Tačiau tinkinti šriftai gali žymiai paveikti puslapio įkėlimo laiką, jei nėra tinkamai optimizuoti. Štai kaip optimizuoti šriftus, kad naudotojo patirtis būtų geresnė:
1. Tinkamo šrifto formato pasirinkimas
Skirtingi šriftų formatai siūlo skirtingą glaudinimo lygį ir naršyklės palaikymą. Štai dažniausiai naudojami šriftų formatai:
- WOFF (Web Open Font Format): Plačiai palaikomas šiuolaikinių naršyklių ir siūlo gerą glaudinimą.
- WOFF2: Rekomenduojamas šriftų formatas šiuolaikinėms naršyklėms, siūlantis aukštesnį glaudinimą, palyginti su WOFF.
- TTF (TrueType Font): Senesnis formatas, kurį vis dar palaiko kai kurios naršyklės. Jis paprastai turi didesnius failų dydžius nei WOFF ir WOFF2.
- OTF (OpenType Font): Panašus į TTF, bet siūlo pažangesnes tipografines funkcijas. Jis taip pat paprastai turi didesnius failų dydžius nei WOFF ir WOFF2.
- EOT (Embedded Open Type): Senesnis formatas, kuris pirmiausia buvo naudojamas Internet Explorer. Jo nebepatariama naudoti.
Rekomendacija: Naudokite WOFF2 šiuolaikinėms naršyklėms ir pateikite WOFF kaip atsarginę parinktį senesnėms naršyklėms.
2. Šriftų poaibis
Šriftų poaibis sumažina jūsų šriftų failo dydį, įtraukiant tik tuos simbolius, kurie naudojami jūsų svetainėje. Tai ypač naudinga kalboms su dideliais simbolių rinkiniais, tokioms kaip kinų, japonų ir korėjiečių.
Šriftų poaibiui galima naudoti tokius įrankius kaip Font Squirrel's Webfont Generator ir Transfonter.
Pavyzdys: Jei jūsų svetainėje naudojami tik lotyniški simboliai, šriftų poaibio sudarymas, kad būtų įtraukti tik šie simboliai, gali žymiai sumažinti jų failo dydį.
3. Žiniatinklio šriftų įkėlimo strategijos
Kaip įkeliate savo žiniatinklio šriftus, gali žymiai paveikti suvokiamą jūsų svetainės našumą. Štai kelios strategijos, kurias reikia apsvarstyti:
- Šriftų įkėlimo API: Šriftų įkėlimo API leidžia valdyti žiniatinklio šriftų įkėlimą ir atvaizdavimą. Galite naudoti jį norėdami aptikti, kada šriftas buvo įkeltas, ir tada rodyti tekstą.
font-display
savybė: Savybėfont-display
leidžia valdyti, kaip naršyklė atvaizduoja tekstą, kai įkeliamas žiniatinklio šriftas. Ji siūlo kelias parinktis:auto
: Naršyklė naudoja numatytąjį šriftų įkėlimo elgesį.block
: Naršyklė slepia tekstą, kol šriftas neįkeltas (FOIT – Flash of Invisible Text).swap
: Naršyklė rodo tekstą atsarginiu šriftu ir tada perjungia į žiniatinklio šriftą, kai jis įkeliamas (FOUT – Flash of Unstyled Text).fallback
: Naršyklė rodo tekstą atsarginiu šriftu trumpą laiką ir tada perjungia į žiniatinklio šriftą, jei jis buvo įkeltas. Jei šriftas neįkeltas po tam tikro laikotarpio, naudojamas atsarginis šriftas.optional
: Panašus į 'fallback', bet leidžia naršyklei nuspręsti, ar atsisiųsti šriftą, atsižvelgiant į naudotojo ryšio greitį.
- Šriftų išankstinis įkėlimas: Šriftų išankstinis įkėlimas nurodo naršyklei atsisiųsti juos kuo anksčiau. Tai gali pagerinti suvokiamą našumą, sumažinant laiką, per kurį įkeliami šriftai. Norėdami iš anksto įkelti šriftus, naudokite žymą
<link rel="preload">
:
Šrifto išankstinio įkėlimo pavyzdys:
<link rel="preload" href="myfont.woff2" as="font" type="font/woff2" crossorigin>
font-display naudojimo CSS pavyzdys:
@font-face {
font-family: 'MyFont';
src: url('myfont.woff2') format('woff2'),
url('myfont.woff') format('woff');
font-weight: normal;
font-style: normal;
font-display: swap;
}
Šiame pavyzdyje naudojama reikšmė swap
savybei font-display
, o tai reiškia, kad naršyklė rodys tekstą atsarginiu šriftu, kol bus įkeltas žiniatinklio šriftas.
4. Savarankiškas šriftų talpinimas
Nors naudoti šriftų paslaugas, tokias kaip Google Fonts, yra patogu, savarankiškas šriftų talpinimas gali suteikti daugiau kontrolės našumui ir privatumui. Kai savarankiškai talpinate savo šriftus, galite juos optimizuoti specialiai savo svetainei ir išvengti priklausomybės nuo trečiųjų šalių serverių.
5. Sistemos šriftų naudojimas
Apsvarstykite galimybę naudoti sistemos šriftus (šriftus, kurie yra iš anksto įdiegti naudotojo operacinėje sistemoje) pagrindiniam tekstui. Tai pašalina poreikį atsisiųsti bet kokius šriftus, todėl puslapis įkeliamas greičiau. Tačiau sistemos šriftai gali skirtis skirtingose operacinėse sistemose, todėl pasirinkite šriftus, kurie yra plačiai prieinami.6. Šriftų optimizavimas skirtingoms kalboms
Skirtingoms kalboms reikia skirtingų simbolių rinkinių. Pasirinkite šriftus, kurie palaiko kalbas, naudojamas jūsų svetainėje. Kalboms su sudėtingais raštais (pvz., kinų, japonų, korėjiečių, arabų) apsvarstykite galimybę naudoti specializuotus šriftus, kurie yra optimizuoti šioms kalboms.
Įrankiai ir ištekliai, skirti Frontend išteklių optimizavimui
Yra daug įrankių ir išteklių, kurie gali padėti optimizuoti jūsų frontend išteklius:- Google PageSpeed Insights: Analizuoja jūsų svetainės našumą ir pateikia rekomendacijas, kaip jį pagerinti.
- WebPageTest: Galingas įrankis, skirtas patikrinti svetainės našumą iš skirtingų vietų ir įrenginių.
- Lighthouse: Atvirojo kodo, automatizuotas įrankis, skirtas pagerinti tinklalapių kokybę. Jis turi auditus našumui, prieinamumui, progresyvioms žiniatinklio programoms, SEO ir kt.
- GTmetrix: Kitas populiarus svetainės našumo testavimo įrankis.
- Webpack, Parcel ir kiti paketų rinkėjai: šie įrankiai dažnai pateikia papildinius arba konfigūracijas, leidžiančias optimizuoti vaizdus ir šriftus kūrimo proceso metu.
Išvada: nuolatinis optimizavimas pasaulinei auditorijai
Frontend išteklių optimizavimas yra nuolatinis procesas, kuriam reikia nuolatinio stebėjimo ir tobulinimo. Įgyvendindami šiame vadove aprašytus metodus ir strategijas, galite žymiai pagerinti savo svetainės našumą, pagerinti naudotojo patirtį ir efektyviai pasiekti pasaulinę auditoriją.
Nepamirškite:
- Reguliariai audituokite savo svetainės našumą.
- Sekite naujausius optimizavimo metodus.
- Išbandykite savo svetainę skirtinguose įrenginiuose ir naršyklėse.
- Suteikite naudotojo patirčiai pirmenybę prieš visa kita.
Laikydamiesi šių principų, galite užtikrinti, kad jūsų svetainė išliks greita, prieinama ir patraukli naudotojams visame pasaulyje.