Hidastavatko lisäosat WordPress-sivustoasi? Näin tunnistat ja korjaat ongelmat

 

WordPress-lisäosien vaikutus sivuston nopeuteen

WordPress-lisäosat ovat yksi julkaisujärjestelmän suurimmista vahvuuksista. Niillä voi lisätä sivustolle esimerkiksi lomakkeita, hakukoneoptimointia, välimuistin, verkkokaupan, tietoturvan, kuvagallerian tai evästebannerin ilman omaa ohjelmointityötä.

Lisäosat voivat kuitenkin myös hidastaa sivustoa. Tämä ei tarkoita, että lisäosia pitäisi vältellä tai että tietty lisäosamäärä olisi automaattisesti liikaa. Ratkaisevaa on se, mitä lisäosat tekevät, miten ne on toteutettu, missä niitä käytetään ja millaisella palvelimella sivusto toimii.

Yksi huonosti toteutettu lisäosa voi hidastaa sivustoa enemmän kuin kymmeniä hyvin koodattuja ja tarpeellisia lisäosia. Siksi tärkeintä ei ole kysyä, kuinka monta lisäosaa sivustolla on, vaan mitkä lisäosat ovat välttämättömiä ja miten ne vaikuttavat sivuston toimintaan.

Tässä artikkelissa käydään läpi, miksi lisäosat voivat hidastaa WordPress-sivustoa, miten mahdolliset ongelmat tunnistetaan ja mitä niiden korjaamiseksi voi tehdä.

Miten lisäosat voivat hidastaa WordPress-sivustoa?

Lisäosat voivat vaikuttaa sivuston nopeuteen monella eri tavalla. Osa vaikutuksista näkyy käyttäjän selaimessa, osa taas palvelimella ja tietokannassa.

Lisäosat voivat ladata ylimääräisiä CSS- ja JavaScript-tiedostoja

Monet lisäosat tuovat mukanaan omia tyylitiedostoja, JavaScriptiä, fontteja, kuvakkeita ja muita resursseja. Jos lisäosa lataa niitä jokaisella sivulla, vaikka toiminto näkyisi vain yhdellä sivulla, sivusto voi latautua tarpeettoman raskaasti.

Esimerkiksi yhteydenottolomakkeen lisäosa voi ladata lomakkeeseen liittyviä tiedostoja myös etusivulla, blogiartikkeleissa ja palvelusivuilla, vaikka lomake näkyisi vain yhteydenottosivulla.

Kyse ei ole pelkästään tiedostojen määrästä. Myös tiedostojen koko, JavaScriptin suorittaminen ja se, estävätkö tiedostot sivun näkyviin piirtymistä, vaikuttavat sivuston nopeuteen.

Lisäosat voivat tehdä paljon tietokantakyselyitä

WordPress hakee tietoa tietokannasta lähes jokaisella sivulatauksella. Lisäosat voivat lisätä omia asetuksiaan, taulujaan, metatietojaan ja kyselyitään.

Hyvin toteutettu lisäosa tekee vain tarpeelliset kyselyt. Huonosti toteutettu lisäosa voi tehdä paljon raskaita tai toistuvia kyselyitä, jotka kasvattavat palvelimen kuormaa.

Tietokantaa voivat kuormittaa esimerkiksi:

  • verkkokaupan tilaustiedot
  • lomakkeiden lähetykset
  • kävijäseuranta
  • varmuuskopiointitiedot
  • tietoturvalokit
  • sivuston sisäinen haku
  • suuret tuoteluettelot
  • lisäosien väliaikaiset tiedot eli transientit

Lisäosat kuluttavat palvelimen resursseja

Lisäosat suorittavat PHP-koodia palvelimella. Mitä enemmän käsittelyä tehdään jokaisella sivulatauksella, sitä enemmän palvelin tarvitsee muistia, suorituskykyä ja aikaa pyynnön käsittelyyn.

