Spletne trgovine se vedno bolj razvijajo z uporabo novih tehnologij in vgradnjo novih inovativnih funkcionalnosti. S tem pa narašča tudi trend njihovega počasnega delovanja. Če preverite nekaj različnih trgovin, niti ni pomembno na kateri platformi so - pri večini je nalaganje, še posebej na mobilnih napravah, velika težava. Ko sem naključno testiral 10 trgovin, sem opazil, da se vse na mobilniku nalagajo več kot 3 sekunde. Za skrb vzbujajoče je predvsem to, ker je pri večini nalaganje bližje desetim sekundam.
Zakaj je nalaganje spletne trgovine nad 3 sekunde problematično?
Če pogledamo različne analize, se je po testih pokazalo, da vse, kar je nad tem časom, precej zmanjša število obiskanih strani in skrajša čas, ki ga obiskovalci preživijo na strani. Posledično to vpliva tudi na konverzijo oz. število nakupov.
Zakaj prihaja do težav počasnega nalaganja?
Trgovci si vedno želijo dodati dodatne module in servise na trgovine, ki služijo izboljšanju prodaje, vse od servisov za vodenje statistike obiska do optimizacije oglaševanja, pa tudi modulov za prikaz mnenj uporabnikov, prednosti itd. Te dodatne storitve pogosto dodajo kodo na stran, ki se pridobi iz zunanje strani, in ko se stran nalaga, vedno čaka na odziv te zunanje strani. To lahko povzroči zakasnitve ali velik obseg dodatne kode, kar podaljša čas do prikaza strani. Več kot je kode, dlje časa bo trajalo do prikaza strani.
Medtem ko nekateri moduli, ki prikazujejo osnovne prednosti na strani, ne upoštevajo vpliva na hitrost strani, so lahko slike, ki jih dodajo, velike in neoptimizirane. Na primer, ena slika prednosti je bila v nekem primeru velika skoraj 3 MB, kar pomeni, da se je čas izvajanja povečal za celo sekundo samo zaradi te slike. Večini trgovcev ni mar za nadzorovanje vsake posamezne slike, kar je skoraj nemogoče ob veliki količini vsebin. Problem je tudi v tem, da večina trgovcev, ko dodajo funkcionalnosti, gleda stran na hitri povezavi ali že predpomnjeno stran v brskalniku.
Kako lahko poskrbimo, da dodatne funkcionalnosti ne vplivajo negativno na delovanje trgovine?
Za primer slik je edina pametna rešitev dobro optimizirana funkcionalnost. Na primer, pri prikazu slik se lahko doda avtomatsko pomanjšanje slik in pretvorba v sodoben format, kot je na primer WebP. Slike se lahko tudi nalagajo šele, ko so v vidnem polju. Če imamo prednosti pod opisom izdelka, ta del strani pogosto ni takoj viden ob odprtju strani, zato bi lahko sprožili nalaganje šele, ko se obiskovalec pomakne nižje, kjer je ta del viden.
To pomeni, da moramo pri razvoju funkcionalnosti vedno preveriti, kako vplivajo na delovanje strani, tudi če gre le za preprosto stvar, kot je prikaz prednosti.
Marsikdo morda razmišlja, da se raje ne bo vključeval v razvoj funkcionalnosti, ampak bo kupil modul, ki že ima vse narejeno in na tisoče uporabnikov z odličnimi ocenami. Vendar pa to pogosto predstavlja še večji problem.
Funkcionalnosti, ki so že narejene, so ponavadi polne dodatnih funkcij, da zadovoljijo različne potrebe in omogočijo prilagodljivost. Problem pri tem je, da mora biti narejenih veliko funkcionalnosti, ki pokrivajo številne potrebe, in to lahko povzroči dodaten obseg kode, kar podaljša čas nalaganja strani. Ni problem samo v kodi, ki se izvaja v ozadju, ampak tudi v stilih in knjižnicah, ki jih vključujejo. Včasih se namesto nekaj vrstic stilov naloži na tisoče vrstic kode. Če imamo naročnino na funkcionalnosti v trgovini, je lahko težko kaj spremeniti za izboljšanje delovanja. Razvijalec morda ne bo spreminjal celotnega modula samo za eno stranko.
Kaj pa, če kupimo modul, ki izboljša hitrost spletne trgovine?
Če je trgovina že v osnovi slabo narejena, bo takšen modul zagotovo pomagal, vendar je izboljšanje pogosto le začasno. Modul lahko izboljša en del strani, vendar lahko poslabša drugega. Izboljšanje hitrosti trgovine morda ne bo popolno. Lahko zgolj omili težavo.
Idealno delovanje je mogoče le, če se osredotočimo na vsako osnovno funkcionalnost in jo uredimo posebej, da deluje, kot mora. Če želite prihraniti stroške pri trgovini, previdno preverjajte delovanje ob vsaki spremembi, da ne boste kasneje razočarani.
Sam sem zadnji mesec večino svojega časa posvetil optimizaciji hitrosti trgovin, in mi je uspelo doseči popolno mobilno oceno 100/100 prek Google Page Speed za oba sistema, na katerih delam: Magento 2 in OpenMage (Magento 1.9). V ta namen bom kmalu objavil ugodne pakete trgovin in nekaj dodatnih modulov. Kakšen bo za stranke zagotovo brezplačen in skoraj nujen za uporabo.
Testi hitrosti so narejeni preko Google PageSpeed strani: https://pagespeed.web.dev/