Ako na vašim veb sajtovima imate probleme performansi i loše vreme odgovora, primenite sledeći postupak da biste razrešili ta pitanja i usrećili svoje korisnike. Probleme koji obično dovode do sporih odgovora i smanjenja performansi na veb sajtu mogu da vam otkriju alatke kao što su Google Developers Chrome DevTools, Web Page Analyzer – 0.98 i Pingdom Website Speed Test. Pošto dijagnostičke alatke uoče probleme, treba da znate kako da ih razrešite. U ovom članku, navodim uobičajene resurse, objekte, elemente, fajlove i druge probleme koji dovode do loših performansi veb sajtova ili do lošeg vremena odgovora, a zatim opisujem kako da ih eliminišete ili bar da umanjite njihov uticaj.
Imajte na umu da uvek želite da vaš veb sajt bude dostupan što većem broju korisnika, ali mada to može da zvuči arhaično, mnogi korisnici još uvek za pristup Internetu koriste veze sa modemima od 56Kb/s. Ciljevi i pragovi za optimizaciju trebalo bi da se zasnivaju na standardima koji omogućavaju najbrže vreme učitavanja na najsporijim korisničkim vezama.
Unapredite korišćenje mreže na svom veb sajtu
Za niže navedene stavke poznato je da obično izazivaju probleme u korišćenju mreža na veb sajtovima, pa će ovi predlozi pomoći da se ta poznata uska grla svedu na minimum.
Kolačići: Mada su kolačići veoma korisne alatke za veb sajt, za njih se zna da mogu da produže vreme odgovora. Oprobane tehnike za rad sa kolačićima su:
- Svedite veličinu fajla kolačića na najmanju moguću meru — 3000 bajtova (ili manje) ako je moguće.
- Eliminišite kolačiće koji nisu neophodni, postavite ih na odgovarajući nivo domena i zatim služite statičan sadržaj iz domena koji ne šalje kolačiće.
Slike: Slike za veb sajt treba optimizovati primenom sledećih smernica:
- CSS sprajtove ugradite tako da što više slika grupišete u jedan fajl, a zatim ih pozicionirate u CSS, jer to pomaže da se smanji broj zahteva.
- URI za podatke predstavlja način za inlajn uključivanje podataka, pa se omogućava da se normalno zasebni elementi kao što su slike i liste stilova pozivaju jednim samim HTTP zahtevom umesto sa više HTTP zahteva.
- Navedite širinu i visinu u kodu i to stvarne dimenzije slike; menjanje veličine slika koje su veće od kodiranih dimenzija traje duže prilikom renderovanja.
Ukupna veličina HTML fajlova: Zadržite ukupnu veličinu HTML fajlova ispod 50K kako bi vreme učitavanja bilo što kraće i da bi vreme odgovora bilo manje od 10 sekundi za konekcije od 56K.
Ukupan broj objekata: Trudite se da ukupan broj objekata na svakom HTML dokumentu veb stranice bude manji od 20. Što je veći ukupan broj objekata očekuje se veće kašnjenje, što će usporiti vreme odgovora. Dodatno opterećenje objekata je razlog za više od 80% svih pitanja kašnjenja cele stranice.
Ukupna veličina objekata: Trudite se da ukupna veličina fajlova veb stranice bude 100K ili manje, pa ćete obezbediti da vreme učitavanja i odgovora bude manje od 20 sekundi za konekcije od 56K.
Poboljšanje performansi veb stranica
Sledeće stvari će pomoći da se poboljša vreme učitavanja i odgovora vaših veb stranica, a vašim posetiocima se omogući bolji onlajn doživljaj.
- Optimizujte redosled CSS i skript fajlova: Obratite pažnju da pozivi linkovanja eksternih CSS fajlova budu paralelni i da budu uključeni u element . Inlajn stajlovanje unutar elementa takođe usporava renderovanje, zato pazite da sav CSS bude u eksternim CSS fajlovima. Sve skript fajlove bi trebalo postaviti na dno elementa neposredno ispred završne oznake ; to će omogućiti progresivno prikazivanje sadržaja veb stranice.
- Uklonite neiskorišćena CSS pravila: CSS pravila koja veb stranica ne koristi predstavljaju nepotrebno opterećenje, koje mora da se učitava pre učitavanja svakog sadržaja.
- Ukupna broj i veličina CSS fajlova: Kombinovanje svih CSS-ova u jedan fajl i minimizovanje CSS-a može mnogo da doprinese optimizovanju vremena učitavanja stilova. Kombinovanje, refaktorisanje, minimizovanje i GZIP kompresija predstavljaju dobre načine da se optimizuje CSS.
- Ukupan broj i veličina skript fajlova: Znam da je to za neke implementacije lakše reći nego uraditi, ali pokušajte da kombinujete svoje skript