Opas WordPress-sivuston nopeuttamiseen

Tässä postauksessa kerron miksi sivuston nopea toiminta on erityisen tärkeää, mitkä asiat vaikuttavat WordPress-sivuston nopeuteen ja miten voit nopeuttaa omaa sivustoasi.

Miksi sivuston nopea toiminta on niin tärkeää?

Jos sivusto toimii hitaasti, potentiaaliset asiakkaat eivät välttämättä jaksa odottaa sen avautumista. Jos asiakas on löytänyt sivuillesi Googlen kautta, hän luultavasti klikkaa takaisin hakutuloksiin ja valitsee seuraavan sivuston, jossa tarjotaan vastaavaa tuotetta tai palvelua. Arvasitkin jo varmaan, että se on kilpailijasi sivusto ja heitit hukkaan mahdollisuutesi. Tämä voi toistua jopa kymmeniä tai satoja kertoja päivässä, joten vaikutus voi olla hyvinkin suuri myös rahassa mitattuna.

”Mutta kun ei muilta saa vastaavaa tuotetta.” Jos tämä ajatus tuli ensimmäisenä mieleesi, niin kannattaa katsoa asiaa hieman eri näkökulmasta: vaikka tuotteesi olisi ainutlaatuinen ja vastaavaa ei olisi tarjolla, hyvin todennäköisesti korvaavia tuotteita on. Ja vaikka tuotteesi olisi paljon parempi kuin nämä korvaavat vaihtoehdot, siitä ei ole mitään hyötyä, jos et ehdi kertomaan sitä.

Miksi siis laittaisit potentiaalisen asiakkaan odottamaan turhaan, kun voisit yhtä hyvin palvella häntä samalla sekunnilla?

Sivuston nopeus on myös yksi Googlen ranking-kriteereistä. Jos kaksi sivustoa on suunnilleen tasoissa hakutuloksissa ja toinen optimoidaan selvästi nopeammaksi, se todennäköisesti nousee hitaamman edelle.

Miten voit testata oman sivustosi nopeuden?

Vaikka sivuston nopeuden huomaa jo sivustoa käyttämällä, niin se kannattaa myös testata tähän tarkoitetuilla työkaluilla. Näin saadaan tarkkaa tietoa siitä, mihin asioihin nopeusoptimoinnissa kannattaa ensimmäisenä kiinnittää huomioita ja miten tehdyt toimenpiteet vaikuttavat.

Työkaluja, joilla voit mitata sivustosi nopeutta:

  • Google Page Speed
    • Hyviä vinkkejä optimointiin, mutta WordPress-sivuilla ”Poista hahmonnuksen estävä JavaScript ja CSS sivun yläosan sisällöstä”-suositusta ei kaikissa tapauksissa kannata noudattaa, sillä jotkin lisäosat olettavat, että jQuery ladataan <head>-osiossa. Lisäksi teeman tyylitiedosto kannattaa ladata aina <head>-osiossa, jotta vältytään tyylittömän sivun vilahtamiselta.
  • Pingdom Tools
    • Valitse ”Test from”-kohtaan lähin mahdollinen, esim. Stockholm, jos sivustosi on hostattu Suomessa.
    • Ehkä paras työkalu latausnopeuden mittaamiseen
    • Tässä testissä alle 1s (1000ms) on jo kelvollinen tulos, mutta pienempi on tietenkin aina parempi. Esimerkiksi tämä sivu latautuu yleensä alle puolessa sekunnissa.
  • GTMetrix
    • Hyviä vinkkejä optimointiin, mutta latausaika on aika kaukana todellisesta, koska testiserveri on Kanadassa saakka
  • WebPagetest
    • Valitse ”Test Location”-kohtaan lähin mahdollinen
  • Load Impact
    • Helppokäyttöinen selaimessa toimiva rasitustestityökalu
    • Rekisteröimättä voi testata vain 25 käyttäjän kuormaa, joka ei käytännössä vaikuta mitenkään latausaikaan (vihreä käyrä) ellei asiat ole todella huonosti. Rekisteröitymällä saa testattua suurempia kuormia.

