WordPressin vanhat lisäosat – Miksi käyttämättömät kannattaa poistaa?
WordPress-sivustolle kertyy helposti lisäosia, joita on joskus tarvittu mutta joita ei enää käytetä. Testiin asennettu lomaketyökalu, vanha välimuistilisäosa tai edellisen teeman mukana tullut komponentti saattaa jäädä palvelimelle vuosiksi.
Käytöstä poistettu lisäosa voi näyttää harmittomalta:
Pois käytöstä = ongelma ratkaistu.
Todellisuudessa asia ei ole aivan näin yksinkertainen. Jos lisäosaa ei tarvita, sen poistaminen on yleensä järkevämpää kuin pelkkä deaktivointi.
Käytöstä poistettu lisäosa ei ole poistettu
WordPressissä on tärkeä ero:
Lisäosa käytössä
↓
Lisäosa pois käytöstä
↓
Lisäosa poistettuKun lisäosa deaktivoidaan, sen tiedostot jäävät yleensä palvelimelle.
Jos lisäosa poistetaan, sen ohjelmakoodi poistetaan WordPress-asennuksesta.
Tämän vuoksi vanhoja lisäosia kannattaa käydä säännöllisesti läpi.
Miksi vanha lisäosa on tietoturvariski?
Jokainen WordPressiin jätetty ohjelmistokomponentti kasvattaa ylläpidettävää kokonaisuutta.
Jos vanha lisäosa sisältää haavoittuvuuden, hyökkääjä voi yrittää hyödyntää sitä, vaikka lisäosa ei olisi aktiivisesti käytössä.
Riski riippuu kuitenkin lisäosasta ja siitä, millä tavalla sen koodi toimii. Käytöstä poistettu komponentti ei automaattisesti tarkoita, että sivusto olisi haavoittuva.
Silti perusperiaate on hyvä:
Jos ohjelmakoodia ei tarvita, sitä ei yleensä ole järkevää säilyttää tuotantopalvelimella.
Vanhentunut lisäosa on eri asia kuin vanha lisäosa
Kaikki vanhat lisäosat eivät ole automaattisesti vaarallisia.
Esimerkiksi lisäosa voi olla:
- vanha mutta edelleen tuettu
- vanha ja aktiivisesti päivitettävä
- vanha mutta täysin tarpeeton
- vanha ja kehityksestä poistunut
- vanha ja tunnetusti haavoittuva
Oleellinen kysymys ei siis ole pelkästään:
”Kuinka vanha lisäosa on?”
Vaan:
”Tarvitaanko tätä lisäosaa ja onko sitä edelleen turvallista käyttää?”
Tarkista viimeisin päivitys
WordPressin lisäosasivulla kannattaa tarkistaa, milloin lisäosa on viimeksi päivitetty.
Jos lisäosa ei ole saanut päivityksiä pitkään aikaan, selvitä:
- onko projekti edelleen aktiivinen
- tukeeko se nykyistä WordPress-versiota
- tukeeko se käytössä olevaa PHP-versiota
- onko sille ilmoitettu tietoturvaongelmia
- löytyykö sille ylläpidetty korvaaja
Jos lisäosa ei ole enää tarpeellinen, poistaminen on yksinkertaisin ratkaisu.
Käytöstä poistettu lisäosa voi unohtua vuosiksi
Tämä on hyvin tavallinen ylläpito-ongelma.
Sivustolla voi olla esimerkiksi:
25 aktiivista lisäosaa
8 pois käytöstäNäistä kahdeksasta osa voi olla vuosia vanhoja.
Ylläpitäjä saattaa ajatella:
”Ei haittaa, koska se ei ole käytössä.”
Mutta samalla vanha ohjelmakoodi jää osaksi WordPress-asennusta.
Vanhojen lisäosien poistaminen vähentää hyökkäyspinta-alaa
Tietoturvassa hyökkäyspinta tarkoittaa käytännössä niitä komponentteja, joiden kautta järjestelmään voidaan yrittää vaikuttaa.
Yksinkertaistettuna:
Turhat komponentit
↓
enemmän ylläpidettävää koodia
↓
enemmän mahdollisia ongelmakohtiaLisäosan poistaminen ei yksin tee WordPressistä turvallista, mutta tarpeettoman ohjelmakoodin vähentäminen on järkevää koventamista.
Lisäosan tiedostot eivät ole ainoa asia
Lisäosa voi jättää poistamisen jälkeen tietokantaan dataa.
Esimerkiksi:
- asetuksia
- transienteja
- metadataa
- omia tietokantatauluja
- cron-tehtäviä
- lokitietoja
Siksi lisäosan poistaminen ei aina tarkoita, että kaikki sen data katoaa.
Älä poista tietokantadataa summassa
Tämä on yksi tärkeimmistä varoituksista.
Jos lisäosa on poistettu mutta sen tietokantataulut ovat jäljellä, niitä ei pidä poistaa vain nimen perusteella.
Ensin pitää varmistaa, ettei jokin muu aktiivinen komponentti käytä kyseistä dataa.
Turvallinen järjestys on:
Varmuuskopio
↓
Tunnista lisäosa
↓
Varmista riippuvuudet
↓
Poista lisäosa
↓
Testaa sivusto
↓
Siivoa vanha data tarvittaessaLisäosan poistaminen voi vaikuttaa sisältöön
Joidenkin lisäosien tuottama sisältö voi riippua lisäosan omasta koodista.
Esimerkiksi sivustolla voi olla:
- shortcodeja
- widgettejä
- lohkoja
- Custom Post Typeja
- metakenttiä
- lomakkeita
Jos tällaisen lisäosan poistaa, sisältö ei välttämättä enää toimi samalla tavalla.
Esimerkiksi:
[vanha_lomake]voi jäädä artikkeliin, vaikka lomakkeen tuottava lisäosa on poistettu.
Page builderit vaativat erityistä varovaisuutta
Elementor-, Divi-, WPBakery- ja muiden sivunrakentajien kanssa ei pidä tehdä siivousta summassa.
Jos lisäosa tuottaa suuren osan sivuston sisällöstä, sen poistaminen voi rikkoa:
- sivujen rakenteen
- ulkoasun
- widgetit
- lomakkeet
- dynaamisen sisällön
Tällaisissa tapauksissa kannattaa tehdä ensin täydellinen varmuuskopio ja testata muutokset stagingissä.
Tarkista lisäosien väliset riippuvuudet
Joskus yksi lisäosa tarvitsee toisen toimiakseen.
Esimerkiksi:
WooCommerce
↓
Lisäosa A
↓
MaksupalveluJos poistat väärän komponentin, koko maksuprosessi voi rikkoutua.
Ennen poistamista kannattaa tarkistaa, onko lisäosalla:
- riippuvuuksia
- muita sitä käyttäviä lisäosia
- teeman integraatioita
- Custom Code -riippuvuuksia
WooCommerce-sivustolla oltava erityisen tarkkana
Verkkokaupassa lisäosien roolit voivat olla paljon tärkeämpiä kuin tavallisessa blogissa.
Esimerkiksi yksi lisäosa voi hallita:
- maksamista
- toimitustapoja
- veroja
- varastonhallintaa
- laskutusta
- sähköposteja
- CRM-integraatiota
Älä poista lisäosaa vain siksi, että sen nimi ei kuulosta tärkeältä.
Testaa aina:
Tuotesivu
↓
Ostoskori
↓
Checkout
↓
Maksaminen
↓
Tilaus
↓
SähköpostiTarkista myös vanhat teemat
Sama periaate koskee teemoja.
Jos palvelimella on esimerkiksi:
Aktiivinen teema
Vanha teema
Vanha teema 2
Testiteematurhat teemat kannattaa yleensä poistaa.
Yksi toimiva oletusteema voi kuitenkin olla hyödyllinen vianmääritystilanteessa.
Child Themea ei pidä poistaa vahingossa
Jos sivustolla käytetään Child Themea, varmista ennen poistamista, mikä teema on aktiivinen.
Esimerkiksi:
Parent Theme
↓
Child Theme
↓
Sivuston oma CSS/PHPChild Theme voi sisältää koko sivuston mukautuksia.
Sen poistaminen voi rikkoa ulkoasun tai toiminnallisuuden välittömästi.
Vanhat lisäosat voivat myös aiheuttaa ylläpitosotkua
Mitä enemmän lisäosia sivustolla on, sitä vaikeampi kokonaisuutta on hallita.
Esimerkiksi:
45 lisäosaa
↓
päivityksiä
↓
yhteensopivuuksia
↓
riippuvuuksia
↓
lokitapahtumia
↓
mahdollisia konfliktejaKun tarpeettomat lisäosat poistetaan, myös ylläpito helpottuu.
Poista yksi lisäosa kerrallaan
Jos sivustolla on kymmenen vanhaa lisäosaa, niitä ei kannata poistaa kaikkia samanaikaisesti.
Parempi:
Lisäosa A
↓
Poista
↓
Testaa
Lisäosa B
↓
Poista
↓
TestaaJos jokin menee rikki, tiedät heti, mikä muutos aiheutti ongelman.
Ota varmuuskopio ennen siivousta
Ennen vanhojen lisäosien poistamista kannattaa ottaa toimiva varmuuskopio.
Varmuuskopion pitäisi sisältää ainakin:
- tietokanta
- WordPress-tiedostot
- media
- tarvittavat asetukset
Vielä parempi on varmistaa, että varmuuskopio voidaan myös palauttaa.
Staging on paras paikka suuremmalle siivoukselle
Jos sivustolla on paljon vanhoja lisäosia, tee siivous ensin staging-ympäristössä.
Prosessi:
Production
↓
Backup
↓
Staging
↓
Poista tarpeettomat lisäosat
↓
Testaa
↓
ProductionNäin tuotantosivuston rikkoutumisen riski pienenee huomattavasti.
Tarkista tietoturvapäivitykset
Ennen kuin poistat vanhan lisäosan, kannattaa tarkistaa, onko sille ilmoitettu haavoittuvuuksia.
Jos tarpeeton lisäosa on tunnetusti haavoittuva, sen poistaminen on yleensä paljon järkevämpää kuin jättää se palvelimelle odottamaan seuraavaa ylläpitokierrosta.
Jos lisäosa on aktiivisessa käytössä mutta haavoittuva, tilanne on eri: silloin tarvitaan päivitys, korvaava ratkaisu tai muu riskinhallinta.
Älä asenna lisäosaa vain yhtä pientä toimintoa varten
Siivouksen jälkeen kannattaa myös miettiä, miksi uusia lisäosia ylipäätään asennetaan.
Joskus yksi pieni ominaisuus voidaan toteuttaa:
- WordPressin omalla toiminnolla
- teemalla
- pienellä custom-koodilla
- olemassa olevan lisäosan asetuksella
Uutta lisäosaa ei kannata asentaa automaattisesti jokaiseen tarpeeseen.
Milloin lisäosa kannattaa ehdottomasti poistaa?
Poistaminen on yleensä perusteltua, kun:
- sitä ei enää tarvita
- toiminto on korvattu toisella ratkaisulla
- lisäosa on vanhentunut
- kehitys on lopetettu
- lisäosalla on vakava haavoittuvuus
- se aiheuttaa ongelmia
- sen toiminto on siirretty teemaan tai toiseen lisäosaan
Milloin lisäosaa ei pidä poistaa?
Älä poista sitä vain siksi, että:
- se ei näy sivuston etusivulla
- sitä käytetään harvoin
- se on pois päältä hetkellisesti
- sen nimi ei ole tuttu
- se näyttää vanhalta
Jotkin lisäosat toimivat taustalla ja tekevät tehtävänsä ilman näkyvää käyttöliittymää.
Tarkista myös MU-Plugins
wp-content/mu-plugins on erityinen hakemisto.
Sen sisältämät Must-Use Plugins -lisäosat eivät käyttäydy samalla tavalla kuin tavalliset WordPress-lisäosat.
Ne voivat olla esimerkiksi:
- palveluntarjoajan hallintaa
- sivuston omaa infrastruktuuria
- tietoturvaa
- suorituskykyä
- yrityksen custom-koodia
Älä poista MU-Plugin-tiedostoja summassa.
Tarkista myös Composer-riippuvuudet
Kehittyneissä WordPress-projekteissa lisäosa ei välttämättä ole ainoa paikka, jossa riippuvuuksia hallitaan.
Jos projekti käyttää Composeria, tarkista esimerkiksi:
composer.json
composer.lockVanhan paketin poistaminen voi vaikuttaa muuhun projektiin.
Käyttämättömät lisäosat ja varmuuskopiot
Yksi usein unohtuva asia ovat palvelimelle jääneet vanhat ZIP-paketit.
Esimerkiksi:
backup/
plugins/
old-plugin.zip
plugin-v2.zip
migration-backup.zipJos tällaisia tiedostoja ei tarvita, ne kannattaa poistaa.
Erityisesti varmuuskopioita ei pitäisi jättää julkisesti ladattaviksi.
Siivouksen jälkeen tarkista sivusto
Kun lisäosa on poistettu, testaa ainakin:
- etusivu
- tärkeimmät sivut
- lomakkeet
- kirjautuminen
- hakutoiminto
- mobiilinäkymä
- verkkokauppa
- checkout
- sähköpostit
Tarkista myös selaimen kehittäjätyökalusta mahdolliset JavaScript-virheet.
Hyvä kuukausittainen lisäosatarkistus
Kerran kuukaudessa voidaan käydä läpi:
☐ Onko lisäosa aktiivisessa käytössä?
☐ Onko sen kehitys aktiivista?
☐ Onko uusin versio asennettu?
☐ Onko tunnettuja haavoittuvuuksia?
☐ Tarvitaanko lisäosaa edelleen?
☐ Onko toinen lisäosa korvannut sen?
☐ Käyttääkö teema sen toimintoja?
☐ Käyttääkö jokin muu lisäosa sitä?
☐ Tallentaako se tärkeää dataa?
☐ Onko varmuuskopio kunnossa?Hyvä siivousprosessi
Turvallinen prosessi voidaan tiivistää näin:
Tunnista vanha lisäosa
↓
Selvitä sen käyttötarkoitus
↓
Tarkista riippuvuudet
↓
Ota varmuuskopio
↓
Poista lisäosa
↓
Testaa sivusto
↓
Tarkista lokit
↓
Siivoa mahdollinen jäännösdataYhteenveto
WordPressiin ei kannata jättää vuosien varrella kertynyttä käyttämätöntä ohjelmakoodia vain varmuuden vuoksi. Jos lisäosaa ei tarvita, sen poistaminen vähentää ylläpidettävää kokonaisuutta ja voi pienentää sivuston hyökkäyspintaa.
Pois käytöstä ja poistettu ovat kuitenkin eri asioita. Deaktivoitu lisäosa voi edelleen olla palvelimella, ja sen tietokantaan jättämää dataa voidaan tarvita myöhemmin.
Turvallisin tapa on tehdä siivous järjestelmällisesti: tunnista lisäosa, selvitä sen riippuvuudet, ota varmuuskopio, poista se, testaa sivusto ja siivoa mahdolliset jäännökset vasta sen jälkeen.
Erityisesti WooCommerce-, jäsenyys- ja vahvasti räätälöidyillä sivustoilla lisäosien poistamiseen kannattaa suhtautua enemmän ohjelmistomuutoksena kuin tavallisena siivouksena.