Skip to content

Kaikki WordPressistä, web-kehityksestä — ja paljon muuta

⚙️ Kuinka ottaa GZIP-pakkaus käyttöön WordPressissä: täydellinen opas

⚙️ Kuinka ottaa GZIP-pakkaus käyttöön WordPressissä: täydellinen opas

Sivusto avautuu 4 sekuntia, ja kävijä poistuu. Kuulostaako tutulta? Useimmiten ongelma ei ole hostingissa eikä kuvissa. Sivut yksinkertaisesti painavat enemmän kuin pitäisi, koska palvelin toimittaa ne "sellaisenaan" ilman pakkausta.

GZIP-pakkaus pienentää HTML:n, CSS:n ja JavaScriptin kokoa 60-80% ennen kuin ne lähtevät selaimeen. WordPressissä tämä ei ole raskas lisäosa lukuisine asetuksineen, vaan yksi direktiivi konfiguraatiossa tai valintaruutu hallintapaneelissa. W3Techsin mukaan pakkausta käyttää yli 85% internetin verkkosivustoista, ja jos omasi ei ole niiden joukossa, menetät hakusijoituksia ja konversioita aivan turhaan.

Alla on seitsemän toimivaa tapaa ottaa GZIP käyttöön: aina.htaccess-tiedoston manuaalisesta muokkauksesta muutamaan klikkaukseen lisäosassa. Lopuksi näytän, miten tarkistat lopputuloksen, ja käyn läpi yleisiä kysymyksiä yhteensopivuudesta CDN:n, Brotlin ja välimuistin kanssa.

💡 Pikaopas:

  • Lisää pakkauskoodi .htaccess-tiedostoon FTP:n kautta
  • Kirjoita gzip on ja gzip_types tiedostoon nginx.conf
  • Ota pakkaus käyttöön valintaruudulla W3 Total Cachessa tai WP Rocketissa
  • Tarkista tulos Chrome DevToolsilla tai GiftOfSpeedillä

Mitä GZIP-pakkaus on ja miksi WordPress-sivusto tarvitsee sitä

GZIP on pakkausalgoritmi, joka toimii palvelintasolla: ennen selaimeen lähettämistä se "pakkaa" tekstitiedostot tiiviimpään muotoon. Selain purkaa ne lennossa ja näyttää sivun normaalisti. Käyttäjä ei huomaa mitään eroa, mutta siirrettävän datan määrä vähenee moninkertaisesti.

GZIP-pakkauskaavio palvelinselain

Mitä tarkalleen pakataan: HTML-sivukoodi, CSS-tyylitiedostot, JavaScript-skriptit, XML-tiedostot, fontit ja SVG. GZIP ei koske kuviin; niille on omat pakkausformaattinsa (WebP, AVIF) ja optimointilisäosansa.

Eron numeroissa näkee helposti Chrome DevToolsissa: sama sivu ennen pakkausta ja sen jälkeen eroaa kooltaan kaksi-kolminkertaisesti. Kerro se kuukausittaisella kävijämäärällä, niin saat merkittävät säästöt liikenteessä ja latausajassa.

Tärkeä vivahde: GZIP ei ole ainoa vaihtoehto. Nykyaikaiset palvelimet tukevat Brotlia, Googlen algoritmia, joka pakkaa tekstitiedostot 15-25% paremmin kuin GZIP. Mutta Brotli ei ole saatavilla kaikilla hosting-palveluntarjoajilla, kun taas GZIP toimii kaikkialla, vanhimmatkin konfiguraatiot mukaan lukien. Siksi kannattaa aina aloittaa GZIP:stä ja ottaa Brotli käyttöön seuraavana tasona, kun perusta on kunnossa.

Tapa 1:.htaccess-tiedoston kautta Apachella

Yleisin skenaario: sivusto toimii Apachen päällä, ja sinun tarvitsee vain lisätä muutama rivi .htaccess-tiedostoon sivuston juuressa.

Missä.htaccess sijaitsee. Yhdistä palvelimelle FTP:n kautta (esimerkiksi FileZillalla) tai mene hostingin tiedostonhallintaan. Sivuston juurikansiosta (jossa sijaitsevat wp-config.php sekä kansiot wp-content, wp-admin) etsi .htaccess. Lataa se tietokoneellesi; muokkaamme paikallisesti, jotta virhetilanteessa voit nopeasti palauttaa aiemman version.