Raskaita toimintoja voivat olla esimerkiksi:

  • suurten kuvamäärien optimointi
  • varmuuskopioiden luominen
  • verkkokaupan tilausten käsittely
  • tuotetietojen tuonti ja vienti
  • tietoturvaskannaukset
  • ulkoisiin palveluihin tehtävät API-kutsut
  • monimutkaiset suodattimet ja hakutoiminnot
  • kävijätilastojen kerääminen omalle palvelimelle

Raskas taustatoiminto ei välttämättä hidasta jokaista sivulatausta, mutta se voi silti kuluttaa palvelimen resursseja ja tehdä sivustosta hitaamman ruuhka-aikoina.

Lisäosien väliset ristiriidat voivat aiheuttaa ongelmia

Lisäosat voivat olla yksittäin hyviä, mutta yhdessä ne voivat aiheuttaa ristiriitoja. Kaksi lisäosaa voi esimerkiksi yrittää muokata samaa toimintoa, ladata saman kirjaston eri versioina tai tehdä päällekkäisiä optimointeja.

Yleisiä ristiriitatilanteita ovat esimerkiksi:

  • kaksi välimuistilisäosaa samanaikaisesti
  • useampi SEO-lisäosa käytössä yhtä aikaa
  • useita kuvien optimointipalveluita
  • kaksi evästebanneria tai seurantaskriptien hallintaratkaisua
  • päällekkäiset tietoturva- tai palomuurilisäosat
  • eri lisäosien tekemät JavaScript-optimoinnit

Siksi samalla toiminnolla kannattaa yleensä käyttää vain yhtä ensisijaista lisäosaa.

Miten tunnistat sivustoa hidastavan lisäosan?

Pelkkä tuntuma ei aina riitä, sillä hitauden syy voi olla lisäosan sijaan esimerkiksi webhotellissa, teemassa, liian suurissa kuvissa, tietokannassa tai ulkopuolisessa palvelussa.

Vianetsintä kannattaa aloittaa mittaamalla sivuston suorituskyky ja selvittämällä, missä vaiheessa lataus hidastuu.

Käytä nopeustestaustyökaluja

Nopeustestit eivät yleensä kerro suoraan, mikä lisäosa on syyllinen. Ne voivat kuitenkin näyttää, mitä sivulla tapahtuu ja missä suurimmat ongelmat ovat.

Hyödyllisiä työkaluja ovat esimerkiksi:

  • Google PageSpeed Insights
  • GTmetrix
  • WebPageTest
  • Chrome DevTools
  • Pingdom Website Speed Test

Näillä voi tarkistaa esimerkiksi:

  • sivun kokonaislatausajan
  • palvelimen vastausajan
  • liian suuret kuvat
  • renderöintiä estävät CSS- ja JavaScript-tiedostot
  • kolmansien osapuolten skriptit
  • käyttämättömän JavaScriptin
  • liian suuret DOM-rakenteet
  • välimuistin toiminnan

Jos esimerkiksi nopeustesti näyttää, että sivu lataa paljon lomake-, chat-, sosiaalisen median tai seurantalaitteiden skriptejä, kannattaa selvittää, mikä lisäosa tai palvelu ne lataa.

Käytä Query Monitoria

Query Monitor on WordPressin kehittäjille ja edistyneille käyttäjille tarkoitettu lisäosa. Se näyttää tarkempaa tietoa sivun muodostumisesta.

Sen avulla voi tarkastella esimerkiksi:

  • tietokantakyselyiden määrää ja kestoa
  • hitaita kyselyitä
  • PHP-virheitä ja varoituksia
  • ladattuja CSS- ja JavaScript-tiedostoja
  • HTTP API -pyyntöjä
  • käytössä olevia hookeja
  • muistinkäyttöä
  • sivun muodostamiseen kulunutta aikaa

