Performancë
Numri i skedarëve CSS dhe JavaScript
Sa skedarë stilesh dhe skriptesh ngarkon faqja; mbi 15 mjeti e quan të tepërt.
Çfarë është
Ky kontroll numëron etiketat <link rel="stylesheet"> dhe <script src> në dokument.
Çdo skedar është një kërkesë e veçantë. Me HTTP/1.1 kjo ishte shumë e shtrenjtë, sepse shfletuesi hapte vetëm gjashtë lidhje paralele për host dhe të tjerat prisnin në radhë. Me HTTP/2 dhe HTTP/3 kostoja ka rënë ndjeshëm: shumë kërkesa udhëtojnë mbi një lidhje të vetme.
Pra numri i skedarëve sot ka rëndësi më të vogël se dikur. Ajo që ka mbetur e rëndësishme është sa nga ata bllokojnë renderimin, dhe sa bajte janë gjithsej.
Pse ka rëndësi
Numri i lartë mbetet tregues i dobishëm, edhe kur nuk është shkak i drejtpërdrejtë. Njëzet skedarë skriptesh zakonisht do të thonë njëzet varësi të ngarkuara pa u pyetur nëse duhen — shtojca që shtohen vit pas viti dhe nuk hiqen kurrë.
Secili skedar i jashtëm nga një domain tjetër shton edhe koston e zgjidhjes së DNS-së dhe të një lidhjeje të re TLS. Për një domain të tretë, kjo është shpesh më e shtrenjtë se vetë skedari.
Pastaj ka koston e ekzekutimit: JavaScript-i duhet analizuar, kompiluar dhe ekzekutuar, dhe kjo bllokon fillin kryesor. Në telefona të lirë kjo është pjesa më e madhe e ngadalësimit.
Dhe ka rrezik: çdo skript i palës së tretë është kod i huaj që xhiron me të drejtat e faqes sate.
Si rregullohet
- Numëro sa prej tyre përdoren vërtet. Paneli i mbulimit te mjetet e zhvilluesit tregon sa përqind e çdo skedari ekzekutohet.
- Hiq atë që nuk përdoret. Kjo është ndërhyrja me efektin më të madh.
- Bashko skedarët e vegjël, por mos bashko gjithçka në një — një paketë e madhe që ndryshon shpesh e prish cache-in.
- Ndaj sipas rrugës. Kodi i faqes së arkës nuk duhet të ngarkohet në faqen kryesore.
- Shty skriptet jo kritike me
deferoseasync. - Kufizo skriptet e palëve të treta. Secili duhet të ketë një arsye të shkruar.
Si e mat ky mjet
PerformanceAnalyzer::checkResourceCount() (services/PerformanceAnalyzer.php:157) merr numrin e //link[@rel="stylesheet"] dhe të //script[@src] të numëruar te analyze() (:22–23). Tri dalje: gjithsej deri 10 (kaluar pa konstatim), 11–15 (:165, informativ), mbi 15 (:167, paralajmërim me ndikim të lartë).
Çfarë NUK e mat
Numërohen vetëm burimet e deklaruara në HTML-në fillestare. Skriptet dhe stilet që shtohen nga JavaScript-i pas ngarkimit — mënyra më e zakonshme sot për etiketat e gjurmimit dhe reklamat — nuk numërohen fare. Një faqe me tre skripta në HTML dhe njëzet të injektuar raportohet si e lehtë.
Nuk maten as bajtet: një skedar prej 2 MB numërohet njësoj si një prej 2 KB. Fushat css_size dhe js_size te metrikat kthehen gjithnjë 0.
Nuk bëhet dallim midis burimeve të veta dhe atyre të palëve të treta, as midis atyre që bllokojnë renderimin dhe atyre që jo — ky i fundit matet nga një kontroll i veçantë.
Kodi që e kryen matjen
services/PerformanceAnalyzer.php:157— PerformanceAnalyzer::checkResourceCountservices/PerformanceAnalyzer.php:78— PerformanceAnalyzer::countResources