Rast · Srednje

Web stranica se sporo učitava: najčešći uzroci i kako ih pronaći

Većina sporih web stranica tvrtki pati od iste šačice uzroka. Prvo izmjerite, zatim prođite popis od najvjerojatnijeg uzroka do najmanje vjerojatnog, i obično ćete ga naći u jednom poslijepodnevu.

6 min čitanja

Puž koji se penje uz rub istrošene posude za cvijeće.

Fotografija: creativemz, javno dobro (CC0)

U ovom vodiču

Zašto se moja web stranica sporo učitava? Izmjerite prije nego što nagađate

„Sporo” znači različite stvari. Stranici mogu trebati tri sekunde prije nego što se išta pojavi, ili se pojavi odmah, a zatim se još deset sekundi pomiče i učitava. Rješenje je u svakom slučaju drugačije, pa je prvi korak otkriti koju vrstu sporosti imate.

Svaki preglednik ima alate koji Vam trebaju. Otvorite stranicu u privatnom prozoru (da Vaša prijava i predmemorirane datoteke ne uljepšaju rezultat), otvorite razvojne alate i pogledajte karticu Network, zatim ponovno učitajte stranicu. Vidjet ćete vodopad: svaku datoteku koju je stranica zatražila, redom, s trakom koja pokazuje koliko je svaka trajala. Dvije su brojke najvažnije.

  • Vrijeme do prvog bajta (TTFB): koliko je poslužitelju trebalo da počne odgovarati na zahtjev za samu stranicu, prvi redak vodopada. To je udio poslužitelja. Na dobro postavljenoj stranici znatno je ispod pola sekunde s istog kontinenta.
  • Vrijeme do upotrebljive stranice: kad je glavni sadržaj vidljiv i možete kliknuti na njega. Razmak između toga i prvog bajta udio je preglednika: slike, skripte, stilovi, fontovi i ugrađeni sadržaj.

Ako prvi bajt traje dvije sekunde, Vaš je problem na poslužitelju: predmemorija, hosting ili aplikacija. Ako prvi bajt stigne brzo, a stranici i dalje treba pet sekundi da se smiri, problem je u onome što stranica učitava poslije. Testirajte i s telefona na mobilnim podacima, ne samo iz ureda, i testirajte nekoliko stranica, ne samo početnu. Stranice proizvoda i kategorija često su one spore.

Osam najčešćih uzroka, po učestalosti

Kod web stranica malih i srednjih tvrtki uzroci u nastavku objašnjavaju gotovo svaku pritužbu koju vidimo, otprilike ovim redoslijedom. Idite niz popis; najvjerojatniji uzrok je na vrhu.

Uobičajeni uzroci, kako izgledaju i kako ih potvrditi
Uzrok Tipičan simptom Kako potvrditi
Nema predmemorije stranica Prvi bajt 1 do 3 sekunde na svakoj stranici Učitajte dvaput, drugo učitavanje nije brže
Prevelike slike Stranica se pojavi, slike se zatim sporo popunjavaju Slikovne datoteke od više megabajta u vodopadu
Previše dodataka i skripti Stranica se zamrzava pri pomicanju, zakašnjeli skočni prozori Deseci JavaScript datoteka, dugo vrijeme „scripting”
Spor ili prenapučen hosting Prvi bajt se tijekom dana jako mijenja Mjerite u 9:00, 14:00 i 22:00
Vanjski ugrađeni sadržaji Stranica čeka karte, videozapise, chat widgete Dugačke trake s drugih domena u vodopadu
Nepredmemorirane personalizirane stranice Stranice s prijavom ili web shopa spore, ostale brze Usporedite istu stranicu prijavljeni i odjavljeni
Nema CDN-a za udaljene posjetitelje Brzo kod kuće, sporo za kupca u inozemstvu Testirajte iz druge države ili udaljenom testnom uslugom
Napuhana baza podataka Sve je mjesecima postupno sporije Administracija spora, baza daleko veća od sadržaja

Uzroci na poslužitelju

Nema predmemorije stranica. Sustav za upravljanje sadržajem gradi svaku stranicu iz baze podataka pri svakom zahtjevu. S predmemorijom stranica poslužitelj čuva gotovu stranicu i isporučuje je bez ponovne izgradnje, što odgovor od jedne sekunde pretvara u nekoliko milisekundi. Mnoge stranice imaju instaliran dodatak za predmemoriju, ali nije uključen, ili je postavljen tako da kolačić koji postavi banner za privolu ili alat za analitiku drži svakog posjetitelja izvan predmemorije. Test je jednostavan: učitajte stranicu dvaput u privatnom prozoru. Ako drugi odgovor nije znatno brži od prvoga, djelotvorne predmemorije nema.

Spor ili prenapučen hosting. Jeftin dijeljeni hosting stavlja stotine stranica na jedan poslužitelj, pa Vaš prvi bajt ovisi o tome što rade susjedi. Ako se Vaša mjerenja tijekom dana kreću između 0,4 i 4 sekunde bez ikakve promjene s Vaše strane, usko grlo je poslužitelj. Predmemorija stranica skriva velik dio toga, ali administracija, pretraživanje i naplata i dalje trpe.

Nepredmemorirane personalizirane stranice. Web shopovi i portali ne mogu predmemorirati stranice koje prikazuju košaricu, cijenu za kupca ili ime računa, pa se te stranice svaki put grade iznova. Brze stranice drže osobni dio malim i učitavaju ga zasebno, da ostatak stranice i dalje može doći iz predmemorije. Ako su spore samo stranice s prijavom, to je uzrok, i pozornost treba sama aplikacija, a ne hosting.

