21 De Metode Eficiente pentru a Creste Viteza de Incarcare a unui Site

In anul 2006, Amazon a facut public faptul ca pentru fiecare 100 de milisecunde de imbunatatire a timpului si a vitezei de incarcare a unui site, vanzarile cresc cu 1%.
Dupa propriul studiu, Google a descoperit ca pentru fiecare 5 secunde in plus din viteza de incarcare al siteului, 20 % din posibilii vizitatori renunta la a mai vizita site-ul respectiv.
In urma acestor date, Google anunta ca viteza de incarcare a unui site devine un factor important in pozitionarea siteurilor in rezultatele de cautare.
In acest articol vom afla cele mai bune metode de a scapa de problemele legate de viteza de incarcare a siteului.
Cu ce viteza ar trebui sa se incarce un site “rapid”?
Probabil intotdeauna va fi ceva ce poate fi imbunatatit, deci cand putem spune ca avem cu adevarat o viteza de incarcare buna?
- Sub o secunda: Viteza este perfecta
- 1-3 secunde : Viteza este buna
- 4-7 secunde: Viteza este satisfacatoare
- Peste 7 secunde: Viteza are nevoie de imbunatatiri majore
21 De Metode pentru imbunatatirea vitezei de incarcare a unui site
- Alegeti un hosting de calitate.
Alegerea unui hosting de calitate este un aspect extrem de important pentru viteza de incarcare, pentru ca tot efortul depus in imbunatatirea vizitei poate fi pur si simplu “anulat” de un hosting a carui viteza lasa de dorit.
Cand va alegeti firma de hosting va recomand sa cititi cat mai multe despre firma la care intentionati sa va gazduiti siteului , afland astfel parerea celor care beneficiaza sau au beneficiat de serviciile acestora.
Puteti cauta si cateva siteuri gazduite acolo pentru a vedea cum „se incarca” acestea.
Si nu in ultimul rand, daca aveti un site destinat in exclusivitate utilizatorilor din Romania, alegeti sa va gazduiti site-ul tot in Romania. Un server aflat in aproprierea vizitatorului va rezulta intr-o viteza de incarcare mai buna.
- Activarea functiei cache
Functia cache creaza o versiune statica a site-ului , eliminand timpul mai ridicat de incarcare datorat bazei de date, a functiilor php, etc.
Se poate adauga o clasa PHP ca PHP Fast Cache.
Pentru platforme ca Wordpress, Magento, PrestaShop procesul poate fi mult simplificat prin folosirea diferitor pluginuri de optimizare.
Platforma WordPress recomanda pluginul: WP Fastest Cache , care pe langa cache mai include si multe alte actiuni utile in procesul de optimizare, prezentata mai jos.
Pluginul WP Fastest Cache de la WordPress

- Optimizarea imaginilor
Imaginile se pot optimiza folosind diverse programe, ca: Mass Image Compressor , tool-uri online ca: https://tinypng.com/ sau functii php ori pluginuri.
Iata mai jos diferenta intre o imagine optimizata si una neoptimizata:
Imagine neoptimizata. Marime : 80 kb

Imagine optimizata Marime: 43KB