Mitä lisätä. Avaa .htaccess tekstieditorissa (Notepad++, VS Code, Sublime Text) ja lisää seuraava lohko ENNEN rivejä # 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-tiedosto GZIP-pakkauskoodilla

Mitä tässä tapahtuu. Lohko <IfModule mod_deflate.c> tarkistaa, onko mod_deflate-moduuli käytössä palvelimella (useimmilla hosting-palveluntarjoajilla se on oletuksena käytössä). AddOutputFilterByType DEFLATE -direktiivit määrittävät, mitkä tiedostotyypit pakataan. BrowserMatch-rivit ovat kiertotapa Internet Explorerin vanhoille versioille, joka estää gzip-bugit IE6:ssa ja sitä vanhemmissa. Header append Vary User-Agent kertoo välityspalvelimille, että ne ottavat käyttäjän selaimen huomioon välimuistituksessa.

Tallenna tiedosto ja lataa se takaisin palvelimelle korvaten vanha. Ennen tätä muista ottaa varmuuskopio alkuperäisestä .htaccess-tiedostosta; jos sivusto kaatuu, palauta vain vanha versio, niin kaikki toimii kuten ennenkin.

Jos sivusto antaa latauksen jälkeen virheen 500, tarkista, onko tiedostossa ylimääräisiä välilyöntejä tai rivinvaihtoja ennen <?php-tagia tai sulkevien tagien jälkeen. Virhe .htaccess-tiedostossa kaataa koko sivuston, joten muokkaukset kannattaa tehdä yksi kerrallaan ja tarkistaa jokaisen jälkeen.

Tapa 2: NGINX-palvelimella

NGINX käsittelee pakkauksen eri tavalla kuin Apache. Täällä ei ole .htaccess-tiedostoa, ja kaikki asetukset kirjoitetaan nginx.conf-tiedostoon tai tietyn sivuston konfiguraatiotiedostoon (yleensä polussa /etc/nginx/sites-available/).

Lisää tai poista kommentointi seuraavilta riveiltä http- tai server-osiossa:

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)";

Kun olet tehnyt muutokset, tarkista konfiguraation syntaksi komennolla nginx -t ja lataa NGINX uudelleen: sudo systemctl reload nginx.

Parametri gzip_comp_level 6 on kompromissi pakkaustason ja prosessorikuorman välillä. Arvo 1 on minimipakkaus, 9 on maksimi. Käytännössä taso 6 tarjoaa lähes samat säästöt kuin 9, mutta kuluttaa huomattavasti vähemmän palvelimen resursseja.

Tapa 3: IIS-palvelimella (Windows Server)

IIS on Microsoftin verkkopalvelin, jota käytetään Windows-hostingissa. Pakkauksen käyttöönotto tapahtuu täällä kahdella tavalla: graafisen käyttöliittymän tai komentorivin kautta.

IIS-käyttöliittymän kautta. Avaa IIS Manager. Etsi "Components" → "Services" -osiosta "Compression". Valitse ruudut "Enable static content compression" ja "Enable dynamic content compression". Napsauta "Actions"-paneelissa "Apply".

Komentorivin kautta (järjestelmänvalvojana):

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

Staattinen pakkaus tallentaa valmiiksi pakatut versiot tiedostoista levylle säästäen prosessoriaikaa. Dynaaminen pakkaus pakkaa vastaukset "lennossa" ja sopii personoiduille sivuille, mutta kuormittaa prosessoria. Käytännössä WordPressille molemmat tilat ovat käytössä: staattinen hoitaa CSS/JS-tiedostot, kun taas dynaaminen hoitaa kunkin sivun HTML:n.

Tapa 4: hosting-palveluntarjoajan hallintapaneelin kautta

Useimmat nykyaikaiset hosting-palveluntarjoajat ottavat GZIP:n oletuksena käyttöön. Jos olet cPanelissa, mene "Site Optimization"- tai "Performance"-osioon ja etsi "Compression"- tai "Compress content" -kytkin. Pleskissä polku on samankaltainen: "Performance" → "Output Compression".

