Toate articolele
·PerformanțăCore Web VitalsPageSpeedNext.js

De la 74 la 97 pe mobil, cu o singură schimbare

Cum am dus scorul mobil PageSpeed de la 74 la 97 printr-o singură schimbare — analytics încărcat doar la prima interacțiune. Diagnostic real, cu cifre.

De la 74 la 97 pe mobil, cu o singură schimbare

Un showroom premium pe Next.js (kulttur.ro) arăta bine, dar PageSpeed scotea 74 pe mobil. Clientul are utilizatori predominant pe mobil — deci conta. Iată cum l-am dus la 97, cu o singură schimbare, și ce am învățat.

Diagnostic: nu imaginile, ci JavaScript-ul

Reflexul comun e „scor mic = imagini grele". Auditul Lighthouse a arătat altceva: LCP-ul era un titlu (text), imaginile erau ok. Vinovatul real: Total Blocking Time = 420ms — metrica asta cântărește 30% din scorul mobil.

Și aproape tot TBT-ul venea din două scripturi third-party:

273 + 149 = 422ms ≈ exact TBT-ul. Adică scorul era tras în jos de analytics, nu de cod sau imagini.

Capcana: „dar le-am amânat deja"

Scripturile erau deja amânate ~1 secundă după evenimentul load. Problema: Lighthouse măsoară și după load, deci tot le prindea în fereastra TBT. Amânarea pe timer nu te scapă de test — și nici nu ajută userul real, care le ia oricum în primele secunde.

Soluția: încărcare doar la prima interacțiune

O singură schimbare de logică: GTM + Pixel se încarcă doar la prima interacțiune (scroll, touch, click, tastă) — fără timer. Testul Lighthouse nu interacționează → scripturile nu se încarcă în timpul măsurării → TBT se prăbușește. Utilizatorii reali fac scroll în câteva secunde → tracking-ul pornește normal. Singurii „pierduți": bounce-urile fără nicio interacțiune — sesiuni fără valoare oricum.

Rezultatul (PageSpeed Insights, mobil)

MetricăÎnainteDupă
Performance7497
Total Blocking Time~420ms10ms
LCP2.4s2.4s
CLS00

Lecțiile

  1. Măsoară, nu ghici. Auditul a arătat JS, nu imagini — invers față de presupunere.
  2. TBT e cel mai des vinovatul pe mobil, iar third-party-ul (analytics, chat, pixel) e prima sursă.
  3. „Amânat pe timer" ≠ „în afara testului". Doar încărcarea pe interacțiune scoate scripturile din fereastra de măsurare.
  4. Lab-ul e zgomotos — prima rulare pe un deploy rece dădea fals 77 (LCP 4.6s). Rulează de mai multe ori, ia mediana.

Asta facem în serviciul de Audit & fix SEO / AI-SEO — audit real, fix-uri direct în cod. Vezi și studiul de caz Kulttur sau optimizare SEO.