Muista testata etusivun lisäksi myös muut tärkeät sivut, kuten:

  • yhteydenottolomakkeita sisältävät sivut
  • sivut, joille mainoksistasi johtavat
  • tuotesivut

Mitkä asiat vaikuttavat sivuston nopeuteen?

Hosting-ratkaisu

Jaettu web-hotelli, virtuualipalvelin, dedikoitu palvelin vai pilvi?

Sivuston ylläpitoratkaisu kannattaa miettiä aina tapauskohtaisesti. Pienelle sivustolle, jolla on todella vähän kävijöitä, riittää yleensä jaettu web-hotelli. Web-hotelleissa on kuitenkin paljon eroja ja halvimmat kannattaa suosiolla jättää testaamatta. Kun kävijämäärä kasvaa hieman, niin yleensä jaettu web-hotelli alkaa käydä hitaaksi. Tällöin kannattaa siirtyä suoraan skaalautuvaan pilvipohjaiseen hosting-ratkaisuun, jonka resursseja voidaan helposti kasvattaa tai pienentää aina tarpeen vaatiessa. Virtuaalipalvelinta tai dedikoitua palvelinta ei kannata yleensä käyttää, koska niiden resursseja ei voida säätää yhtä helposti ja niiden toimintavarmuus on hajautettua pilveä matalampi.

Tärkeintä on, että palvelimessa on riittävästi prosessointikapasiteettia (CPU) ja käyttömuistia (RAM) sivustoon ja kävijämäärään nähden. Kaikkein vilkkaimmilla sivustoilla eri tehtävät voidaan jakaa useammalle palvelimelle esimerkiksi niin, että tietokanta ja välimuistitus hoidetaan erillisillä palvelimilla.

Kävijämäärä

Kävijämäärä ei suoraan vaikuta sivuston latausnopeuteen, koska sivustot voivat olla keskenään todella erilaisia. Kevyt sivusto voi kestää hyvinkin kymmenkertaisen yhtäaikaisen kävijämäärän kuin raskaampi samanlaisella hostingilla varustettu sivusto.

PHP versio

Nykyään WordPressin kanssa kannattaa käyttää uusinta PHP7.2-versiota, joka on suunnilleen tuplasti nopeampi kuin aiempi PHP5.6. PHP7.2 on myös nopeampi kuin aiemmin laajasti WordPressin kanssa käytetty HHVM. Hosting-ratkaisua valitessa kannattaa varmistaa, että uusin PHP-versio on saatavilla. Kannattaa myös huomioida, että jos sivustosi on todella vanha, se ei välttämättä toimi sellaisenaan PHP:n uusimpien versioiden kanssa.

Nginx vs Apache

Suurin ero Nginx- ja Apache-serveriohjelmistojen välillä on tavassa, jolla ne hoitavat yhtäaikaiset yhteydet. Apache antaa jokaiselle yhteydelle oman prosessin eli suuri kävijämäärä vaatii suuren määrän prosesseja. Nginx taas voi hoitaa tuhansia yhteyksiä yhdellä prosessilla ja se luo uusia prosesseja vain tarvittaessa. Näin Nginx pystyy tarjoamaan sivuston useammalle yhtäaikaiselle käyttäjälle ilman, että sivusto alkaa hidastua.

Apache on julkaistu vuonna 1995, kun verkkosivuilla oli vielä huomattavasti nykyistä vähemmän kävijöitä. Useimmat edulliset web-hotellit käyttävät edelleen kuitenkin Apachea, koska niissä ei ole tarkoitus pitää sivustoja, joilla on useita yhtäaikaisia käyttäjiä.

MySQL vs MariaDB

Useimmissa web-hotelleissa on oletuksena käytössä MySQL. MariaDB on joissakin testeissä hieman MySQL-tietokantaa nopeampi. Käytännön ero ei kuitenkaan ole kovinkaan suuri, eli nopeuden takia vaihto kannattaa vasta kun kaikki muut toimenpiteet sivuston nopeuttamiseksi on tehty.