Jos et löydä kytkintä, kirjoita hosting-tukeen. Tämä on vakiopyyntö; tekninen tuki vastaa siihen minuuteissa ja usein ottaa pakkauksen käyttöön palvelintasolla yhdellä vastauksella. Sinun ei tarvitse selittää, mitä GZIP on; riittää, kun kirjoitat "Ota GZIP-pakkaus käyttöön sivustolleni, kiitos".

Voit tarkistaa, pakkaako hosting jo sivuja ennen mitään muokkauksia; menetelmä on kuvattu alla olevassa osiossa "Miten tarkistaa, onko pakkaus käytössä". Jos tarkistus osoittaa, että GZIP toimii, ohita kaikki palvelinmenetelmät ja siirry lisäosiin vain, jos haluat hallita pakkausta WordPressin hallintapaneelista.

Tapa 5: W3 Total Cache -lisäosa

W3 Total Cache on yksi WordPress-tietovarannon vanhimmista välimuistilisäosista, jolla on miljoona aktiivista asennusta ja arvosana 4,5 WordPress.orgissa. GZIP-pakkaus otetaan siinä käyttöön erillisellä valintaruudulla, eikä se vaadi palvelintiedostojen muokkaamista.

HTTP-pakkausasetukset W3 Total Cachessa

Asenna lisäosa WordPress-tietovarannosta, siirry kohtaan Performance → Browser Cache ja etsi "HTTP (gzip) compression" -osio. Valitse "Enable HTTP (gzip) compression" -ruutu ja tallenna asetukset. Lisäosa lisää tarvittavat direktiivit automaattisesti .htaccess-tiedostoon tai määrittää NGINX-säännöt sen mukaan, millä palvelimella sivusto toimii.

  • Edut: ei muokkaa palvelintiedostoja käsin, miljoona asennusta vahvistaa vakauden, yhteensopiva CDN:n ja Brotlin kanssa
  • Haitat: käyttöliittymä on täynnä vaihtoehtoja, aloittelija voi helposti rikkoa välimuistituksen väärällä valintaruudulla

Tapa 6: WP Rocket -lisäosa

WP Rocket on maksullinen suorituskykylisäosa, joka lisää automaattisesti GZIP-säännöt .htaccess-tiedostoon aktivoinnin jälkeen. Siinä ei ole pakkausasetuksia; se otetaan käyttöön automaattisesti asennuksen yhteydessä.

  • Hyvää: ei lainkaan manuaalista työtä, pakkaus käytössä automaattisesti, lisäosa hoitaa myös joukon muita tehtäviä (välimuisti, laiska lataus, minifiointi)
  • Huonoa: maksullinen (alkaen 59 $ vuodessa), pelkästä GZIP-pakkauksesta ylihinnan maksaminen ei ole perusteltua

Jos olet jo ostanut WP Rocketin muita tehtäviä varten, pakkaus on jo käytössä. Jos harkitset lisäosan hankkimista vain GZIP-pakkausta varten, älä tee sitä: .htaccess tai W3 Total Cache tekevät saman ilmaiseksi.

Tapa 7: WP Super Cache -lisäosa

WP Super Cache on ilmainen välimuistilisäosa Automatticilta (samalta porukalta WordPress.comin takaa). Se toimii yksinkertaisemmin kuin W3 Total Cache: vähemmän asetuksia, pienempi riski rikkoa jotain.

Pakkausasetukset WP Super Cachessa

Asenna lisäosa, siirry kohtaan Asetukset → WP Super Cache → Lisäasetukset ja etsi kohta "Pakkaa sivut, jotta ne toimitetaan kävijöille nopeammin". Ota käyttöön ja tallenna.

  • Hyvää: ilmainen, selkeä käyttöliittymä, Automatticin vakaa koodi
  • Huonoa: välimuistitoiminnoiltaan W3 Total Cachea heikompi, pakkaustyyppien hienosäätö puuttuu

Miten GZIP-pakkaus toimii käytännössä

Kun selain pyytää sivua, se lähettää otsakkeen Accept-Encoding: gzip, deflate, br, mikä tarkoittaa "ymmärrän gzip, deflate ja brotli, lähetä missä tahansa näistä muodoista". Palvelin näkee tämän otsakkeen, tarkistaa, onko pakkaus käytössä pyydetylle tiedostotyypille, ja jos on, pakkaa vastauksen ja lisää otsakkeen Content-Encoding: gzip.

