Svetainės greitis
5 (100%) 1 vote

Svetainės greitis

Optimizuokite puslapio kodą
Perteklinės operacijos, neefektyvios funkcijos, perteklinis puslapio kodas – visa tai yra jūsų bėda, kuri tikrai ir neabejotinai stabdys puslapio veikimą. Konkretūs sprendimai nebus pateikiami, nes tai atskiros paskaitos tema.

Optimizuokite duomenų bazę
Neteisinga duomenų bazės lentelių struktūra, indeksų nebuvimas, neoptimalios užklausos yra sekantis labai svarbus momentas optimizuojant interneto svetainę. Tai taip pat verta atskiros paskaitos ir čia aptariama nebus.

Įdiekite CACHE komponentą
Jei naudojate PHP programavimo kalbą, kuri yra interpretuojama, naudokite jau paruoštus trečiųjų šalių CACHE komponentus, kurie lengvai įsidiegia ir tikrai ženkliai pagreitina serverio darbą. Pusiau paruoštas mašininis kodas saugomas tam kad pagreitinti jo vykdymą.

Sumažinkite HTTP užklausų kiekį
Naudokite apjungtas javascript ir css stilių bylas

Naudokite CSS spraitus ir taip sumažinkite siunčiamų paveiksliukų kiekį. Apjunkite fono paveiksliukus viename ir naudokite CSS background-image ir background-position savybes vaizduodami paveiksliukus.

Naudokite image maps apjungti paveiksliukams viename, gal vietos ir nelabai sutaupysite, tačiau kreipinių kiekį sumažinsite.

Naudokite „data: URL scheme“ ir paveiksliukus įterpkite į kodą, tai padidins HTML kodą, tačiau vėl gi sumažins kreipinių kiekį.

Naudokite Expires arba Cache-Control antraštes
Statiniams komponentams naudokite ilgą galiojimo laiką, o dinaminiams – atitinkamai pagal jų kitimo dažnumą.

Spauskite komponentų kodą su Gzip
Daugelis HTTP serverių standartiškai palaiko Gzip suspaudimą, todėl reikia tik nurodyti vieną kitą eilutę domeno konfigūracijoje. Jei nepalaiko, tai visada galima tokią biblioteką įsidiegti.

Serveris suspaudžia HTML kodą ar kitą svetainės komponentą ir perduoda jį kliento naršyklei, kuri jį išarchyvuoja. Taip sutaupomas tinklo pralaidumas, nes suspaustas dokumentas užima žymiai mažiau. Gzip suspaudimas veikia tikrai greitai, todėl tai jūsų serverio labai neapkraus.

Įtraukite CSS bylas puslapio viršuje
CSS bylų įtraukimas puslapio HEAD dalyje pagreitina puslapio užkrovimą, nes tada puslapis piešiamas progresyviai, kol kiti komponentai dar siunčiami.

Įtraukite scriptus puslapio apačioje
Scriptus įtraukite į puslapį jo apačioje, nes jų siuntimas blokuoja visus lygiagrečius siuntimus iš serverio. Pagal HTTP 1.1 specifikaciją naršyklei yra leidžiami 2 lygiagretūs kreipiniai į vieną domeną. Siunčiant scriptus visi lygiagretūs siuntimai laukia.

Venkite CSS išraiškų
CSS išraiškos leidžia lanksčiai pateikti puslapio atvaizdavimą, tačiau jos apsunkina puslapio atvaizdavimą, nes yra įvertinamos net stumdant puslapį aukštyn ir žemyn. Tikriausiai nenorite, kad tai gadintų svetainės greitaveiką.

Padarykite JavaScript ir CSS išoriniais
Tai leidžia sumažinti HTML puslapio kodą, o kadangi šios bylos yra išsaugomos naršyklės atmintyje, jos nėra siunčiamos kaskart. Sumažinate kreipinių kiekį, pagerinate puslapio greitaveiką.