Sijainti

Periaatteessa palvelimen sijainti kannattaa valita mahdollisimman läheltä asiakkaitasi, jotta verkosta johtuva viive olisi mahdollisimman lyhyt. Jos asiakkaasi ovat useissa maissa, kannattaa käyttää myös sisällönjakeluverkostoa eli CDN:ää, josta kerron hieman lisää jutun lopussa.

Teema

WordPressille löytyy tuhansia erinäköisiä teemoja. Jokainen teema on myös koodattu eri tavalla, osa paremmin ja osa huonommin. Teemaa valitessa harva kuitenkaan kiinnittää huomiota muuhun kuin ulkonäköön ja siihen, että ominaisuuksia on varmasti tarpeeksi. Tällä taktiikalla tulee usein valittua se kaikista hitain teema, jolla kuitenkin on mahdollista luoda ihan minkä tahansa näköiset sivut helposti hiirellä klikkailemalla. Niinpä jo teemaa valitessa kannattaisi kiinnittää huomiota sen nopeuteen eikä siihen, että se sisältää 12 erilaista kuvaglleriaa 7:llä erilaisella animaatiolla.

Aina varma valinta on käyttää WordPressin oletusteemoja kuten Twenty Sixteen tai Twenty Seventeen tai tehdä lapsiteema näille. Jos näiden käyttäminen ei kuitenkaan innosta, niin toinen hyvä vaihtoehto on teettää sivustolle räätälöity teema, jossa ei ole mitään ylimääräistä hidastamassa. Jos päädyt teettämään teeman, varmista, että se koodataan WordPressin standardien mukaisesti, jotta päivityksissä tai tietoturvassa ei tule ongelmia. Tuhannen toiminnon valmisteemoja ei yleensä ole tehty standardeja noudattaen ja niissä esiintyykin usein pientä korjattavaa päivitysten yhteydessä.

Nyrkkisääntönä voisi melkeinpä pitää, että mitä enemmän teemassa on ominaisuuksia ja muokkausmahdollisuuksia, sitä hitaampi se todennäköisesti on.

Täältä löydät tietoa WordPress-teemojen koodin laadusta ja voit tarkistaa ennen ostopäätöstä, että teemassasi ei ole virheitä: themecheck.org

Lisäosat

Monesti kuulee sanottavan, että jokin tietty määrä lisäosia olisi liikaa. Asia ei kuitenkaan ole näin yksinkertainen, vaan lisäosien kappalemäärää enemmän vaikuttaa niiden laajuus ja se miten ne on toteutettu. Yksi huono lisäosa voi hidastaa sivustoa paljon enemmän kuin 10 hyvää. Toki lisäosien kappalemääräänkin kannattaa kiinnittää huomiota, sillä usein jos yhdellä sivustolla alkaa olla kymmeniä lisäosia, osa niistä ei ole välttämättömiä ja saattavat sisältää keskenään myös samoja ominaisuuksia. Mieti myös, tarvitsetko oikeasti kaikkia ominaisuuksia vai pärjäisitkö yhtä hyvin ilman.

P3 Plugin Performance Profiler- ja Query Monitor -lisäosilla voit selvittää mitkä lisäosat hidastavat sivustoasi eniten ja miettiä voisitko korvata ne kevyemmillä. Nämä lisäosat kannattaa poistaa selvityksen jälkeen. Tietoturvasyistä myös muut ei-aktiiviset lisäosat kannattaa poistaa kokonaan palvelimelta, vaikka nopeushyötyä tällä ei saavutetakaan.

Huonosti koodattuja WordPress-lisäosia on tuhansia. Listaan tähän muutamia yleisesti käytettyjä lisäosia, jotka hidastavat sivustoa tuntuvasti ja joiden käyttöä kannattaa välttää:

  • NextGen Gallery
  • Visual Composer
  • Revolution Slider
  • Broken Link Checker
  • Wordfence
  • Jetpack

