Pidev juurdepääs lugematule hulgale infole ja üldine infoüleküllus on meie käitumisharjumused internetis vorminud hektiliseks ja resoluutselt selekteerivaks. Kui mõtlema hakata, siis on jahmatav kui kiirelt me infost üle libiseme ja kui lühike on me kannatus. Kui palju brauseri vahelehti on korraga avatud ja kui kiirelt me lehti, mis pole asjakohased või on aeglased, sulgeme.
E-kommerts ei ole kuidagi erandlik ja kliendid lehitsevad tooteid täpselt sama moodi kiirelt sirvides. Esialgu on idee mida tahetakse või eksisteerib vajadus mida täita. Seejärel tehakse eeltööd sobiva toote leidmiseks. Kui otsus tehtud ja valikud selged, siis kliendi eesmärk on valitud tooted nii-öelda “kotti pista”. Ja viimane samm tahtmise ja ihaldusväärse omamise vahel on tellimuse edukas esitamine.
Lehe laadimise kiirust märgatakse esimest korda värskelt lehele tulles. Kuid kõige rohkem mängib kiirus rolli tellimuse tegemisel. Klient pettub kui miski on tellimuse esitamisel takistuseks või ei saa nad sootuks oma soovi täidetud. Kuid ka vihastamine pole välistatud! Seega üleüldiselt aglane e-pood ja veniv ostuvormistamine on suuresti pettumuse põhjuseks. Ja see pettumus on väga tihti püsiv.
Kainestavalt mõjuvat statistikat kiiruse kohta:
- 0.1 sekundi peal tunneb kasutaja, et veebileht reageerib ta toimingutele ja kuvab tulemusi koheselt.
- 1.0 sekundi pealt märkab kasutaja viivitust, kuigi tähelepanu ja fookus ei ole veel häiritud
- 10 sekundit on kasutaja tähelepanu limiit ja kõik üle selle võrdub tavaliselt lehelt lahkumisega
Veel statistikat kuidas kiirus konversioonimäära mõjutab:
- Iga sekund viivitust lehe laadimisel vähendab konversioonimäära 7% võrra.
- 79% kasutajatest, kes on lehe jõudluses pettunud, ei naase tõenäoliselt uuesti.
- Lehe laadimise kiiruse tõus 8 sekundilt 2 sekundile toob endaga kaasa 74% konversioonimäära tõusu.
Kiirelt saab selgeks, et aeglane veebileht tähendab väiksemaid müüginumbreid, suurenenud kulu ja kahju brändi mainele.
2 sekundit on hea verstapost, mis külastajatele talutav ja kõik üle selle halvab tulu. Kui kliendil on ajaga kitsas siis taluvuse piir on madalam. Mobiilsel seadel aga oodatakse lehe veelgi kiiremat laadimist.
Kiiruse parandamine tavapärasel moel
Et kiirust parandada, keeratakse üldjuhul esmaselt serverile “kangust” juurde. Kui lihtsamate Magento vahemälu moodulite rakendamine ei paku kiirusele soovitud parandust, siis võetakse kasutusele Varnish Turpentine. See võib tihti aga ajaliselt väga mahukaks projektiks kujuneda. Kui sellest kõigest veel ei piisa, siis liigutakse edasi keeruliste serveri infrastruktuuride üles seadmisele - koormus-jagurid (load-balancer), erinevad serverid frontendi, backendi ja andmebaasi jaoks jms.
Näide vahemälust igapäeva kontekstis...
Kui ette antakse ülesanne 804132 jagada 6382 siis vastus pole kohene, sest enne on vaja arvutus läbi teha. Teisel korral samale tehtele vastust vajades on see aga “vahemälusse” talletatud.
Kiiruse optimeerimine lihtsamal viisil
SPA ( single page application) ehk ühe-leheküljeline rakendus on veebirakendus, mis on serveeritud ühe leheküljena. Kõik vajalik kood laetakse ühe lehe laadimisega või vajaduse põhiselt, vastavalt kasutaja tegevustele.
Vaieldamatult kõige suurem ühe-leheküljelise rakenduse eelis on lehe sirvimise kiirus, sest lehti ei laeta kunagi uuesti ja ootamise aeg on minimaalne. Seda annab võrrelda sarnase kasutuskogemusega kui töölaua rakendustel. Näiteks igapäevased ühe lehekülje rakendused, mida kasutame on Facebook, Gmail ja Google Maps.
Magento 2.x e-pood ühe-leheküljelise rakendusena
Standard lahendusena ei ole Magento peal frontend ja backend eraldatud, mille tõttu on e-poed tihti suure koormuse puhul aeglasemad, kui kasutajale eelpool mainitud 10-sekundiline taluvuspiir. Ühe-leheküljelise rakenduse puhul serveeritakse frontend aga Magento’st täiesti eraldiseisva lehena nagu tavaline HTML/CSS/Javascript leht, mis teeb lahenduse ülikiireks.
Kui külastaja viibib lehel kindlal aadressil, näiteks www.myshop.com/aadress, siis tavapäraselt laetakse vahemälu abil vaid sellel kindlal aadressil (URL) asuvad elemendid et lehte sirvida. Kui internetiühendus aga kaob, siis lehel edasi navigeerida on võimatu.
Meie ühe-leheküljelise rakenduse puhul on sama stsenaariumi puhul põhjust tulevikus põnevuseks. Nimelt arendame võimalust, kus ühenduse kadumisel saab tervet lehte edasi sirvida, nagu midagi poleks juhtunud. Näiteks kui maandusid avalehel ja jõudsid lehte sirvida, kuid internett kadus, siis saad endiselt külastada kategooria ja toote lehti. Tundub küll natuke uskumatu, kuid tõsi! Teoreetiliselt saab tahtmise korral juurde arendada ka võimaluse muuta tellimuse esitamine interneti ühendusest sõltumatuks. Selliselt saadetakse tellimuse info serverisse, siis kui ühendus taastub. Näiteks lennukis, metroos, maantel katkendliku ühendusega jms. Oluline on meie poolt märkida, et see on SPA’st veel edasiminev lahendus, ehk tavapäraselt ilma ühenduseta lehte siiski sirvida ei saa.