Un site de agenție web e pliantul agenției. Dacă vindem site-uri rapide și al nostru se încarcă greu, argumentul se vede că e doar text. În septembrie 2026 ne-am refăcut site-ul de la zero. Mai jos e exact ce am făcut și ce a ieșit — pe cifre pe care le puteți verifica singur, pentru că adresa e publică.
Cifrele
| Înainte | După | |
|---|---|---|
| CSS și JavaScript | 177,3 KB în 28 de fișiere | 5,3 KB într-un fișier |
| Fișiere JavaScript | 13 | 0 |
| Pluginuri active | 7, ocupând 192 MB | unul, pentru email |
| Timp de răspuns | nemăsurat | 0,204 s |
| HTML comprimat | nemăsurat | 11 KB |
| PageSpeed, mobil și desktop | nemăsurat | 100 / 100 / 100 / 100 |
| Deplasare de layout (CLS) | nemăsurat | 0 |
Scrie „nemăsurat” acolo unde chiar nu avem cifra dinainte. N-am măsurat site-ul vechi cu aceeași metodă, iar o comparație între o măsurătoare veche făcută altfel și una nouă nu e o comparație, e o figură de stil. Primele trei rânduri sunt numărate în ambele stări.
Ce am aruncat
Page builder-ul. Tot conținutul stătea în Elementor, adică nu în paginile WordPress, ci într-un câmp propriu al pluginului. Un page builder încarcă pe fiecare pagină tot ce ar putea folosi vreodată, nu ce folosește pagina aceea. De aici veneau majoritatea celor 28 de fișiere.
Pluginul de SEO. Title, meta description, Open Graph, date structurate, sitemap — toate se scriu în temă, în câteva sute de linii. Pluginul le ținea în baza de date, adică într-un loc care nu se versionează și pe care nu-l vezi într-un diff.
Aici am avut o surpriză care merită spusă: pluginul de SEO era și cel care injecta Google Analytics. Când l-am scos, măsurarea s-a oprit — și n-am observat imediat, pentru că nimic nu semnalează asta. Dacă scoateți un plugin de SEO, verificați întâi ce mai face în afară de SEO.
Slider-ul, biblioteca de iconițe, cele două pluginuri de optimizare care optimizau, în bună parte, ce instalaseră celelalte pluginuri.
Ce am construit în loc
O temă bloc scrisă de mână. Fără framework CSS, fără build. Un singur fișier CSS, care conține doar componentele pe care le folosește site-ul.
Zero JavaScript, și nu ca figură de stil. Meniul e HTML — șase legături, fără hamburger. Întrebările frecvente sunt <details>, elementul din HTML care face acordeoane fără o linie de cod. Formularul e un formular. Singura excepție e bannerul de consimțământ, ~2,4 KB scriși direct în pagină, pentru că alegerea vizitatorului trebuie citită în browser.
Două fonturi, găzduite la noi. Câte un fișier variabil per familie, tăiat la caracterele de care avem nevoie: ASCII, Latin-1, diacriticele românești și câteva semne tipografice. Fonturile rămân cel mai greu lucru din site — 58 KB din cei 73 ai primei încărcări — dar la a doua vizită vin din cache și pagina scade la 10 KB.
Conținutul în temă, nu în baza de date. Fiecare pagină are ca întreg conținut o singură referință către un șablon din temă. Textul se versionează cu codul, se caută cu grep și se vede în diff.
Ce am învățat pe drum
Cache-ul minte convingător. O oră pierdută pentru că site-ul era corect, iar cache-ul servea o stare veche: o adresă răspundea 200 deși răspunsul real era 301. Regula pe care o aplicăm de atunci: când ceva pare greșit pe producție, se verifică întâi cu un parametru în adresă, care ocolește cache-ul.
O pagină se poate strica în tăcere. La schimbarea prețurilor, o cheie a fost redenumită într-un fișier și nu în celălalt. Rândul cu prețul de pornire a dispărut din tabel — fără eroare, fără nimic în log, pe exact pagina care vinde site-uri. Acum o cheie greșită se scrie în jurnalul de erori.
Cel mai bun cache e să nu ai ce cache-ui. Am oprit pluginul de cache. Timpul de răspuns fără el e 0,19 s. Când pagina e 11 KB de HTML, stratul de cache rezolvă o problemă care nu mai există.
De ce contează, dincolo de mândrie
Scorul PageSpeed nu e factor de ranking — asta se înțelege des greșit. Ce contează pentru Google sunt datele reale de la utilizatori: cât durează până se vede ceva, cât până pagina răspunde la atingere, cât sare layout-ul. Un scor de laborator de 100 nu garantează date de teren bune, dar un site de 11 KB fără JavaScript le are aproape automat.
Partea comercială e mai simplă: dacă trimiteți trafic plătit către o pagină lentă, plătiți click-uri pentru oameni care pleacă înainte să vadă produsul. Se vede în raport, ca diferență între click-uri și sesiuni.
Dacă site-ul dumneavoastră e în starea în care era al nostru, procesul e același și îl descriem pas cu pas în pagina de refacere — inclusiv partea care contează cel mai mult: cum se păstrează adresele și pozițiile din Google.