Hostings

Statiskā lapas satura ielāde – ieteikumi labākiem rezultātiem

Ātrāka labas darbība nozīmē apmierinātus lietotājus. Ja lapas apmeklētājam lapas ielāde liksies pārāk ilga, var zust motivācija to apskatīt, rezultātā lapa nepilda savu mērķi. Rezultātā klienta problēma kļūst par mūsu problēmu, kuru nevar ignorēt, tādēļ ir vērts apskatīt iespējas mājas lapas ātrdarbības uzlabošanai. Daudziem speciālistiem šīs lietas ir zināmas, tomēr varbūt ne tik bieži izmantotas dažādu iemeslu dēļ – nav laika, projekta resursi ir ierobežoti, tomēr, ja gribas un ir motivācija sasniegt labākus rezultātus, ir vērts pacīnīties un optimizēt lietas. Lapas ātrdarbība ir ļoti nozīmīgs lietojamības faktors, neviens nevēlas gaidīt un neviens nevēlas papildus servera slodzi vai pat dīkstāvi neoptimizētas lapas dēļ. Zemāk ir uzskaitīta tikai daļa no iespējām, kuras var darīt  – lai šis raksts kalpo kā iedvesmas avots turpināt rakt dziļāk un pilnveidoties.

Samazināt servera pieprasījumu skaitu

Pārlūkprogrammām ir ierobežots skaits ar vienlaicīgām ielādēm no viena domēna, katrai programmai tas ir savs, bet aptuveni 5-8 vienlaicīgas ielādes. Tādēļ ir svarīgi samazināt kopējo pieprasījumu skaitu, piemēram, sakombinēt vairākus CSS, Javascript failus vienā, mazos dizaina failus salikt vienā attēlā (CSS sprite). Šādā veidā var ievērojami samazināt pieprasījumu skaitu uz serveri, piemēram, dizainam 20 pieprasījumu vietā izmantot vienu css sprite. Lai arī daudziem web izstrādātājiem šis jau ir izveidojies kā standarts un norma, arvien Latvijas web produktos ir redzamas, ka lapas ielāde ir lēna tieši šī iemesla dēļ.

Pieprasījumi atbilstoši vajadzībām

Profesionāls web izstrādātājs padomās par lietotāju un patērēs mazliet vairāk laika, lai paredzētu dažādus scenārijus, lai samazinātu situācijas, ka nevajadzīgas lietas tiek ielādētas vienmēr. Piemēram, ja vienā lapas sadaļā tiek izmantota “smaga” funkctionalitāte, kura prasa papildus failu ielādi, piemēram, masīvs javascript, tad to nevajag ievietot visas lapas headerī vai ielādēt mobilām ierīcēm saturu/failus, kurus tās nekad neredzēs vai neizmantos. Vienkārša pamatlieta, tomēr bieži vien lapas ir bremzējošas tieši šī iemesla dēļ – nepārdomāta failu ielāde.

Samazināt faila izmērus

Samazināt izmērus vai apvienot vairākus failus vienā arī ir bieži neizmantota iespēja – papildus nākas uzturēt nesaspiestās failu versijas, tomēr mūsdienās ir pietiekami daudz iespēju šo procesu automatizēt, lai nebūtu jāveido samazinātas versijas pašiem. Savukārt satura veidotājiem iemācīt veidot atbilstoša izmēra attēlus (nelikt 200x200px bildes vietā tikko no fotoaparāta ielādētu 4 mega pikseļu bildi 3mb izmērā) un nesaglabāt tos 99 jpg kvalitātē, bet izmantot 82-86 kvalitātes robežās, savukārt faila izmērs samazināsies 2-3 reizes. Mazāks faila izmērs nozīmē mazāk aizņemtas vietas uz servera un ātrāka failu ielāde klientam. TinyPng serviss noderēs gan PNG, gan JPG failu samazināšanai, nemainot paša attēla izmērus, piemēram, failus bieži vien var samazināt par 10-20%. Šis serviss ir bez maksas.

Attēlu optimizācijai varat izmantot arī bezmaksas attēlu kompresora rīku: https://www.websiteplanet.com/webtools/imagecompressor

Ar to ir ērti ielādēt vairākus attēlus un kompresēt PNG attēlus. Testējot šo rīku redzēju, ka atsevišķos gadījumos var samazināt izmēru līdz pat 90%. 

Paralēlas ielādes

Kad ir samazināts pieprasījumu skaits, nākamais solis ir izlemt, kā organizēt pārējo failu ielādi. Lai iespējotu vienlaicīgu datu ielādi, vēlams izmantot 2-3 statiskā satura domēnus, piemēram, s1.lapa-static.lv, s2.lapa-static.lv utml. Visiem domēniem piesaiste ir vienai statiskā satura mapei. Vislabāk ir izmantot atšķirīgu domēnu statiskajam saturam kā tas ir pamatlapai, piemēram, iegādāties .lv vai .com domēnu. Tas veic tehnisku uzdevumu un tādēļ nav tik svarīgs, tomēr lietotāji, kuri pamanīs satura ielādi no savāda domēna varētu samulst, tādēļ ieteiktu izmantot firmas vārdu ar papildinājumu galā un lv domēnu, tomēr šis faktors nav kritisks.

Cookieless domēni