Valitettavan usein lisäosa on tehty muuten fiksusti, mutta latausnopeuteen ei ole kiinnitetty riittävästi huomiota. Esimerkkinä yleisesti suosittu lomakelisäosa Contact Form 7, joka lataa css- ja js-tiedostot myös sivuilla, joilla ei ole lomaketta ja näin ollen niitä ei tarvittaisi.

Kuvat

Verkkosivuilla ei kannata käyttää turhan suurikokoisia kuvia, vaan esimerkiksi kännykällä tai kameralla otetut kuvat pitää aina pienentää ja pakata ennen sivuille lataamista. Tämä kannattaa tehdä esim. Photoshopilla tai muulla kuvanmuokkausohjelmalla. Myös selaimessa toimivia kuvien pienennystyökaluja on olemassa, kuten TinyPNG.

Käytä aina sopivan kokoisia kuvia, maksimissaan 2x resoluutiolla verrattuna siihen resoluutioon, missä ne näytetään selaimessa. Yleensä 1x resoluutio riittää vallan mainiosti, mutta suuritarkkuuksisilla näytöillä (esim. Retina) kuvat voivat olla hieman epätarkkoja. Myös oikea tiedostomuoto auttaa kuvien koon pienentämisessä: valokuville paras on jpg ja yksinkertaisille ikoneille ja logoille png tai mieluummin inline svg, jolloin kuvatiedostoa ei tarvitse erikseen hakea palvelimelta kun se on upotettu html-koodiin.

Samalla kun pienennät kuvia, muista poistaa niiden nimistä ääkköset tai ne eivät näy kaikilla selaimilla. Tämän voi tehdä myös halutessaan Clean Image Filenames -lisäosalla.

Kuvien optimointiin löytyy myös paljon valmiita lisäosia, joista helpoin on ehkä Optimize Images After Upload, jolla voi asettaa maksimimitat pikseleinä mediakirjastoon ladatuille kuville. Lisäksi WordPressistä itsestään löytyy toiminto kuvien pakkaamiseen, mutta se ei sellaisenaan ole kovin hienostunut, koska se pakkaa myös valmiiksi sopivan pieniä kuvia heikentäen niiden laatua.

Fiksuin tapa ylisuurten kuvien pakkaamiseen onkin asentaa palvelimelle jpgoptim-paketti ja ajastetusti (esim. öisin kun palvelimen muu kuormitus on matalampaa) pakata tietyn tiedostokoon (esim. 200 kt) ylittävät kuvat.

Sivun koko kilotavuissa

Erilaiset sivut voivat olla hyvinkin eri kokoisia; verkkokaupassa voidaan ladata 20 tuotekuvaa yhdelle sivulle, kun taas yhteystietosivulla ei välttämättä näy ainuttakaan kuvaa logon lisäksi. Toisella sivulla voi olla paljon toimintoja ja erilaisia elementtejä, jolloin css- ja JavaScript-tiedostot ovat suurempia kuin yksinkertaisemmalla sivulla.

Yksittäistä sivuston sivua pitää aina ajatella kokonaisuutena. Etusivulle voidaan huoletta laittaa 200kt kokoinen kuva, jos se on sivun ainoa kuva. Jos kokeilet laittaa 20 samankokoista kuvaa yhdelle sivulle huomaat, että se ei enää lataudukaan niin nopeasti. Verkkokaupassa tämä saattaa olla ongelma, jos halutaan käyttää korkealaatuisia kuvia myös tuotelistauksessa. Tällöin kuvat kannattaa ladata laiskasti, eli käyttää lazy load -tekniikkaa. Tämä onnistuu esimerkiksi BJ Lazy Load -lisäosalla.

Myös css- ja JavaScript-tiedostot voivat olla niin suuria, että ne hidastavat sivun latautumista merkittävästi. Näin käy helposti, jos sivusto on tehty ”kaikkea kaikille”-tyyppisellä valmisteemalla ja jokaista somejakonappulaa varten on omat lisäosansa, jotka lataavat omat tyylinsä. Tämä voidaan korjata vaihtamalla teema kevyempään ja korvaamalla lisäosat paremmilla.

