Performancë
LCP — ngarkimi i elementit më të madh
Koha kur shfaqet elementi më i madh i dukshëm; mjeti e vlerëson me heuristikë, nuk e mat.
Çfarë është
LCP (*Largest Contentful Paint*) mat kur shfaqet elementi më i madh me përmbajtje brenda pamjes fillestare — zakonisht imazhi kryesor, një video ose një bllok teksti i madh.
Ajo është përpjekja për të kapur çastin kur përdoruesi ndien se "faqja u ngarkua". Metrikat e vjetra si DOMContentLoaded nuk e kapnin këtë, sepse ato mbaronin para se përmbajtja të ishte e dukshme.
Pragjet zyrtare janë: deri 2,5 sekonda e mirë, deri 4 sekonda e përmirësueshme, mbi 4 e dobët. Ato maten te përqindorja e 75-të e vizitave reale, jo te një matje e vetme.
Pse ka rëndësi
LCP është pjesë e Core Web Vitals dhe përdoret nga Google si sinjal renditjeje, i lidhur me përvojën e faqes. Ndikimi te renditja është i vogël dhe veçanërisht i ndjeshëm kur dy faqe janë përndryshe të barabarta.
Por pasoja e vërtetë nuk është renditja — është braktisja. Një LCP prej pesë sekondash do të thotë pesë sekonda ekran bosh ose pothuajse bosh. Shumica e vizitorëve mobilë nuk presin aq gjatë.
Shkaqet ndahen në katër: koha e ngadaltë e përgjigjes së serverit, burimet që bllokojnë renderimin, koha e shkarkimit të vetë elementit, dhe koha midis shkarkimit dhe vizatimit. Në praktikë, shkaku më i shpeshtë është imazhi kryesor i pa optimizuar dhe i pa prioritizuar.
Si rregullohet
- Gjej cili element është LCP-ja. Mjetet e zhvilluesit e shënojnë; shpesh nuk është ai që pret.
- Jepi prioritet: ``
html <img src="/hero.webp" fetchpriority="high" width="1200" height="600" alt="..."> <link rel="preload" as="image" href="/hero.webp">`` - Kurrë `loading="lazy"` te imazhi kryesor. Kjo e përkeqëson LCP-në drejtpërdrejt.
- Ul TTFB-në — ajo është dyshemeja e LCP-së.
- Hiq burimet bllokuese nga
<head>. - Ngjesh imazhin dhe përdor WebP ose AVIF me përmasat e duhura.
- Mos e ndërto elementin kryesor me JavaScript. Nëse duhet pritur skripti, LCP-ja pret bashkë me të.
Si e mat ky mjet
CoreWebVitalsAnalyzer::estimateLCP() (services/CoreWebVitalsAnalyzer.php:119) nuk mat kohë renderimi. Ai merr kohën e plotë të kërkesës dhe i shton dy gjoba: një sipas madhësisë së HTML-së (1,5 s mbi 200 KB, 0,8 s mbi 100 KB, përndryshe 0,3 s — :144) dhe 0,8 s nëse gjen një imazh ose një element me klasë hero, banner a jumbotron (:137). Rezultati kufizohet në 10 sekonda.
Vlerësimi klasifikohet te analyze() (:22): mbi 4 s kritike me −25 pikë, mbi 2,5 s paralajmërim me −12 pikë, përndryshe kaluar.
Çfarë NUK e mat
Ky numër është vlerësim heuristik, jo matje. Mjeti nuk e hap faqen në shfletues dhe nuk mat asnjë metrikë reale performance. Ai llogarit një numër nga tipare të HTML-së statike me koeficientë të shkruar në kod. Formula është kohaEKerkeses + gjobëPërMadhësi + gjobëPërImazh. Asnjë nga këta koeficientë nuk vjen nga matje; ata janë zgjedhje në kod.
Elementi i identifikuar si LCP zgjidhet duke krahasuar width × height të deklaruara te etiketat <img>, me vlera të supozuara 300×200 kur ato mungojnë (services/CoreWebVitalsAnalyzer.php:127). Nuk merret parasysh nëse imazhi rri brenda pamjes fillestare, nëse është i dukshëm, apo sa peshon.
Numri që del nuk duhet krahasuar me pragun zyrtar 2,5 s dhe nuk duhet raportuar si LCP. Për LCP të vërtetë duhet matje në shfletues ose të dhëna nga vizitorë realë — asnjëra nuk ekziston sot në këtë sistem.
Mospërputhje midis tekstit të analizuesit dhe matjes
| Teksti i analizuesit | Çfarë ndodh | Si u mat | Burimi |
|---|---|---|---|
| Estimated LCP: Xs. Should be under 2.5s. | LCP, FID, CLS dhe INP llogariten me formula mbi HTML-në statike dhe krahasohen me pragjet zyrtare, të cilat përcaktohen mbi matje reale në shfletues. | LCP = kohaEKerkeses + gjobëMadhësie + gjobëImazhi (:144); CLS = shuma e katër gjobave (:191–203); INP = numërim nënvargjesh mbi HTML (:221). — matur gjatë 5.10 | services/CoreWebVitalsAnalyzer.php:119 |
Kodi që e kryen matjen
services/CoreWebVitalsAnalyzer.php:119— CoreWebVitalsAnalyzer::estimateLCPservices/CoreWebVitalsAnalyzer.php:22— Poor LCP