Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

⚙️ Kuidas lubada GZIP pakkimine WordPressis: täielik juhend

⚙️ Kuidas lubada GZIP pakkimine WordPressis: täielik juhend

Sait avaneb 4 sekundit ja külastaja lahkub. Tuttav olukord? Enamasti pole probleem majutuses ega piltides. Lehed lihtsalt kaaluvad rohkem kui peaks, sest server saadab need „nagu on", ilma tihenduseta.

GZIP-tihendus vähendab HTML-i, CSS-i ja JavaScripti mahtu 60-80% enne, kui need brauserisse lendavad. WordPressi puhul pole see suure hulga seadistustega raske plugin, vaid üks direktiiv konfiguratsioonis või linnuke administraatoripaneelil. W3Techsi andmetel kasutab tihendust üle 85% internetis olevatest veebisaitidest ja kui teie sait pole nende hulgas, kaotate täiesti ilma põhjuseta otsingupositsioone ja konversioone.

Allpool on seitse toimivat viisi GZIP-i lubamiseks: alates.htaccess-i käsitsi muutmisest kuni paari klõpsuni pluginasis. Lõpus näitan, kuidas tulemust kontrollida, ja käsitlen levinud küsimusi ühilduvuse kohta CDN-i, Brotli ja vahemäluga.

💡 Kiire ülevaade:

  • Lisa tihenduskood .htaccess-faili FTP kaudu
  • Kirjuta gzip on ja gzip_types faili nginx.conf
  • Luba tihendus linnukesega pluginasis W3 Total Cache või WP Rocket
  • Kontrolli tulemust Chrome DevToolsis või GiftOfSpeedis

Mis on GZIP-tihendus ja miks WordPressi sait seda vajab

GZIP on tihendusalgoritm, mis töötab serveri tasemel: enne brauserisse saatmist „pakib" see tekstifailid kompaktsemasse vormi. Brauser pakib need lennult lahti ja kuvab lehe tavapäraselt. Kasutaja ei märka mingit erinevust, samas kui edastatavate andmete maht väheneb mitu korda.

GZIP pakkimise diagramm serveri brauser

Mida täpselt tihendatakse: HTML-lehe koodi, CSS-stiililehti, JavaScripti skripte, XML-faile, fonte ja SVG-d. GZIP ei puuduta pilte; nende jaoks on olemas eraldi tihendusvormingud (WebP, AVIF) ja optimeerimispluginad.

Erinevust numbrites on lihtne näha Chrome DevToolsis: sama leht enne ja pärast tihendust erineb mahult kaks kuni kolm korda. Korrutage see külastajate arvuga kuus ja saate tõsise säästu nii liikluses kui ka laadimisajas.

Oluline nüanss: GZIP pole ainus võimalus. Kaasaegsed serverid toetavad Brotlit, Google'i algoritmi, mis tihendab tekstifaile 15-25% paremini kui GZIP. Kuid Brotli pole kõigil majutusteenustel saadaval, samas kui GZIP töötab kõikjal, ka kõige vanemates konfiguratsioonides. Seetõttu tasub alati alustada GZIP-ist ja ühendada Brotli järgmise tasemena, kui põhi on valmis.

1. Meetod:.htaccess-i kaudu Apache'is

Kõige levinum stsenaarium: sait töötab Apache'is ja teil on vaja vaid lisada paar rida saidi juurkaustas asuvasse .htaccess-faili.

Kus.htaccess asub. Looge serveriga FTP-ühendus (näiteks FileZilla kaudu) või minge majutuse failihaldurisse. Leidke saidi juurkaustast (seal, kus asuvad wp-config.php ning kaustad wp-content, wp-admin) .htaccess. Laadige see oma arvutisse alla; redigeerime kohapeal, et vea korral saaksite kiiresti tagasi võtta.

Mida lisada. Avage .htaccess tekstiredaktoris (Notepad++, VS Code, Sublime Text) ja lisage järgmine plokk ENNE ridu # BEGIN WordPress:

1<IfModule mod_deflate.c>
2 AddOutputFilterByType DEFLATE text/html text/css text/javascript
3 AddOutputFilterByType DEFLATE application/javascript application/x-javascript
4 AddOutputFilterByType DEFLATE application/rss+xml application/xml application/xhtml+xml
5 AddOutputFilterByType DEFLATE image/svg+xml image/x-icon
6 AddOutputFilterByType DEFLATE font/ttf font/otf font/opentype application/x-font-ttf
7 AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
8
9 BrowserMatch ^Mozilla/4 gzip-only-text/html
10 BrowserMatch ^Mozilla/4.0[678] no-gzip
11 BrowserMatch bMSIE !no-gzip !gzip-only-text/html
12 Header append Vary User-Agent
13</IfModule>
htaccess fail GZIP pakkimise koodiga

Mis siin toimub. Plokk <IfModule mod_deflate.c> kontrollib, kas mod_deflate moodul on serveris lubatud (enamikel majutustel on see vaikimisi lubatud). Direktiivid AddOutputFilterByType DEFLATE määravad, milliseid failitüüpe tihendada. Read BrowserMatch on tugi Internet Exploreri vanadele versioonidele, mis väldib gzip-i vigu IE6-s ja vanemates. Header append Vary User-Agent ütleb puhverserveritele, et vahemällu salvestamisel tuleb arvestada kasutaja brauseriga.

Salvestage fail ja laadige see asendamisega serverisse tagasi. Enne seda tehke kindlasti algsest .htaccess-ist varukoopia; kui sait peaks rivist välja minema, taastage lihtsalt vana versioon ja kõik töötab nagu varem.

Kui pärast üleslaadimist annab sait vea 500, kontrollige, kas failis pole üleliigseid tühikuid või reavahetusi enne <?php või pärast sulgevaid silte. Viga .htaccess-is lõhub kogu saidi, seega on parem teha muudatusi ükshaaval ja iga järel kontrollida.

2. Meetod: NGINX-i serveris

NGINX käsitleb tihendust teisiti kui Apache. Siin pole .htaccess-i ja kõik seaded kirjutatakse faili nginx.conf või konkreetse saidi konfiguratsioonifaili (tavaliselt asukohas /etc/nginx/sites-available/).

Lisage või eemaldage kommentaar järgmistelt ridadelt jaotises http või server:

1gzip on;
2gzip_vary on;
3gzip_min_length 1000;
4gzip_comp_level 6;
5gzip_types text/plain text/css text/javascript
6 application/javascript application/x-javascript
7 application/rss+xml application/xml application/xhtml+xml
8 image/svg+xml image/x-icon
9 font/ttf font/otf application/x-font-ttf
10 application/vnd.ms-fontobject;
11gzip_disable "MSIE [1-6]\.(?!.*SV1)";

Pärast muudatuste tegemist kontrollige konfiguratsiooni süntaksit käsuga nginx -t ja laadige NGINX uuesti: sudo systemctl reload nginx.

Parameeter gzip_comp_level 6 on kompromiss tihendustaseme ja protsessorikoormuse vahel. Väärtus 1 on minimaalne tihendus, 9 on maksimaalne. Praktikas annab tase 6 peaaegu sama säästu kui 9, kuid tarbib märgatavalt vähem serveriressursse.

3. Meetod: IIS-i serveris (Windows Server)

IIS on Microsofti veebiserver, mida kasutatakse Windowsi majutusel. Tihenduse lubamine toimub siin kahel viisil: graafilise liidese või käsurea kaudu.

IIS-i liidese kaudu. Avage IIS-i haldur. Jaotises „Components" → „Services" leidke „Compression". Märkige ruudud „Enable static content compression" ja „Enable dynamic content compression". Klõpsake paneelil „Actions" nuppu „Apply".

Käsurea kaudu (administraatorina):

1:: Static compression
2appcmd set config /section:urlCompression /doStaticCompression:True
3
4:: Dynamic compression
5appcmd set config /section:urlCompression /doDynamicCompression:True

Staatiline tihendus salvestab failide juba tihendatud versioonid kettale, säästes protsessori aega. Dünaamiline tihendus tihendab vastuseid „lennult" ja sobib personaliseeritud lehtedele, kuid koormab protsessorit. Praktikas lubatakse WordPressi puhul mõlemad režiimid: staatiline tegeleb CSS-i/JS-iga, dünaamiline aga iga lehe HTML-iga.