HTTP/2 ja pyyntöjen määrä

Ennen HTTP/2-aikaa paljon erillisiä tiedostoja tarkoitti suoraan hidasta sivustoa. HTTP/2-protokollaa käyttämällä palvelin voi kuitenkin lähettää tiedostot selaimelle ilman, että selaimen pitää pyytää jokaista erikseen. Tämän takia pyyntöjen määrä ei enää vaikuta niin paljoa sivuston nopeuteen.

Tällä sivustolla voit testata käyttääkö sivustosi HTTP/2-protokollaa. SSL on edellytys HTTP/2:n käytölle.

Ulkopuoliset resurssit

Voit tarkistaa selaimen kehittäjätyökaluja käyttäen paljonko sivustollesi ladataan tiedostoja muilta kuin omalta palvelimeltasi. Näet tämän myös mm. Pingdom testityökalulla. Tällaisia tiedostoja ovat yleensä kävijäseurantaan ja analytiikkaan liittyvät scriptit, asiakaspalveluchatin scriptit sekä Googlen tai Adoben palvelimilta ladattavat fontit. Näiden määrä kannattaa pitää minimissä ja mieluiten ladata ne sivuston alaosassa tai asynkroonisesti. Usein näiden ohjeissa käsketään asentaa scriptit sivuston <head>-osioon, mutta läheskään aina se ei ole tarpeellista tai kannattavaa.

WordPressin lataamat tiedostot

WordPress lataa sivustollesi automaattisesti joitakin tiedostoja, joita se olettaa sivustosi tarvitsevan. Näitä ovat esimerkiksi JavaScript-kirjasto jQuery ja sen laajennus jQuery Migrate, joka parantaa yhteensopivuutta vanhempien teemojen ja lisäosien kanssa.

Monet teemat ja lisäosat tarvitsevat jQueryä vaikka samat toiminnot olisi mahdollista toteuttaa ilman kirjastoa pelkällä JavaScriptillä.

Oletuksena WordPress lataa nämä <head>-osiossa, jossa ne hidastavat sivun renderöintiä, mutta ne voidaan kuitenkin helposti siirtää sivun alaosaan seuraavalla koodilla:
add_action( 'wp_default_scripts',
function( $wp_scripts ) {
$wp_scripts->add_data( 'jquery', 'group', 1 );
$wp_scripts->add_data( 'jquery-core', 'group', 1 );
$wp_scripts->add_data( 'jquery-migrate', 'group', 1 );
}
);

jQuery Migrate on kuitenkin monella sivustolla turha. Jos sivustollasi ei tarvita sitä, voit estää sen lataamisen seuraavalla koodilla:
add_action( 'wp_default_scripts',
function( $wp_scripts ) {
if ( !is_admin() && isset( $wp_scripts->registered['jquery'] ) ) {
$script = $wp_scripts->registered['jquery'];
if ( $script->deps ) {
$script->deps = array_diff( $script->deps, array( 'jquery-migrate' ) );
}
}
}
);

Useimmilla sivustoilla jQuery on tarpeellinen. Jos sivustollasi ei kuitenkaan tarvita sitä, voit estää sen lataamisen seuraavalla koodilla:
add_action( 'wp_enqueue_scripts',
function() {
if( !is_admin() ){
wp_dequeue_script( 'jquery' );
wp_deregister_script( 'jquery' );
}
}
, 30);

Näiden lisäksi WordPress lataa skriptejä upotuksia (embeds) ja hymiöitä (emojis) varten. Nämäkin voidaan poistaa, jos kyseisiä toimintoja ei tarvita tai tulla tarvitsemaan.

Upotukset saat pois tällä koodilla:
add_action( 'wp_footer',
function() {
wp_dequeue_script( 'wp-embed' );
}
);

Hymiöt tällä:
add_action( 'init',
function() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
}
);