Sumažinkite DNS kreipinių kiekį
Vienas DNS adreso kreipinys trunka apie 20-120 milisekundžių, per tą laiką naršyklė negali iš serverio siųsti jokios informacijos, nes ji paprasčiausiai nežino iš kur siųsti. Kuo daugiau DNS kreipinių, tuo labiau stabdomas puslapio užkrovimas.

Minimizuokite JavaScript ir CSS
Kodo suspaudimas nėra sudėtingas, tačiau labai sumažina siunčiamų duomenų kiekį. Mažiau duomenų, greičiau užkraunamas puslapis.

Venkite nukreipimų
Paprasta, kiekvienas nukreipimas grąžina nukreipimo antraštę ir tuščią puslapį, toliau vyksta adreso keitimas ir kito puslapio krovimas. Visi šie triukai labai lėtina naršančiojo puslapių peržiūrą. Jei nukreipimai būtini, geriau tai daryti serverio konfigūracinėje nei .htaccess byloje.

Išimkite besidubliuojančius scriptus
Atrodo, jog tai ne toks dažnas atvejis, tačiau tai pasitaiko. Tyčinis ar netyčinis, tačiau kiekvienos bylos pakartotinis įtraukimas sąlygoja papildomas užklausas, kurios švaisto brangų laiką.

Sukonfigūruokite ETags
ETags yra žymė, kuri nurodo naršyklei ar turimas atmintyje komponentas yra tas pats nuo esančio serveryje. Jei jie skiriasi, byla siunčiama iš naujo. Tai daroma net jei galiojimo data (expires) yra toli ateityje.

Daugelyje interneto šaltinių siūloma atsisakyti ETags žymės. Tai padaroma tiesiog Apache konfigūracinėje byloje, įrašant „FileETag none“ prie domeno nustatymų.

Padarykite AJAX išsaugomą naršyklėje
AJAX kreipiniai vykdomi lygiagrečiai puslapio kreipiniams. Kai juos iššaukia naudotojo veiksmas, ne visada reikia leisti jiems įvykti, ypač, jei per tą laiką niekas negalėjo pasikeisti.

Naudokite GET metodą AJAX kreipiniams
POST metodas realizuojamas 2 žingsniais: antraštės siuntimas, duomenų siuntimas, o GET informacija siunčiama vienu TCP paketu.

Sumažinkite DOM elementų kiekį
Nenaudokite bereikalingų HTML elementų tam kad vien tik pataisyti vaizdą, nereikia labai užkrauti puslapį elementais, nes sudėtingėja jų piešimas, priėjimas prie jų su scriptais.

Venkite atsakymo 404
Ištaisykite puslapio klaidas, kurios priverčia lankytoją gauti atsakymą 404 (Not Found), tai betikslis tuščias puslapis. Žinoma, galite jį išnaudoti vartotojo nukreipimui, tačiau minimizuokite patekimo į tokius puslapius galimybes.

Sumažinkite cookie dydį
Atsisakykite bereikalingų cookie, o esamus sumažinkite iki minimumo. Pagalvokite apie jų galiojimo sritis, nes tokia informacija yra labai lėtinanti puslapio veikimą.

Naudokite Cookie-Free domenus statiniams komponentams
Statinius komponentus pateikite iš skirtingų domenų/subdomenų, net jei jie veikia tame pačiame serveryje. Lygiagrečių kreipinių padidinimas pagreitins puslapio darbą.

Nekeiskite paveiksliukų dydžių HTML dokumente
Paveiksliukų mažinimas ar didinimas yra betikslis naršyklės darbas, jei jums reikia 100×100 taškų paveiksliuko, tai tokį ir siųskite, o ne mažinkite didelį.

Sumažinkite favicon.ico ir padarykite jį saugomą naršyklėje
Tai mažas paveiksliukas, kurį naršyklė dažniausiai bando atsisiųsti ir jam nesant gauna atsakymą 404 Not Found. Tai stabdo darbą. Padarykite favicon.ico bylą mažą ir nustatykite jai ilgą galiojimo laiką naršyklėje. Taip sutaupysite visiems svarbius resursus.