4. Meetod: majutusteenuse pakkuja paneeli kaudu

Enamik kaasaegseid majutusteenuseid lubab GZIP-i vaikimisi. Kui kasutate cPanelit, minge jaotisse „Site Optimization" või „Performance" ja otsige lülitit „Compression" või „Compress content". Pleskis on tee sarnane: „Performance" → „Output Compression".

Kui te lülitit ei leia, kirjutage majutuse klienditoele. See on tavapärane päring; tehniline tugi vastab sellele minutitega ja sageli lubab tihenduse serveri tasemel ühe vastusega. Te ei pea selgitama, mis GZIP on; piisab, kui kirjutate: „Palun lubage minu saidi jaoks GZIP-tihendus".

Enne mis tahes muudatusi saate kontrollida, kas majutus juba tihendab lehti; meetodit on kirjeldatud allpool jaotises „Kuidas kontrollida, kas tihendus on lubatud". Kui kontroll näitab, et GZIP töötab, jätke kõik serverimeetodid vahele ja minge pluginateni ainult siis, kui soovite tihendust hallata WordPressi administraatoripaneelilt.

5. Meetod: W3 Total Cache'i plugin

W3 Total Cache on üks vanimaid vahemälu pistikprogramme WordPressi repositooriumis, mil on miljon aktiivset paigaldust ja hinnang 4,5 WordPress.org-is. GZIP-tihendus lubatakse selles eraldi märkeruuduga ega nõua serverifailide puudutamist.

HTTP pakkimise seaded W3 Total Cache'is

Paigalda pistikprogramm WordPressi repositooriumist, mine jaotisesse Performance → Browser Cache ja leia „HTTP (gzip) compression" alajaotis. Märgi ruut „Enable HTTP (gzip) compression" ja salvesta seaded. Pistikprogramm lisab automaatselt vajalikud direktiivid faili .htaccess või seadistab NGINX-i reeglid, olenevalt sellest, millisel serveril sait töötab.

  • Plussid: ei puuduta serverifaile käsitsi, miljon paigaldust kinnitab stabiilsust, ühildub CDN-i ja Brotliga
  • Miinused: liides on valikutest üle koormatud, algaja võib vale märkeruuduga vahemälu hõlpsalt katki teha

Meetod 6: WP Rocket plugin

WP Rocket on tasuline jõudlusplugin, mis lisab pärast aktiveerimist automaatselt .htaccess faili GZIP reeglid. Selles puuduvad tihendamise seaded; see lubatakse paigaldamisel automaatselt.

  • Plussid: null käsitööd, tihendamine lubatakse automaatselt, plugin lahendab ka hulga seotud ülesandeid (vahemällu salvestamine, laisk laadimine, minifitseerimine)
  • Miinused: tasuline (alates $59 aastas), ainult GZIP-i pärast üle maksmine ei ole õigustatud

Kui oled WP Rocketi juba muude ülesannete jaoks ostnud, siis tihendamine juba töötab. Kui kaalud pluginat ainult GZIP-i pärast, siis ära tee seda: .htaccess või W3 Total Cache teevad sama asja tasuta.

Meetod 7: WP Super Cache plugin

WP Super Cache on tasuta vahemällu salvestamise plugin Automatticult (samad tegijad, kes on WordPress.com-i taga). See töötab lihtsamalt kui W3 Total Cache: vähem seadeid, väiksem võimalus midagi katki teha.

Pakkimise seaded WP Super Cache'is

Paigalda plugin, mine Seaded → WP Super Cache → Täpsem ja leia kirje „Tihenda lehti, et neid külastajatele kiiremini serveerida". Luba ja salvesta.

  • Plussid: tasuta, lihtne liides, stabiilne kood Automatticult
  • Miinused: jääb vahemällu salvestamise funktsionaalsuselt W3 Total Cache'ile alla, tihendustüüpide peenhäälestus puudub

Kuidas GZIP tihendamine praktikas töötab