Selain vastaanottaa pakatun datan, purkaa sen muistissa ja renderöi sivun. Käyttäjälle kaikki tapahtuu välittömästi; gzip-purku vie millisekunnin murto-osia jopa heikolla mobiililaitteella.

Tämä mekanismi on universaali: se toimii samalla tavalla Apachelle, NGINXille, IIS:lle ja kaikille WordPress-lisäosille. Lisäosat eivät keksi omaa pakkausmenetelmäänsä; ne yksinkertaisesti lisäävät samat palvelindirektiivit, jotka kirjoitimme manuaalisesti kolmessa ensimmäisessä tavassa.

Mitä Google PageSpeed Insights ja GTmetrix näyttävät

Molemmat palvelut, PageSpeed Insights ja GTmetrix, tarkistavat pakkauksen jokaisen auditoinnin yhteydessä ja korostavat ongelman erikseen, jos tekstiresursseja tarjoillaan ilman GZIP-pakkausta.

Pakkausvaroitus Google PageSpeed Insightsissa

PageSpeed Insightsissa varoitus näkyy muodossa "Ota tekstin pakkaus käyttöön" auditoinnin "Mahdollisuudet"-osiossa. Lighthouse (PageSpeed Insightsin moottori) arvioi suoraan potentiaaliset säästöt kilotavuina jokaiselle pakkaamattomalle resurssille. GTmetrixissä on vastaava tarkistus, "Ota GZIP-pakkaus käyttöön" "Sisältö"-kategoriassa.

Tärkeä huomio: PageSpeed Insights tai GTmetrix eivät erottele GZIP- ja Brotli-pakkausta suositustasolla. Jos pakkaus on käytössä kummalla tahansa menetelmällä, auditointi näyttää vihreää valintamerkkiä. GZIP siis riittää auditoinnin läpäisemiseen.

Miten tarkistaa, onko pakkaus käytössä

Kolme tapaa visuaalisesta matalan tason tapaan.

Tapa 1: Chrome DevTools. Avaa sivusto, paina F12, siirry Network-välilehdelle. Päivitä sivu, klikkaa mitä tahansa riviä ja katso Headers-välilehteä. Etsi rivi Content-Encoding: gzip Response Headers -osiosta.

Content-Encoding gzip -otsake Chrome DevToolsissa

Siellä näet myös todellisen ja pakatun koon: yllä olevassa esimerkissä sivu painoi 51,6 kt ja pakkauksen jälkeen 17,7 kt.

Tiedostokoon vertailu ennen ja jälkeen pakkausta Chrome DevToolsissa

Tapa 2: verkkotestaustyökalut. GiftOfSpeed GZIP Test (giftofspeed.com/gzip-test) tai Check GZIP Compression (checkgzipcompression.net): liität URL-osoitteen ja saat tuloksen sekä pakkausprosentin. Nopeampi kuin DevTools, jos sinun täytyy tarkistaa jonkun toisen sivusto tai useita sivuja peräkkäin.

Tapa 3: curl komentoriviltä. Jos käytät Linuxia/macOS:ää tai WSL:ää Windowsissa:

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

Vastaus Content-Encoding: gzip tarkoittaa, että pakkaus toimii. Tyhjä vastaus tarkoittaa, että ei toimi.

Lyhyt videoesitys

Sulkeaksemme aiheen visuaaliselta puolelta, tässä on lyhyt video, joka näyttää koko prosessin GZIP-pakkauksen käyttöönotosta .htaccess-tiedoston kautta ja tuloksen tarkistamisesta Chrome DevToolsissa:

⁉️🤔 Usein kysytyt kysymykset

Hidastaako GZIP-pakkaus palvelinta?

Päinvastoin. Kyllä, prosessori käyttää resursseja pakkaamiseen, mutta tämä on mikroskooppinen kuorma verrattuna siirrettävän datan vähenemisestä saatavaan hyötyyn. Pakkaustasolla 6 (vakiokompromissi) prosessori hoitaa sen millisekunneissa. Ainoa skenaario, jossa pakkaus voi olla havaittavaa, on erittäin heikko VPS, jossa on 512 Mt muistia ja tuhansia samanaikaisia kävijöitä. Mutta siinä tilanteessa sinulla on vakavampia ongelmia kuin GZIP. Käytännössä pakkaus ei hidasta palvelinta: tyypillinen WordPress-sivu pakataan 2-5 millisekunnissa, kun taas säästöt tiedonsiirrossa verkon yli ovat kymmeniä ja satoja millisekunteja jokaiselle kävijälle. Pakkaus on aina hyödyllisempää kuin sen puuttuminen.