Näiden toimintojen poistaminen ei vaikuta kovin paljoa latausnopeuteen. Jos siis epäilet, että näitä saatetaan tarvita myöhemmin kannattaa suosiolla jättää ne käyttöön. Jos päätät poistaa jQueryn tai jQuery Migraten niin testaa sivustosi kaikki toiminnot huolellisesti. Myös kännykällä.

Tietokannan koko

WordPress säilyttää sivuston sisältöä ja asetuksia tietokannassa. Sisällön määrän kasvaessa myös tietokanta kasvaa. Myös kommentit ja automaattisesti tallennetut versiot sivuista, artikkeleista ja muista postaustyypeistä kasvattavat tietokantaa. Mitä suurempi tietokanta on, sitä hitaampaa sieltä on hakea tietoa.

Mahdolliset roskakommentit kannattaa poistaa säännöllisesti tai asettaa ne automaattisesti poistettaviksi. Myös postausten automaattisesti tallennetut versiot kannattaa ottaa pois käytöstä tai rajoittaa niiden määrää. Et kuitenkaan tarvitse kuin korkeintaan muutaman viimeisimmän version postauksistasi.

Voit rajoittaa postausten versioiden määrän neljään (3 versiota + 1 automaattisesti tallennettu) lisäämällä seuraavan rivin wp-config.php -tiedostoosi:

define( 'WP_POST_REVISIONS', 3 );

Jos et tarvitse ollenkaan versioita, niin voit vaihtaa kolmosen paikalle nollan.

Tietokannan optiomointiin löytyy myös lisäosia, joista ehkä helpoin on WP-Optimize

Välimuistitus eli caching

Välimuistitus- eli caching-lisäosilla voidaan helposti välttää sivuston uudelleenrakentaminen jokaiselle käyttäjälle erikseen ja näin saavuttaa huomattavasti parempi latausnopeus. Optimaalisessa tilanteessa vain ensimmäiselle muutosten jälkeen sivustolla vierailevalle kävijälle kasataan sivu WordPressin ja PHP:n avulla tietokannasta asti ja kaikille muille näytetään tämän ensimmäisen vierailun perusteella kasattu staattinen sivu.

Myös käyttäjän selaimen välimuistiin voidaan tallentaa staattisia tiedostoja, kuten kuvia, css- ja JavaScript-tiedostoja ja fontteja. Näin palvelin ei joudu lähettämään näitä uudelleen jokaisella sivulatauksella.

Mikä caching-lisäosa kannattaa asentaa?

Staattisia sivuja tekee mm. WP Super Cache ja WP Fastest Cache. WP Super Cache on näistä hieman monipuolisempi, sillä se toimii myös WordPress Multisiten (network) ja Nginx-serverin kanssa. WP Fastest Cachesta taas löytyy hieman enemmän toimintoja tiedostojen minifiointiin ja pakkaukseen liittyen. Molemmista löytyy mm. mahdollisuus käyttää Apachen mod_rewrite toimintoa, jolloin PHP:ta ei tarvitse ajaa kun Apache voi itse tarjota staattiset sivut. WP Super Cachea käytettäessä Nginx serverin voi myös konfiguroida niin, että PHP:ta ei ajeta turhaan.

Staattisten sivujen luomisen lisäksi pakkausta, tiedostojen yhdistämistä ja minifikaatiota käyttää mm. WP Rocket ja W3 Total Cache. Näistä ominaisuuksista ei kuitenkaan ole juurikaan hyötyä, jos sivustosi koodi on valmiiksi minifioitua ja käytössä on HTTP/2, jolloin ladattavien tiedostojen kappalemäärällä ei ole niin paljoa merkitystä. Gzip-pakkausta ei kuitenkaan pitäisi tietoturvan takia käyttää SSL:n kanssa ja tarvittaessa sen voi laittaa päälle myös ilman lisäosaa. Jos sivuston koodi on kuitenkin jäänyt minifioimatta ja se lataa jopa kymmeniä erillisiä JS- ja CSS-tiedostoja, saattaa näillä ominaisuuksilla olla huomattava vaikutus sivuston nopeuteen. WP Rocket on helppo ottaa käyttöön, kun taas W3 Total Cache vaatii hieman enemmän perehtymistä.