Query Monitoria ei yleensä tarvitse pitää pysyvästi käytössä tuotantosivustolla. Se on erityisen hyödyllinen testaus- tai staging-ympäristössä, jossa muutoksia voi tehdä turvallisesti.

Tarkista palvelimen virhelokit

Webhotellin virhelokit voivat paljastaa lisäosien aiheuttamia ongelmia, kuten PHP-virheitä, muistirajan ylittymisiä, aikakatkaisuja tai toistuvia virhekutsuja.

Virheitä voi löytyä esimerkiksi:

  • webhotellin hallintapaneelin Error Log -osiosta
  • WordPressin wp-content/debug.log-tiedostosta
  • palvelimen Apache- tai Nginx-lokeista
  • tietoturvalisäosan lokeista

Jos lokissa toistuu tietyn lisäosan nimi, tiedosto tai funktio, ongelman aiheuttaja voi löytyä nopeasti.

Testaa lisäosia staging-ympäristössä

Luotettavin tapa selvittää lisäosan vaikutus on testata sitä staging- eli testisivustolla.

Staging-sivusto on kopio oikeasta sivustosta. Siellä voit poistaa lisäosia käytöstä, vaihtaa teemaa, muuttaa asetuksia ja testata nopeutta ilman, että oikeat kävijät tai asiakkaat näkevät muutoksia.

Hyvä testitapa on seuraava:

  1. mittaa sivuston nopeus ennen muutosta
  2. poista yksi epäilty lisäosa käytöstä
  3. tyhjennä välimuistit
  4. testaa sama sivu uudelleen
  5. vertaa tuloksia
  6. ota lisäosa takaisin käyttöön tai kokeile vaihtoehtoista ratkaisua

Älä poista kaikkia lisäosia käytöstä suoraan aktiivisella sivustolla, jos sivustolla on kävijöitä, yhteydenottolomakkeita, verkkokauppa tai muita tärkeää toimintaa.

Miten lisäosia kannattaa hallita?

Lisäosien hallinnassa tärkeintä on harkinta. Tavoitteena ei ole mahdollisimman pieni lisäosamäärä, vaan toimiva kokonaisuus, jossa jokaisella lisäosalla on selkeä tehtävä.

Asenna vain tarpeelliset lisäosat

Ennen uuden lisäosan asentamista kannattaa kysyä:

  • Tarvitaanko tätä toimintoa todella?
  • Onko sama ominaisuus jo teemassa, WordPressissä tai toisessa lisäosassa?
  • Voiko toiminnon toteuttaa kevyemmin?
  • Tukeeko lisäosa nykyistä WordPress-versiota?
  • Onko lisäosaa päivitetty lähiaikoina?
  • Saako lisäosaan tukea tarvittaessa?

Jokainen uusi lisäosa lisää ylläpidettävää kokonaisuutta. Siksi lisäosaa ei kannata asentaa vain yhden pienen kokeilun vuoksi, jos sitä ei oikeasti aiota käyttää.

Vältä päällekkäisiä toimintoja

Yksi hyvä lisäosa tiettyyn tarkoitukseen on yleensä parempi kuin kolme samankaltaista.

Esimerkiksi sivustolla ei tavallisesti tarvita samanaikaisesti:

  • useaa SEO-lisäosaa
  • useaa välimuistilisäosaa
  • useaa kuvien optimointilisäosaa
  • useaa tietoturvapalomuuria
  • useaa evästebanneriratkaisua
  • useaa yhteydenottolomaketta

Päällekkäiset lisäosat voivat lisätä kuormaa, aiheuttaa ristiriitoja ja tehdä asetusten hallinnasta hankalaa.

Poista käyttämättömät lisäosat kokonaan

Jos lisäosa ei ole enää käytössä, se kannattaa yleensä poistaa kokonaan. Käytöstä poistettu lisäosa voi edelleen jäädä palvelimelle, sisältää vanhaa koodia ja kasvattaa ylläpidettävää kokonaisuutta.

