Kalo te përmbajtja
SEO Analyzer

Performancë

Ngjeshja e përmbajtjes (gzip / brotli)

A e ngjesh serveri HTML-në para se ta dërgojë; mjeti lexon kokën Content-Encoding.

Çfarë është

Ngjeshja është zvogëlimi i bajteve që udhëtojnë në rrjet. Serveri e ngjesh përgjigjen, shfletuesi e shpaketon, dhe përdoruesi nuk e vëren ndryshimin përveç se faqja vjen më shpejt.

Dy algoritme përdoren sot: gzip, i mbështetur kudo prej tridhjetë vjetësh, dhe brotli, më i ri dhe zakonisht 15–20% më efikas mbi tekst.

Për HTML, CSS dhe JavaScript kursimi është i madh — shpesh 70% deri 85%, sepse teksti është shumë i përsëritur. Për imazhe dhe video nuk ka kuptim: ato janë tashmë të ngjeshura, dhe ringjeshja vetëm harxhon procesor.

Pse ka rëndësi

Ky është optimizimi me raportin më të mirë përfitim/mund në gjithë performancën e uebit. Është një rresht konfigurimi dhe e zvogëlon peshën e faqes me tri të katërtat.

Efekti është më i madh pikërisht aty ku ka rëndësi më shumë: në lidhje mobile të ngadalta, ku secili kilobajt kushton kohë reale. Një dokument 300 KB bëhet 60 KB — nga tri sekonda në më pak se një.

Ngjeshja gjithashtu e shpejton kohën deri te teksti i parë i dukshëm, sepse më pak bajte do të thotë më pak paketa dhe më pak udhëtime vajtje-ardhje para se shfletuesi të ketë mjaftueshëm për të renderuar.

Kur mungon, zakonisht arsyeja nuk është vendim — është harresë. Serveri u ngrit me konfigurim të parazgjedhur dhe askush nuk e kontrolloi.

Si rregullohet

# nginx
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml image/svg+xml;
gzip_min_length 1024;
# brotli kërkon modulin ngx_brotli
brotli on;
brotli_types text/html text/css application/javascript application/json image/svg+xml;

Hapat:

  • Përfshi të gjitha llojet tekstuale, jo vetëm HTML. JSON dhe SVG harrohen më shpesh.
  • Mos ngjesh imazhe dhe video. JPEG, PNG, WebP dhe MP4 janë tashmë të ngjeshura.
  • Vendos një gjatësi minimale — nën një kilobajt, ngjeshja shton më shumë sesa kursen.
  • Kontrollo edhe CDN-në. Nëse ka një ndërmjetës, ai mund ta heqë ose ta shtojë ngjeshjen pavarësisht serverit.
  • Verifiko me: ``sh curl -sI -H 'Accept-Encoding: gzip, br' https://shembull.com | grep -i content-encoding ``

Si e mat ky mjet

PerformanceAnalyzer::checkCompression() (services/PerformanceAnalyzer.php:84) lexon kokën content-encoding të përgjigjes dhe kërkon gzip, br ose deflate. Dy dalje: gjendet (:92, kaluar, me vlerën e kokës), nuk gjendet (:94, paralajmërim me ndikim të lartë).

Koka vjen nga kërkesa e vetme që bëri mjeti për dokumentin kryesor.

Çfarë NUK e mat

Matet vetëm dokumenti HTML, jo burimet e tjera. Një sajt që e ngjesh HTML-në por i shërben skriptet dhe stilet pa ngjeshje raportohet si i rregullt, ndonëse ato janë zakonisht shumë më të mëdha se HTML-ja.

Nuk matet as sa u kursye: konstatimi thotë vetëm se ngjeshja ekziston, jo nëse është efikase. Nuk dallohet brotli nga gzip përveç si tekst.

Dhe rezultati varet nga kokat që dërgoi vetë mjeti: nëse kërkesa nuk njofton mbështetje për brotli, serveri do të kthejë gzip edhe kur e ka brotlin.

Kodi që e kryen matjen

  • services/PerformanceAnalyzer.php:84PerformanceAnalyzer::checkCompression
  • services/PerformanceAnalyzer.php:94no_compression

Standardi