Ja vēlas izveidot un uzturēt statiskā satura ielādes domēnus pašus, tad serveris ir jākonfigurē tā, lai nebūtu papildus cookies (cepumiņi) pie failu ielādes. Tie paši par sevi nav lieli faila izmēros, tomēr palielina faila izmēru. Labā prakse ir izmantot cookieless domēnu, šo kā standartu piedāvā statiskā satura piegādes servisi (CDN) kā CDN77, MaxCDN u.c. Sīkāku izklāstu var lasīt daudzajos Google rakstos par šo tēmu, savukārt īsam ieskatam var apskatīt šo rakstu Symkat blogā “Cookieless domains“.

Cache uzstādījumi

Failiem, kuri mainās reti (pamatdizains, javascript bibliotēkas..) ir vēlams uzstādīt ilgāku cache ilgumu, lai tas saglabājas lietotāja pārlūkprogrammā un netiek atkārtoti pieprasīts. Tādā veidā paātrināsies lapas darbības ātrums. Jāatceras, ka pirms lielāku izmaiņu veikšanas šo cache funkciju vajag ievērojami samazināt, lai novērstu, ka daļa klientu redz neatbilstošu saturu – iekešojies vecais, statiskais saturs un jaunais dinamiskais saturs, kopā veidojot neatbilstošu mājas lapu. Vairāk informāciju par failu caching meklējiet Google meklētājā.

Satura piegādes servisi (CDN)

CDN darbības shēma
CDN darbības shēma ar CDN serveru punktiem – attēls no Webasyst.com

Daļu no šīm minētajām lietām risina CDN servisi jeb Content delivery networks. Tie ir ģeogrāfiski dažādās vietās izvietoti serveri, kuros ir izvietotas statisko failu kopijas. Sistēma automātiski nosaka ģeogrāfiski tuvāko punktu (attiecīgi ātrāko pieslēgumu), no kura ielādēt vajadzīgos failus. Iesaku izvēlēties pārbaudītus risinājumus, kuri piedāvā serverus (nodes) visā pasaulē – CDN77, MaxCDN, CloudFlare. No dārgākiem servisiem – Amazon Cloudfront. Pats par labāko esmu atzinis Bunny.net, jo globālai pieejai tas visvairāk nosedz pasauli un var atbilstoši pieslēgt/atslēgt vajadzīgos punktus (valstis). Izmaksas ir draudzīgas un monitorings ir caurspīdīgs, serviss attīstās un visu šo daudzo gadu laikā tikai viena lielāka aizķeršanās viņiem ir notikusi. Noteikti daudz draudzīgāks par Amazon CDN.

Javascript bibliotēkas un Google CDN

Pasaulē populāru statiskos failus kā dažādas Javascript bibliotēkas (Jquery u.c.) ir izvietotas uz bezmaksas Google CDN, kur to var izmantot arī citi lietotāji. Rezultātā ir lielāka iespēja, ka lietotājam jau būs šī smagnējā bibliotēka ielādēta un nenāksies to atkārtoti ielādēt, rezultātā lapas ātrdarbība vairāk vai mazāk ir uzlabota. Ja tiek izmantota vienmēr aktuālā bibliotēkas versija, ir jāseko līdzi, lai lapa darbotos vienmēr darbotos ar atjaunotu versiju, tādēļ ir labāk izvēlēties failu, kuram ir noteikta versija un tas nemainīsies. Šādā gadījumā mazinās iespējamība, ka lietotājs jau konkrēto failu būs ielādējis kaut kur citur.

Noderīgi rīki

Internetā ir atrodami dažādi mājas lapas optimizācijas novērtējuma rīki, kas ļauj novērtēt mājas lapas darbību, norādīs faktoriem, kas varētu tikt uzlaboti. Ikdienas darbā noderīgi ir pārlūkprogrammu Firefox/Chrome/Safari spraudņi kā FireBug, YSLow, PageSpeed, Web developer toolbar , kas ļauj padarīt lapas ielādi caurspīdīgāku un novērtēt iespējamos uzlabojumus.

Kopsavilkuma vietā

Kā redzams augstāk minētājos padomos, dažkārt lapas ātrdarbību uzlabot ir salīdzinoši vienkārši, citkārt ceļš uz izcilību ir grūtāks. Tomēr jāatgādina, ka lietotājiem patīk ātras lapas un ne visiem ir optikas pieslēgums, kas ļauj lapas ielādēt ātri, tādēļ vajag iejusties lietotāja vietā un kritiski novērtēt, kā vēl varu uzlabot lapas apmeklētāja, klienta pieredzi saistībā ar mājas lapu. Šo faktoru novērtē arī Google, tādēļ lietotāju labklājība un ērtība nav tikai ieguvums pašam klientam, bet arī labāks google novērtējums. Optimizēta lapa nozīmē arī mazāku trafiku un noslodzi serverim, īpaši svarīgi tas ir lielākām lapām vai sistēmām, kura darbojas ar nepietiekamiem servera resursiem.

Pat ja Tu, lasītāj, pats neesi web izstrādātājs, tad ir vērts šo saiti aizsūtīt savam kolēģim, sadarbības partnerim, kurš veic šos IT darbus un pavaicāt, ko mēs darām, lai uzlabotu mūsu klientu pieredzi un lapas lietojamību? Izmanto kādu no online rīkiem, lai novērtētu lapas ātrdarbību, novērtētu esošo situāciju. Ja ir nepieciešams lapas tehniskais audits, izvērtēt lapas ielādes ātruma uzlabojumus, varat pieteikties konsultācijai, rakstot e-pastā edgars@picco.media.

Digitālā mārketinga un lietotāju pieredzes eksperts. Saziņai: edgars@picco.media