Ennen poistamista tarkista kuitenkin, ettei lisäosa ole tallentanut tietoja, joita tarvitset myöhemmin. Tämä voi koskea esimerkiksi lomakelähetyksiä, verkkokaupan tietoja, varmuuskopioita tai asetuksia.

Ota aina varmuuskopio ennen merkittäviä muutoksia.

Valitse laadukkaita lisäosia

Lisäosan lataaminen WordPress.orgista ei yksin takaa, että se on täydellinen valinta juuri omalle sivustollesi. Ennen asennusta kannattaa arvioida ainakin seuraavia asioita.

Tarkista päivitykset ja yhteensopivuus

Katso, milloin lisäosaa on päivitetty viimeksi ja onko se testattu käyttämäsi WordPress-version kanssa.

Aktiivinen kehitys ei yksin takaa hyvää laatua, mutta pitkään päivittämättä ollut lisäosa voi olla riski sekä suorituskyvyn että tietoturvan kannalta.

Lue arvosteluja ja tukikeskusteluja

Arvostelut voivat kertoa, onko lisäosalla yleisiä ongelmia, yhteensopivuusvirheitä tai heikkoa tukea.

Tukikeskusteluista voi nähdä esimerkiksi:

  • vastaako kehittäjä käyttäjien kysymyksiin
  • esiintyykö lisäosassa toistuvia virheitä
  • miten nopeasti ongelmia korjataan
  • aiheuttaako lisäosa ristiriitoja muiden yleisten lisäosien kanssa

Yksittäinen negatiivinen arvostelu ei vielä kerro paljon, mutta toistuvat samankaltaiset ongelmat ovat varoitusmerkki.

Älä luota pelkkään kevyt- tai performance-mainintaan

Moni lisäosa kuvailee itseään kevyeksi, nopeaksi tai suorituskykyiseksi. Se voi olla totta, mutta markkinointiteksti ei yksin kerro, miten lisäosa toimii omalla sivustollasi.

Paras tapa arvioida lisäosaa on testata sitä omassa ympäristössä ennen kuin otat sen käyttöön julkisella sivustolla.

Rajoita lisäosien resursseja vain tarvittaville sivuille

Monet lisäosat lataavat omat CSS- ja JavaScript-tiedostonsa jokaisella sivulla. Tämä voi olla tarpeetonta, jos lisäosan toiminto näkyy vain yhdellä tai muutamalla sivulla.

Esimerkiksi yhteydenottolomakkeen skriptejä ei välttämättä tarvitse ladata:

  • etusivulla
  • blogiartikkeleissa
  • tietosuojasivulla
  • verkkokaupan tuotesivuilla
  • sivuilla, joilla ei ole lomaketta

Joissakin lisäosissa on omat asetukset resurssien kohdistamiseen. Tarkista aina ensin lisäosan omat asetukset ennen kuin otat käyttöön erillisiä optimointityökaluja.

Lisäosat, kuten Perfmatters ja Asset CleanUp, voivat auttaa poistamaan tarpeettomia CSS- ja JavaScript-tiedostoja valituilta sivuilta. Näitä työkaluja pitää kuitenkin käyttää huolellisesti, sillä väärän resurssin poistaminen voi rikkoa sivun toiminnallisuuden.

Esimerkki skriptin poistamisesta valituilta sivuilta

Kokeneempi käyttäjä voi poistaa tietyn lisäosan skriptin muilta kuin yhteydenottosivulta esimerkiksi seuraavanlaisella koodilla:

function poista_lisäosan_skripti_muilta_sivuilta() {
    if ( ! is_page( 'yhteydenotto' ) ) {
        wp_dequeue_script( 'plugin-script-handle' );
    }
}
add_action( 'wp_enqueue_scripts', 'poista_lisäosan_skripti_muilta_sivuilta', 100 );