Napuhana baza podataka. Godine revizija, spam komentara, isteklih sesija, dnevnika dodataka i ostataka davno uklonjenih dodataka čine bazu podataka velikom i sporom. Svaka stranica tada izvršava iste upite nad daleko više podataka. Simptom je stranica koja je pri objavi bila u redu i otada svaki mjesec malo usporava. Čišćenje i nekoliko indeksa često vrate većinu izgubljenoga.

Uzroci u pregledniku

Prevelike slike. Najčešći uzrok nakon predmemorije i najlakši za popraviti. Fotografija ravno iz fotoaparata ima 4 do 8 megabajta; stranici treba inačica od najviše nekoliko stotina kilobajta, u modernom formatu, dimenzionirana za prostor koji ispunjava. Sortirajte vodopad po veličini: ako su najveće stavke slike, smanjite ih i komprimirajte, i neka sustav za upravljanje sadržajem to od sada radi automatski za svako učitavanje.

Previše dodataka i skripti. Svaki slider, skočni prozor, feed s društvenih mreža, oznaka za praćenje i alat za obrasce dodaje JavaScript koji preglednik mora preuzeti i izvršiti prije nego što je stranica potpuno upotrebljiva. Trideset aktivnih dodataka nije neobično na stranici koja je godinama rasla, a mnogi se više ne koriste. Svaki koji uklonite čini stranicu lakšom, a održavanje sigurnosti jednostavnijim.

Vanjski ugrađeni sadržaji. Ugrađena karta, video player, chat widget ili kalendar za rezervacije učitavaju se s tuđeg poslužitelja, a Vaša stranica čeka na njih. Jedan chat widget može dodati megabajt skripti. Učitavajte takve stvari samo kad ih posjetitelj treba: prikažite statičnu sliku karte s poveznicom, video učitajte na klik, chat otvorite tek kad se stranica završi.

Nema CDN-a za udaljene posjetitelje. Ako je Vaš poslužitelj u Frankfurtu, a kupci u Lisabonu ili Varšavi, svaka datoteka putuje preko kontinenta. Mreža za isporuku sadržaja (CDN) čuva kopije Vaših slika, skripti i stilova blizu posjetitelja. Ne pomaže sporom poslužitelju, ali za tvrtku koja prodaje diljem Europe to je razlika između brzog kod kuće i brzog svugdje.

Ogledni primjer: kamo odlaze sekunde

Ogledno: sekunde pripisane svakoj skupini na jednoj stranici proizvoda, prije i poslije popravaka

Brojke su ogledne, ne mjerenja stvarne stranice, ali oblik je tipičan. Stranica proizvoda malog proizvođača trajala je ukupno 7,3 sekunde. Uključivanje predmemorije stranica skratilo je odgovor poslužitelja s 1,8 na 0,3 sekunde. Smanjivanje i komprimiranje slika, koje su bile originali iz fotoaparata, spustilo je udio slika s 2,4 na 0,6 sekundi. Uklanjanje devet nekorištenih dodataka te učitavanje karte i chat widgeta samo na zahtjev uštedjelo je većinu preostalog vremena. Stranica se sada smiri za 1,8 sekundi, a u njezinu se dizajnu ništa nije promijenilo. Tri jeftine promjene donijele su gotovo sav dobitak i nijedna nije tražila novu web stranicu.

Provjera od sat vremena koju možete napraviti sami

  • Izmjerite tri stranice u privatnom prozoru i zabilježite prvi bajt i vrijeme do upotrebljivosti svake
  • Svaku stranicu učitajte dvaput i provjerite je li drugo učitavanje znatno brže (predmemorija stranica)
  • Sortirajte vodopad po veličini i popišite svaku sliku veću od 300 kilobajta
  • Prebrojite JavaScript datoteke i domene s kojih dolaze
  • Usporedite istu stranicu prijavljeni i odjavljeni
  • Mjerite u tri različita doba dana i zabilježite koliko se prvi bajt mijenja
  • Testirajte s telefona na mobilnim podacima, a ako prodajete u inozemstvu, iz druge države
  • Popišite instalirane dodatke i označite one koje nitko ne zna objasniti

S tim bilješkama možete ili sami popraviti očite stvari ili pregledu brzine dati jasnu polaznu točku umjesto nejasne pritužbe. Ako mjerenja upućuju na poslužitelj, usporedite ono što plaćate s onim što bi managed hosting za poslovnu stranicu trebao pružiti: predmemoriju stranica koja radi, dovoljno kapaciteta u vršnim trenucima i nekoga tko prati vremena odgovora. Riješite brzinu prije redizajna, jer će novi dizajn na istim sporim temeljima razočarati na isti način.

Pitanja koja često čujemo

Prvi bajt ispod pola sekunde i upotrebljiva stranica unutar dvije do tri sekunde na normalnoj vezi razuman su cilj za stranicu tvrtke. Web shopovi i stranice s mnogo slika trebaju isti cilj i više rada da ga dosegnu.

Samo ako je poslužitelj uzrok, što Vam govori prvi bajt. Ako stranica stigne brzo, a zatim sekundama učitava slike i skripte, brži poslužitelj ne mijenja ništa.

Tražilice uzimaju u obzir brzinu učitavanja i stabilnost stranice, ali to je jedan čimbenik među mnogima. Veći je učinak na posjetitelje: ljudi napuštaju spore stranice i na njima ne ispunjavaju obrasce, kakva god pozicija bila.

Da, ako je postavljena nemarno: predmemorirana stranica može prikazati zastarjele cijene ili, još gore, podatke jednog kupca drugome. Stranice s košaricama, računima i osobnim cijenama moraju biti isključene ili razdvojene, a predmemorija se mora isprazniti kad se sadržaj promijeni.

Želite da to bude riješeno, a da to ne radite sami?

Recite nam na čemu radite. Čovjek Vam odgovara u roku od jednog radnog dana.