GZIP vai Brotli: kumpi valita vuonna 2026?

Aloita GZIP-pakkauksella; se toimii millä tahansa hostingilla ja kaikki selaimet tukevat sitä poikkeuksetta. Brotli pakkaa huomattavasti paremmin, mutta vaatii HTTPS:n (ei ongelma vuonna 2026) ja palvelinpuolen tuen. Jos hosting tai CDN (Cloudflare, BunnyCDN) tukee Brotlia, ota se käyttöön GZIP-pakkauksen lisänä. Useimmat nykyaikaiset sivustot käyttävät molempia: palvelin tarjoilee Brotlia sitä ymmärtäville selaimille ja GZIP-pakkausta kaikille muille.

Onko GZIP-pakkaus yhteensopiva CDN:n kanssa?

Täysin. CDN:t, kuten Cloudflare tai BunnyCDN, pakkaavat sisällön itse reunapalvelimillaan, usein Brotli-muotoon, vaikka hostingisi ei sitä tukisikaan. Jos sivusto on jo Cloudflaren takana, tarkista, että "Brotli"-vaihtoehto on käytössä kohdassa "Nopeus" → "Optimointi". Tässä skenaariossa GZIP-pakkauksen määrittäminen palvelintasolla on silti hyödyllistä varajärjestelynä suorille pyynnöille alkuperäispalvelimelle.

Minulla on välimuistilisäosa. Täytyykö GZIP ottaa käyttöön erikseen?

Riippuu lisäosasta. WP Rocket ottaa GZIP-pakkauksen käyttöön automaattisesti, W3 Total Cache erillisellä valintaruudulla, WP Super Cache erillisellä valintaruudulla. Tarkista lisäosasi asetukset; lähes kaikissa välimuistilisäosissa on pakkausvaihtoehto, mutta kaikki eivät ota sitä oletuksena käyttöön. Älä luota siihen, että "sen pitäisi toimia"; tarkista DevToolsin kautta asennuksen jälkeen.

Voinko pakata sivut functions.php-tiedoston kautta?

Teknisesti voit, PHP-funktiolla ob_start('ob_gzhandler'), mutta emme suosittele sitä. Tämä menetelmä pakkaa PHP-tulosteen eikä vaikuta staattisiin tiedostoihin (CSS, JS), jotka muodostavat suurimman osan liikenteestä. Palvelinpuolen pakkaus (Apache/NGINX) toimii kaikille tiedostotyypeille eikä kuormita PHP-prosessoria. Jätä PHP-pakkaus niihin harvoihin tapauksiin, joissa palvelimen asetuksiin ei ole fyysisesti pääsyä.

Johtopäätökset: mitä ja milloin ottaa käyttöön

GZIP ei ole "aseta ja unohda" -vaihtoehto, vaan WordPress-sivuston perushygieniaa. Jos et juuri nyt tiedä, pakkaako palvelimesi sivuja, avaa DevTools ja tarkista Content-Encoding-otsake. Puuttuuko? Palaa tapaan 1 ja lisää kolme riviä .htaccess-tiedostoon.

Lyhyt päätösmatriisi:

  • Sivusto Apachella etkä pelkää FTP:tä → tapa 1 (.htaccess), 5 minuuttia
  • Sivusto NGINX:llä ja sinulla on pääsy konfiguraatioihin → tapa 2 (nginx.conf), 10 minuuttia syntaksin tarkistuksineen
  • Et koske palvelintiedostoihin periaatteesta → W3 Total Cache tai WP Super Cache, 2 minuuttia
  • Maksat jo WP Rocketista → älä tee mitään, pakkaus toimii suoraan laatikosta
  • Et halua säätää mitään itse → kirjoita hotellin tukeen

Tarkista tulos millä tahansa kolmesta yllä olevasta tavasta ja sulje tämä kysymys lopullisesti. Tämä on se harvinainen optimointi, joka todella tehdään kerran ja joka säästää liikennettä ja nopeuttaa sivustoa vuosia myöhemmin ilman päivityksiä, tilauksia ja toistuvaa konfigurointia.