Koodissa plugin-script-handle pitää korvata lisäosan oikealla skriptin tunnuksella. Myös yhteydenotto pitää vaihtaa oman sivun osoitetunnukseen tai tarvittaessa sivun ID-numeroon.

Tällaista koodia kannattaa käyttää vain silloin, kun tiedät varmasti, mitä skripti tekee ja millä sivuilla sitä tarvitaan. Testaa muutos ensin staging-sivustolla.

Omat koodimuutokset kannattaa lisätä lapsiteemaan, omaan pienoislaajennukseen tai hallittuun Code Snippets -ratkaisuun. Älä tee muutoksia suoraan pääteeman tiedostoihin, koska teemapäivitys voi korvata ne.

Hyödynnä välimuistia

Välimuisti on yksi tehokkaimmista tavoista nopeuttaa WordPress-sivustoa. Sivuvälimuisti voi tallentaa valmiita HTML-versioita sivuista, jolloin palvelimen ei tarvitse muodostaa sivua kokonaan uudelleen jokaisella käynnillä.

Hyvä välimuistiratkaisu voi vähentää:

  • PHP-koodin suorittamista
  • tietokantakyselyiden määrää
  • palvelimen kuormitusta
  • sivun latausaikaa toistuvilla käynneillä

Yleisiä vaihtoehtoja ovat esimerkiksi:

  • LiteSpeed Cache, jos webhotelli käyttää LiteSpeed-palvelinta
  • WP Rocket
  • WP Super Cache
  • W3 Total Cache
  • webhotellin oma palvelintason välimuisti

Käytä yleensä vain yhtä ensisijaista välimuistiratkaisua. Jos webhotelli tarjoaa oman välimuistin, tarkista ensin, tarvitseeko sivusto lisäksi erillisen välimuistilisäosan.

Jos sivustolla on WooCommerce-verkkokauppa, ostoskoria, kassaa ja asiakkaan tilisivuja ei yleensä pidä välimuistittaa staattisina sivuina.

Optimoi kuvat ja muut resurssit

Lisäosat eivät ole aina sivuston suurin hidaste. Monella WordPress-sivustolla suurimmat ongelmat liittyvät kuviin, videoihin, ulkopuolisiin skripteihin ja raskaaseen teemaan.

Kuvien kohdalla kannattaa huolehtia ainakin seuraavista asioista:

  • kuvat ovat oikean kokoisia
  • kuvissa käytetään tarkoitukseen sopivaa tiedostomuotoa
  • kuvat on pakattu järkevästi
  • liian suuria alkuperäiskuvia ei ladata turhaan
  • lazy loading toimii sivun alemmissa kuvissa
  • ensimmäisessä näkymässä näkyviä tärkeitä kuvia ei viivästetä tarpeettomasti

CSS- ja JavaScript-tiedostoja voidaan myös pienentää ja niiden lataamista voidaan tarvittaessa lykätä. Näitä asetuksia kannattaa ottaa käyttöön yksi kerrallaan ja testata jokaisen muutoksen jälkeen.

Tiedostojen yhdistäminen ei ole aina paras ratkaisu. Joissakin nykyaikaisissa palvelinympäristöissä useiden pienten tiedostojen lataaminen voi toimia hyvin. Sen sijaan käyttämättömien tiedostojen poistaminen ja raskaan JavaScriptin vähentäminen tuottaa usein selkeämpiä hyötyjä.

Valitse riittävän hyvä webhotelli

Laadukas webhotelli on tärkeä osa WordPress-sivuston suorituskykyä. Jos palvelin on hidas, liian vähämuistinen tai voimakkaasti ylikuormitettu, lisäosien optimointi auttaa vain rajallisesti.

Hyvä WordPress-hosting tarjoaa yleensä:

  • ajantasaiset PHP-versiot
  • riittävästi muistia
  • nopean tallennustilan
  • tehokkaan tietokannan
  • palvelintason välimuistin
  • SSL-sertifikaatin
  • automaattiset varmuuskopiot
  • toimivan teknisen tuen
  • mahdollisuuden CDN-palvelun käyttöön