Kui brauser küsib lehte, saadab see päise Accept-Encoding: gzip, deflate, br, mis tähendab „ma mõistan gzip-i, deflate'i ja brotlit, saada ükskõik millises neist formaatidest". Server näeb seda päist, kontrollib, kas tihendamine on küsitud failitüübi jaoks lubatud, ja kui jah, siis tihendab vastuse ning lisab päise Content-Encoding: gzip.

Brauser võtab tihendatud andmed vastu, pakib need mälus lahti ja renderdab lehe. Kasutaja jaoks toimub kõik silmapilkselt; gzip-i lahtipakkimine võtab sekundi murdosa isegi nõrgal mobiilseadmel.

See mehhanism on universaalne: see töötab samamoodi Apache'i, NGINX-i, IIS-i ja kõigi WordPressi pluginatega. Pluginad ei leiuta oma tihendusmeetodit; nad lihtsalt lisavad samu serveridirektiive, mida me kirjutasime käsitsi esimese kolme meetodi puhul.

Mida Google PageSpeed Insights ja GTmetrix näitavad

Mõlemad teenused, PageSpeed Insights ja GTmetrix, kontrollivad iga auditi käigus tihendamist ja toovad probleemi selgelt esile, kui tekstressursse serveeritakse ilma GZIP-ita.

Pakkimise hoiatus Google PageSpeed Insightsis

PageSpeed Insightsis kuvatakse hoiatus „Luba teksti tihendamine" auditi jaotises „Võimalused". Lighthouse (PageSpeed Insightsi mootor) hindab otseselt potentsiaalset kokkuhoidu kilobaitides iga tihendamata ressursi kohta. GTmetrixis on sarnane kontroll „Luba GZIP tihendamine" kategoorias „Sisu".

Oluline punkt: ei PageSpeed Insights ega GTmetrix erista soovituste tasemel GZIP-i ja Brotlit. Kui tihendamine on kummagi meetodiga lubatud, näitab audit rohelist linnukest. Nii et GZIP-ist piisab auditi läbimiseks.

Kuidas kontrollida, kas tihendamine on lubatud

Kolm meetodit visuaalsest madalatasemeliseni.

Meetod 1: Chrome DevTools. Ava sait, vajuta F12, mine vahekaardile Network. Värskenda lehte, klõpsa suvalisel real ja vaata vahekaarti Headers. Leia jaotisest Response Headers rida Content-Encoding: gzip.

Content-Encoding gzip päis Chrome DevToolsis

Seal näed ka tegelikku ja tihendatud suurust: ülaltoodud näites kaalus leht 51,6 KB ja pärast tihendamist 17,7 KB.

Failisuuruse võrdlus enne ja pärast pakkimist Chrome DevToolsis

Meetod 2: veebipõhised testijad. GiftOfSpeed GZIP Test (giftofspeed.com/gzip-test) või Check GZIP Compression (checkgzipcompression.net): sisestad URL-i ja saad otsuse ning tihendusprotsendi. Kiirem kui DevTools, kui on vaja kontrollida kellegi teise saiti või mitut lehte järjest.

Meetod 3: curl käsurealt. Kui oled Linuxis/macOS-is või Windowsis WSL-is:

1curl -I -H &quot;Accept-Encoding: gzip&quot; https://yoursite.com | grep Content-Encoding

Vastus Content-Encoding: gzip tähendab, et tihendamine töötab. Tühi vastus tähendab, et ei tööta.

Lühike videoselgitus

Teema visuaalse poolega lõpetuseks on siin lühike video, mis näitab kogu GZIP-i lubamise protsessi .htaccess kaudu ja tulemuse kontrollimist Chrome DevToolsis:

⁉️🤔 Korduma kippuvad küsimused

Kas GZIP tihendamine aeglustab serverit?

