Studiu de caz · eCommerce · WooCommerce
OneDee este un magazin online pentru adulți, cu circa 5.500 de produse pe WooCommerce, 180 de categorii și 181 de branduri. Face parte din grupul nostru, deci este și laboratorul în care testăm înainte să propunem ceva clienților. În vara lui 2026 site-ul avea trafic organic, dar paginile se încărcau în aproape trei secunde la server, Google vedea o arhitectură plină de pagini goale, iar 4 din 10 clicuri pe produse ajungeau pe fișe epuizate.
Contextul
Un catalog mare pe un stack greu: WordPress cu Elementor, o temă de magazin cu mega meniu, filtre pe zeci de atribute și o instalare LiteSpeed configurată cândva, dar care nu mai ținea nimic în cache. Traficul organic era stabil de luni de zile, în jur de 1.000 de clicuri pe lună, iar în vară categoriile dispăruseră temporar din Google (au revenit din 2 august, înainte de intervențiile noastre, nu ne asumăm revenirea).
Scopul a fost să facem site-ul rapid pentru oameni și curat pentru Google, fără să rescriem platforma. Am lucrat în loturi mici, cu măsurători înainte și după fiecare, și cu posibilitate de revenire la fiecare pas.
Ce am găsit la audit
- Server și cache. TTFB median de 2.919 ms pe 120 de pagini necachuite, nicio pagină sub 2,4 secunde. Pe 9 octombrie, 20 din 20 fișe de produs și 12 din 12 categorii se serveau fără cache. Crawlerul LiteSpeed încălzea 181 de adrese dintr-un site cu aproape 6.000. Un bug de purjare ștergea toate cele 5.495 de fișe din cache la fiecare modificare de produs, iar magazinul făcea 94 de modificări pe zi. PHP 8.1, ieșit din suport. OPcache plin, cu rată de hit 83%.
- Front-end. 1.240 KB de CSS pe fiecare pagină, 8 fonturi importate blocant din două domenii externe, un header pe mobil de 145 KB și 1.199 de elemente (mega meniul ascuns trimitea pe telefon 977 de elemente pe care nu le vedea nimeni), 436 de opțiuni de filtrare pe o pagină de categorie, PNG-uri de 1,8 MB în grila de produse.
- Arhitectură SEO. 820 de etichete de produs, din care 630 goale. Arhivele de brand inversate: /brand/x-men/ afișa 1 produs din 223, iar aproximativ 100 de adrese de brand dădeau 404. 890 de produse (16% din catalog) lipseau din categoriile părinte. 10 titluri H1 pe fiecare fișă de produs și două scheme BreadcrumbList. Pagina /shop/, cu circa 100 de clicuri pe lună, dădea 404.
- Stoc. 358 din 855 de clicuri organice pe produse (41,9%) ajungeau pe 431 de fișe epuizate, fără nicio acțiune posibilă pentru vizitator.
- Mobil. Subcategoriile din meniu nu se deschideau la atingere, „Încarcă mai multe produse” dura 2,6 până la 4 secunde, căutarea 1,9 până la 2,9 secunde.
- Încredere și conformitate. Praguri și termene greșite afișate pe site (transport gratuit de la 289 lei în loc de 199, ora limită 15:00, garanție 12 luni), un popup de „vânzări recente” cu nume și orașe inventate, consimțământ de cookie-uri fără Consent Mode.
- Boți. 26% din trafic erau roboți care loveau filtrele: 3.615 cereri pe zi ajungeau la PHP degeaba.
Ce am făcut
1. Server, cache și PHP
- LiteSpeed reconfigurat: lista crawlerului de la 181 la 6.366 de adrese (mobil și desktop, cu WebP), bugul de purjare reparat (verificat: 8 din 8 fișe rămân în cache la 50 de minute după o modificare), Guest Mode oprit (scotea 2.090 ms din lanțul critic), redirectul www de la 2 sărituri la 1, cronul extern reparat, o gardă permanentă pentru tokenul crawlerului blocat în Redis.
- PHP 8.1 → 8.3: checkout necachuit de la 6,0 la 0,66 secunde, blog de la 4,1 la 1,1 secunde. OPcache mărit la 256 MB (hit 97,7%).
- Gărzi în .htaccess: filtrele fără referrer intern, Baiduspider și traficul de bot blocate la nivel de server, 127 MB pe zi economisiți.
2. Front-end și viteză
- CSS unic per tip de pagină (UCSS): de la 1.240 KB la circa 290 KB, cu aspect identic verificat element cu element (0 diferențe de geometrie din peste 2.500 de elemente pe fiecare tip de pagină).
- Fonturi găzduite local: 8 importuri blocante → 4 fișiere, 112 KB; subsetul românesc de 3,5 KB în locul celui latin-ext de 18 KB.
- WebP generat pe server: de la 148 la 13.128 de imagini cu variantă WebP. Bannerele de categorie de la 8,6 MB la 1 MB. Pagina de categorie de la 5,30 MB la 1,32 MB, fișa de produs de la 3,79 MB la 1,61 MB.
- Header pe mobil de la 145 KB la 31 KB, filtre de la 436 la 113 opțiuni, meniu mobil cu subcategorii care se deschid, secțiunea „Vibratoare” de la peste 1.100 px la 590 px.
- Homepage nou: de la 1.812 KB și 148 de cereri la 930 KB și 110 cereri, TBT de la 190 până la 315 ms la 7 până la 10 ms, CLS 0. Paginile hub pentru femei și bărbați, de la peste 1 MB de HTML la 52 KB.
- „Încarcă mai multe produse” de la 2,6 până la 4 secunde la 123 ms. Căutarea pe mobil pe tot ecranul, 1 secundă la prima cerere și 40 până la 55 ms din cache.
3. Arhitectură SEO și catalog
- Etichete: de la 820 la 34 (811 șterse, 25 create pe intenții reale de căutare), toate indexabile, cu 6.286 de atribuiri de produse.
- Arhivele de brand reparate (din 106 adrese cu 404 au rămas 3), 181 de pagini de brand cu text, logo și titluri proprii.
- Taxonomie: 717 produse reatribuite în 1.002 categorii pe baza atributelor, cu precizie verificată de 90 până la 100% pe eșantion; 0 produse în afara categoriilor părinte (erau 890). Categorii subțiri umplute: „Vibrator cu telecomandă” de la 143 la 265 de produse, „Lenjerie wetlook” de la 5 la 130.
- Un singur H1 și un singur BreadcrumbList pe fișă, 180 de categorii cu text sus și jos, 4 ghiduri și 7 pagini de instrucțiuni refăcute, noindex pe fișele epuizate fără vânzări, redirectări și audit de sitemap (502 adrese, 2 neconforme).
4. Merchandising, încredere, conformitate
- „Cumpărate împreună” recalculat pe tot catalogul: 3.607 din 15.842 de sloturi trimiteau la produse epuizate sau nepublicate, acum 0. Quiz de recomandare (Smart Finder) peste 1.292 de produse pe stoc, formular „Anunță-mă” pe epuizate, dată estimată de livrare pe fișă.
- Pragul de transport gratuit corectat la 199 lei peste tot, popupul cu vânzări inventate scos, aviz de garanție legală UE, informații GPSR pe fișă, consimțământ cu Consent Mode v2.
- Categoriile reordonate după vânzările reale pe 180 de zile, meniu mobil și mega meniu refăcute după aceeași logică.
Rezultatele, cu perioade și surse
| Indicator | Înainte | După | Sursă și perioadă |
|---|---|---|---|
| TTFB median | 2.919 ms (necachuit) | 27 ms (cache cald) | crawl propriu pe 120, apoi 60 de pagini, 27 și 28 august |
| Pagini servite din cache | 0 din 32 verificate | 32 din 32, 14 până la 229 ms | verificare proprie, 9 față de 17 octombrie |
| PageSpeed laborator, homepage mobil | 61 | 91 | PageSpeed Insights, 12 față de 17 octombrie |
| Timp de blocare (TBT), laborator | 410 ms | 20 până la 60 ms | Lighthouse, 9 față de 13 octombrie |
| CLS homepage mobil | 0,108 | 0 | Lighthouse, 12 octombrie |
| CSS livrat | 1.240 KB | 290 KB | măsurătoare proprie, 19 septembrie |
| Pagină de categorie / fișă de produs | 5,30 MB / 3,79 MB | 1,32 MB / 1,61 MB | măsurătoare proprie, 3 octombrie |
| Clicuri organice din Google, septembrie | 790 | 1.344 | Search Console, 2025 față de 2026 |
| Afișări organice, septembrie | 10.498 | 17.283 | Search Console, 2025 față de 2026 |
| Poziția medie, septembrie | 16,4 | 7,6 | Search Console, 2025 față de 2026 |
| Clicuri non-brand, 6 luni | 851 | 1.409 | Search Console, august 2025 până în februarie 2026 față de februarie până în august 2026 |
| Etichete indexabile | 820 (630 goale) | 34 | WordPress și Search Console, 3 octombrie |
| Trafic de bot ajuns la PHP | 26% din cereri | sub 0,1% din cererile pe filtre | jurnale de server, 1 până la 3 septembrie |
Ce nu s-a văzut încă în datele de teren. Raportul Chrome UX pe 28 de zile (16 octombrie) arăta încă LCP 3,3 s și TTFB 2,1 s, pentru că media include săptămânile cu cache rece din septembrie și începutul lui octombrie. Cache-ul a devenit stabil pe tot site-ul abia pe 15 octombrie. Publicăm cifra de teren când va fi disponibilă, oricare ar fi ea.
Ce nu a mers din prima
CSS-ul unic a stricat site-ul de două ori (27 august și 1 octombrie), pentru că un tip de pagină fusese eșantionat pe un produs epuizat, unde un bloc nu exista. Am pus o gardă permanentă și o verificare de geometrie element cu element înainte de fiecare publicare.
Un singur caracter invizibil (BOM) într-un fișier PHP a lăsat site-ul 11 ore fără anteturi de cache și fără cookie de coș. De atunci orice fișier PHP trece printr-o verificare de encoding înainte de upload.
Nu tot ce crește e meritul nostru. Categoriile au revenit în Google pe 2 august, înainte de intervenții. Îl spunem în raport, pentru că altfel nu poți judeca ce a produs fiecare schimbare.
Ce urmează
Datele de teren Core Web Vitals pe următoarele 28 de zile, conținut pe categoriile cu cerere și fără pagini puternice, listări curate pe eMAG și Trendyol, și un program de testare pe campaniile plătite judecat pe comenzi valide, nu pe conversiile raportate de platformă.
Ai un magazin WooCommerce lent sau cu mii de pagini pe care Google nu le ia în seamă?
Îți facem un audit tehnic gratuit și îți spunem ce merită reparat întâi.
Cere auditul gratuit →Notă metodologică: măsurătorile de server și de pagină sunt făcute cu unelte proprii pe adrese reale ale site-ului, cu antetele unui browser obișnuit, și sunt reproductibile. Datele organice vin din Google Search Console, pe luni calendaristice întregi. Scorurile de laborator sunt din PageSpeed Insights și Lighthouse și variază între rulări; le raportăm ca ordine de mărime, nu ca garanție. Publicat pe 18 octombrie 2026.