Atentie! Optimizarea imaginilor cu un procent prea mare va duce la o scadere mare a calitatii imaginilor.
De asemenea, se recomanda si redimensionarea imaginilor atunci unde este cazul. De exemplu, nu avem nevoie de o imagine cu dimensiunile de 3000x2000 pixeli atunci cand pe site imaginea este afisata la dimensiunea de 350x250 pixeli.
- Specificati dimensiunea imaginilor
Specificarea marimii imaginilor (in pixeli sau procente) scade timpul necesar incarcarii acestora. Recomandam astfel, specificarea imaginilor in tag-urile sau prin stilurile definite in fisierele .css
Exemplu : width=”250” height=”500” />
- Activarea functiei de cache in browser
Cu aceasta functie putem sa marim viteza de incarcare a siteului nostru stocand anumite resurse in browser, specificand o anumita perioada de timp pentru care dorim ca acestea sa fie memorate.
Astfel, un utilizator care a mai vizitat in trecut acelasi site, nu va mai fi nevoie sa descarce din nou toate resursele.
Adaugarea acesteia se face extrem de usor indiferent ca folosim un plugin sau chiar daca alegem sa facem totul manual.
Daca nu doriti sa adaugati un plugin sau nu puteti folosi unul, adaugati urmatorul cod in fisierul .htaccess.
## EXPIRES CACHING ##
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
## EXPIRES CACHING ##
- Scrieti un cod cat mai “curat”
Daca optati sa scrieti singuri scriptul siteului, aveti grija sa aaveti un cod cat mai “curat”.
In special interogarile multiple si inutile catre baza de date sunt cele care creeza cele mai mari probleme legate de viteaza de incarcare a site-urilor.
O alta problema ar mai fi functiile de programare scrise intr-un mod gresit din punct de vedere al rapiditatii de procesare.
Folosirea uni framework PHP ca Laravel sau Codeigniter ne poate ajuta sa avem un script cat mai bine optimizat.
- Utilizarea Compresiei “GZIP”.
Este o alta metoda simpla si eficienta pentru a mari viteza de incarcare.
Gzip transforma fisierele site-ului intr-un fisier ZIP, ceea ce ajuta browserul vizitatorului sa sporeasca viteza de incarcare.
Browserul utilizatorului va dezarhiva fisierul ZIP creat si va afisa intreg continutul.
Se poate activa adaugand urmatorul cod in fisierul .htaccess ori folosind un plugin care face acest lucru.
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
Puteti verifica daca acest cod functioneaza, testand compresia aici .
In cazul in care codul nu functioneaza pe serverele ce folosesc Apache, puteti inlocui cu acest cod:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
Iar pentru NGINX:
gzip on;
gzip_comp_level 2;
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 1100;
gzip_buffers 16 8k;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# Disable for IE < 6 because there are some known problems
gzip_disable "MSIE [1-6].(?!.*SV1)";
# Add a vary header for downstream proxies to avoid sending cached gzipped files to IE6
gzip_vary on;
- Optimizarea (minificarea) fisierelor CSS si JavaScript
Optimizarea sau „Minificarea” se refera la unirea mai multor fisiere CSS sau JavaScript in unul singur.
De exemplu, in loc sa avem 10 fisere CSS separate, putem avea unul singur care sa includa toate codurile din toate cele 10 fisiere.
Un alt aspect este eliminarea spatiilor din coduri, facand astfel fisierele cat mai mici.
Si de aceasta data, WP Fastest Cache va face o treaba excelenta pentru ce folosesc platforma WordPress.
- Setarea Conexiunii Keep-Alive
Pentru a livra tot continutul unei pagini, serverul deschide cate o conexiune http pentru fiecare in parte, si o inchide dupa incarcarea resursei respective. Pentru a avea o singura conexiune deschisa pe durata incarcarii tuturor resurselor, se poate seta o conexiune Keep-Alive, reducand timpul de incarcare prin reducerea numarului de conexiuni deschise si inchise la 1. Aceasta se face prin adaugarea unui cod in fisierul .htaccess, astfel:
Header set Connection keep-alive
Mai multe instructiuni aici.
- Eliminarea datelor inutile din baza de date
Una din problemele ce tin de WordPress, ar fi ca acesta salveaza multe date de care nu avem neaparata nevoie, cum ar fi: date despre revizuirea postarilor, pluginuri dezactivate,comentarii cu spam etc.
Din fericire, exista o rezolvare rapida. WP Optimize sterge toate datele de care nu ai nevoie si iti miscoreaza in acest fel baza de date rezultand la o reducere a timpului de incarcare.
Nu doar daca folosim WordPress putem avea acesta probleme, insa in alte cazuri e posibil sa trebuiasca sa stergem manual datele inutile ori sa gasim pluginuri specifice fiecarei platforme in parte.
- Folosirea unui C.D.N. (Content Delivery Network)
Utilizarea Content Delivery Network poate fi o varianta foarte buna pentru imbunatatirea vitezei in special pentru site-urile destinate traficului international.
C.D.N. – ul este un sistem de centre de date aflate in diferite zone geografice. Cand un utilizator acceseaza un site care foloseste C.D.N , va descarca resursele de la serverul C.D.N care este aflat in cea mai apropriata locatie.
Adica, un utilizator din Franta, va descarcarca resursele de la un server din Franta.
Marile site-uri folosesc in prezent acest sistem.
- Inlocuiti codurile PHP cu HTML de fiecare data cand este posibil
Folosire codului PHP poate ingreuna functionalitatea unui site. Unde ai posibilitatea, foloseste un cod static HTML in locul celui PHP.
- Evitati folosirea fisierului @import
Evitati folosirea @import deoarece acesta duce la scaderea vitezei de incarcare a siteului. Alege sa incluzi intreg codul in fisierul css.
Un motiv in plus de a nu folosi @import, este ca unele browsere nu recunosc aceasta regula.
- Dezactivarea hotlinking
Hotlink apare atunci cand un alt site iti utilizeaza una sau mai multe imagini ori fisiere multimedia , adaugand linkuri direct catre fisierele gazduite pe site-ul tau.
Daca site-ul tau contine multe imagini care sunt folosite si de alte siteuri, aceasta poate fi o optiune de luat in calcul.
Nu doar ca „hotlinkul” iti ingreuneaza modul in care siteul functioneaza, dar iti si consuma o parte din trafic.
- Salvati imaginile in foldere diferite
In cazul in care folosesti WordPress sau alta plata platforma e posibil ca acest lucru sa fie facut in mod automat. Insa, daca avem o platforma care nu face acest lucru sau daca avem propriul script, e bine sa salvam imaginile in foldere separata, mai ales in cazul in care pe siteul nostru vom gazdui o multime de imagini.
Daca incarcam foarte multe imagini in mod regulat, putem genera un folder pentru fiecare zi si sa incarcam imaginile in folderul din ziua curenta.
Ex: putem aveam un folder cu fiecare an: (2016, 2017 etc) apoi fiecare folder sa continuam subfoldere cu toate lunile anului (ianuarie, februarie, martie etc) si fiecare luna sa contina la randul ei cate un subfolder cu fiecare zi din luna ( 01, 02,03 etc)
- Incarcati resursele javascript la sfarsit
Codurile javascript adaugate in headerul paginii impiedica incarcarea rapida a acesteia. In majoritatea cazurilor nu avem nevoie sa adugam aceste coduri in header, deci le putem plasa in footerul paginii, lasand browserul sa incarce pagina fara sa astepte descarcarea codului javascript.
- Optimizarea bazei de date
Mai toate siteurile din ziua de azi folosesc o baza date. Baza de date este nelipsita pentru magazinele online, bloguri si multe alte siteuri.
O baza de date neoptimizata va duce la ingreunarea vitezei de incarcare a siteului.
Adaugarea unui index in baza de date este printre cele mai bune metode de a optimiza. Facand acest lucru va va ajuta baza de date sa gaseasca informatiile mai repede decat in cazul in care acesta lipseste.
Mai mult, puteti folosi si functia de optimizare a bazei de date disponibila in phpmyadmin .
- Folositi un singur cod de urmarire
Stim ca va doriti cat mai multe informatii despre vizitatori si despre comportamentul acestora pe site , dar nu ingreunati functionalitatea siteului adaugand prea multe coduri de urmarire. De obicei, folosirea unui singur serviciu care face acest lucru este suficient. Puteti opta pentru folosirea Google Analytics , care probabil este cel mai bun si are suficiente optiuni.
- Eliminati pluginurile inutile (doar pentru WordPress)
Cand alegeti sa folositi platforma WordPress pentru site-ul vostru, pluginurile devin un lucru de care e putin probabil sa va puteti lipsi.
Insa folosirea prea multor pluginuri duce la un consum ridicat de resurse si automat la o scadere a vitezei de incarcare.
Daca nu utilizati un plugin, cel mai bun lucru ar fi sa-l stergeti (recomandat) sau sa-l dezactivati.
Pastreaza pluginurile de care chiar ai nevoie.
- Alegeti o tema bine optimizata ( valabil numai pentru WordPress)
Veti gasi o multime de teme disponibile pentru WordPress, insa veti fi surprinsi cate probleme pot avea unele dintre acestea.
Nu alegeti o tema numai pentru ca arata bine, verificati cat de bine este optimizata din punctul de vedere al vitezei de incarcare si al optimizarii SEO.
- Stergeti temele pe care nu le folositi (doar pentru WordPress)
Probabil ca nu aveti nevoie de mai mult de o singura tema pentru site-ul dumneavoastra. Daca aveti mai multe teme incarcarcate, pastrati-o numai pe cea pe care o folositi iar pe celelalte stergeti-le de pe server. Va recomandam sa faceti un back-up inainte cu temele pe care nu le mai doriti in caz ca veti mai avea nevoie de ele pe viitor.
Cum verific performanta si viteza unui site?
Bineinteles, cea mai simpla metoda este de a accesa pur si simplu site-ul si a vedea in cat timp se incarca complet site-ul respectiv. Dar, recomandat ar fi sa facem o verificare mai detaliata.
Acest lucru este posibil folosind diverse tool-uri disponibile in mod gratuit, ca PageSpeed Insights oferit de Google sau Pingdom. Aceste tool-uri nu doar ca ne ofera un scor pentru viteza, dar primim si informatii cu privire la ce putem imbunatati pe site-ul nostru pentru un rezultat mai bun.
Concluzii
Traim intr-o lume a vitezei. Ritmul vietii este din ce in ce mai alert si trebuie sa tinem pasul in fiecare zi. De aceea avem nevoie ca toate actiunile noastre sa se intample in cel mai rapid mod posibil.
Si cum o mare parte din actiunile noastre se intampla pe internet, ne dorim ca timpul petrecut pe motoarele de cautare sa fie „consumat” cat mai eficient – aceasta din perspectiva utilizatorilor.
De cealata parte, noi, cei care „construim” internetul trebuie sa ne asiguram ca o facem corect si ca vizitatorii nostri sunt multumiti din toate punctele de vedere.
Astfel, o incarcare rapida a siteului este un lucru care nu trebuie neglijat de nici un proprietar de site.
Un timp crescut de asteptare pentru incarcarea siteului nu face doar ca vizitatorii sa renunte la a mai vizita siteului dar ne poate afecta pozitia in motoarele de cautare. Acest aspect este complet indezirabil, mai ales ca o viteza de incarcare a unui site mult prea mica ne poate anula toate celelalte eforturi de a optimiza cat mai bine siteul pentru SEO.