Karkeana yleistyksenä voisi sanoa, että jos sivustosi koodi on valmiiksi hyvin optimoitua ja haluat päästä helpolla, asenna WP Super Cache. Jos taas sivusi on tehty tuhannen ominaisuuden valmisteemalla ja lisäosiakin on päässyt kertymään hieman enemmän kuin muutamia, kannattaa kokeilla WP Rocketia tai WP Super Cache + Autoptimize komboa. Autoptimizella voit minifioida ja yhdistää sivustosi html-, js- ja css-koodin. Kaikki tässä mainitut caching-lisäosat ovat ilmaisia WP Rocketia lukuunottamatta.

Caching-lisäosa riittää useimmissa tapauksissa, mutta oikein suuria yhtäaikaisia liikennemääriä varten on olemassa parempiakin ratkaisuja, kuten reverse proxy (esim. Varnish), jolla vältetään WordPressin ja PHP:n ajo jokaiselle käyttäjälle erikseen ja object cache (esim. Redis tai Memcached), joka tallentaa tietokantakyselyjen vastaukset välimuistiin.

Selaimen välimuisti (Browser Cache)

Osa caching-lisäosista asettaa Apachea käytettäessä tiedostoille ”expiry headerit”, eli ne hyödyntävät käyttäjän selaimen välimuistia. Nginxiä käytettäessä lisäosat eivät voi tehdä tätä. ”Expiry headerit” voi kuitenkin aina lisätä manuaalisesti:

Jos käytät Apachea voit kopioida nämä rivit .htaccess-tiedostoon:
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch "\.(css|js|pdf|jpg|jpeg|png|gif|svg|woff)$">
ExpiresDefault "access plus 30 days"
</FilesMatch>
</IfModule>

Nginxillä vastaavasti nämä rivit server{} -blockiin:
location ~* \.(css|js|pdf|jpg|jpeg|png|gif|svg|woff)$ {
expires 30d;
}

Tässä esimerkissä on hyvin pelkistetyt listat, joihin voit lisätä omalla sivustollasi käytettäviä tiedostotyyppejä.

Milloin tarvitaan CDN?

CDN eli Content Delivery Network on nimensä mukaisesti sisällön toimittamiseen suunniteltu verkko, jossa on useita välityspalvelimia eri fyysisissä sijainneissa. CDN:ää käytettäessä sivustosi välimuistitettu versio tai pelkät staattiset tiedostot tarjoillaan kävijöille näiden välityspalvelinten kautta. Näin kuorma jakaantuu useammalle palvelimelle ja sivusto latautuu nopeammin, koska yksikään käyttäjä ei joudu lataamaan sivustoa kovin kaukaiselta palvelimelta.

CDN:n käyttö on aina suositeltavaa, jos liiketoiminta on kansainvälistä tai sivustoa käytetään muuten ulkomailta. Jos taas yrityksesi toimii vain paikallisesti, CDN:n käytöstä ei ole niin suurta hyötyä koska silloin sivustolla vierailevat ovat todennäköisesti lähellä palvelintasi. Osa CDN-palveluiden tarjoajista (esim. Cloudflare) tarjoaa kuitenkin muitakin hyödyllisiä lisäpalveluita, kuten palvelunestohyökkäysten torjuntaa ja kuormantasausta.

Yhteenveto

WordPressin nopeusoptimointi saattaa olla hieman työlästä jos lähtökohdat ovat huonot. Joissakin tapauksissa helpoimmalla päästään kun rakennetaan sivusto alusta alkaen uusiksi kunnollisilla työkaluilla ja tekniikoilla. Jos tahdot apua sivustosi nopeusoptimointiin, voit laittaa minulle viestiä. Useimmissa tapauksissa jo parin tunnin työllä saadaan latausajat lyhenemään reippaasti.


Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

Kysy lisää tai pyydä tarjous!