Pienelle sivustolle hyvä jaettu hosting voi riittää hyvin. Kasvava verkkokauppa, paljon kävijöitä saava sivusto tai runsaasti toimintoja sisältävä palvelu voi tarvita tehokkaamman hosting-ratkaisun.

Usein kysytyt kysymykset

Kuinka monta lisäosaa WordPress-sivustolla voi olla?

Tähän ei ole yhtä oikeaa lukua. Sivusto voi toimia nopeasti kymmenillä lisäosilla, jos ne ovat laadukkaita, tarpeellisia ja oikein asetettuja.

Toisaalta yksi huonosti toteutettu lisäosa voi hidastaa sivustoa merkittävästi.

Tärkeämpää kuin määrä on se, että lisäosat:

  • ovat tarpeellisia
  • ovat aktiivisesti ylläpidettyjä
  • eivät tee päällekkäistä työtä
  • toimivat yhteen teeman ja muiden lisäosien kanssa
  • eivät kuormita sivustoa tarpeettomasti

Pitäisikö lisäosia välttää kokonaan?

Ei. Lisäosat ovat WordPressin keskeinen vahvuus. Niiden avulla voi toteuttaa paljon toimintoja nopeasti ja turvallisesti ilman omaa ohjelmointityötä.

Tavoitteena ei ole lisäosaton sivusto, vaan harkittu lisäosavalikoima.

Voiko pieni koodinpätkä olla parempi kuin lisäosa?

Jos tarvitset vain yhden hyvin pienen toiminnon, lyhyt ja huolellisesti toteutettu koodinpätkä voi joskus olla kevyempi vaihtoehto kuin laaja lisäosa.

Koodin lisääminen ei kuitenkaan ole automaattisesti turvallisempi tai parempi ratkaisu. Huonosti toteutettu oma koodi voi aiheuttaa virheitä, tietoturvaongelmia ja vaikeuksia myöhemmissä päivityksissä.

Käytä omaa koodia vain, jos ymmärrät sen toiminnan tai saat apua osaavalta kehittäjältä.

Mikä on nopein tapa selvittää, hidastaako lisäosa sivustoa?

Nopein turvallinen tapa on tehdä testaus staging-ympäristössä.

Mittaa ensin sivuston nopeus. Poista sen jälkeen epäilty lisäosa käytöstä, tyhjennä välimuisti ja testaa sama sivu uudelleen. Jos latausaika, palvelimen vastausaika tai sivun resurssit muuttuvat selvästi, lisäosa voi olla merkittävä osa ongelmaa.

Varmista tulos ottamalla lisäosa vielä takaisin käyttöön ja toistamalla testi.

Yhteenveto

Lisäosat voivat hidastaa WordPress-sivustoa, mutta niiden määrä ei yksin ratkaise suorituskykyä. Tärkeää on, mitä lisäosat tekevät, kuinka hyvin ne on toteutettu ja miten ne toimivat yhdessä muun sivuston kanssa.

Nopea WordPress-sivusto syntyy yleensä näistä asioista:

  • käytä vain tarpeellisia lisäosia
  • vältä päällekkäisiä toimintoja
  • poista käyttämättömät lisäosat
  • testaa uusia lisäosia staging-ympäristössä
  • tarkkaile tietokantakyselyitä ja ladattuja resursseja
  • ota välimuisti käyttöön oikein
  • optimoi kuvat ja ulkopuoliset skriptit
  • käytä sivuston tarpeisiin sopivaa webhotellia
  • pidä WordPress, teema ja lisäosat ajan tasalla

Kun lisäosien vaikutusta seurataan säännöllisesti ja sivuston toimintoja pidetään hallinnassa, WordPress voi olla sekä monipuolinen että nopea alusta.