Vastupidi. Jah, protsessor kulutab tihendamisele ressursse, kuid see on mikroskoopiline koormus võrreldes võiduga edastatavate andmete vähenemisest. Tihendustasemel 6 (standardne kompromiss) saab protsessor sellega hakkama millisekunditega. Ainus stsenaarium, kus tihendamine võib olla märgatav, on väga nõrk VPS 512 MB mäluga ja tuhandete samaaegsete külastajatega. Kuid selles olukorras on sul tõsisemaid probleeme kui GZIP. Praktikas tihendamine serverit ei aeglusta: tüüpiline WordPressi leht tihendatakse 2-5 millisekundiga, samas kui andmeedastuse kokkuhoid võrgus ulatub iga külastaja kohta kümnete ja sadade millisekunditeni. Tihendamine on alati kasulikum kui selle puudumine.

GZIP või Brotli: mida valida 2026. aastal?

Alusta GZIP-ist; see töötab igal hostinguplatvormil ja seda toetavad eranditult kõik brauserid. Brotli tihendab märgatavalt paremini, kuid nõuab HTTPS-i (ei ole 2026. aastal probleem) ja serveripoolset tuge. Kui hosting või CDN (Cloudflare, BunnyCDN) toetab Brotlit, luba see GZIP-i lisana. Enamik kaasaegseid saite kasutab mõlemat: server serveerib Brotlit brauseritele, mis seda mõistavad, ja GZIP-i kõigile teistele.

Kas GZIP tihendamine ühildub CDN-iga?

Täielikult. CDN-id nagu Cloudflare või BunnyCDN tihendavad sisu oma ääreserverites ise, sageli Brotliga, isegi kui sinu hosting seda ei toeta. Kui sait on juba Cloudflare'i taga, kontrolli, et valik „Brotli" oleks jaotises „Speed" → „Optimization" lubatud. Selle stsenaariumi korral on GZIP-i seadistamine serveri tasemel siiski kasulik varuvariandina otsesteks päringuteks lähteserverisse.

Mul on vahemällu salvestamise plugin. Kas ma pean GZIP-i eraldi lubama?

Sõltub pluginast. WP Rocket lubab GZIP-i automaatselt, W3 Total Cache eraldi märkeruuduga, WP Super Cache eraldi märkeruuduga. Kontrolli oma pluginaseadeid; peaaegu kõigil vahemällu salvestamise pluginatel on tihendamise valik, kuid mitte kõik ei luba seda vaikimisi. Ära looda sellele, et „see peaks töötama"; kontrolli pärast seadistamist DevToolsi kaudu.

Kas ma saan lehti tihendada faili functions.php kaudu?

Tehniliselt saad, PHP funktsiooni ob_start('ob_gzhandler') kaudu, kuid me ei soovita seda. See meetod tihendab PHP väljundit ega mõjuta staatilisi faile (CSS, JS), mis moodustavad suurema osa liiklusest. Serveripoolne tihendamine (Apache/NGINX) töötab kõigi failitüüpide puhul ega koorma PHP protsessorit. Jäta PHP tihendamine nendeks harvadeks juhtudeks, kui juurdepääs serveri konfiguratsioonidele on füüsiliselt võimatu.

Järeldused: mida ja millal lubada

GZIP ei ole valik „seadista ja unusta", vaid WordPressi saidi elementaarne hügieen. Kui sa praegu ei tea, kas sinu server tihendab lehti, ava DevTools ja kontrolli Content-Encoding päist. Puudub? Mine tagasi 1. meetodi juurde ja lisa .htaccess faili kolm rida.

Lühike otsustusmaatriks:

  • Sait on Apache’s ja sa ei karda FTP-d → meetod 1 (.htaccess), 5 minutit
  • Sait on NGINX-il ja sul on ligipääs seadistustele → meetod 2 (nginx.conf), 10 minutit koos süntaksikontrolliga
  • Sa põhimõtteliselt ei puutu serverifaile → W3 Total Cache või WP Super Cache, 2 minutit
  • Sa juba maksad WP Rocketi eest → ära tee midagi, pakkimine töötab karbist välja
  • Sa ei taha üldse midagi seadistada → kirjuta hostingu toele

Kontrolli tulemust ükskõik millise kolme ülaltoodud meetodi abil ja sulge see küsimus alatiseks. See on see haruldane optimeerimine, mis tõesti tehakse üks kord ja mis jätkab liikluse säästmist ning saidi kiirendamist aastaid hiljem, ilma uuenduste, tellimuste ja korduva seadistamiseta.