
🧹 Kuinka poistaa WordPress-liitännäinen kokonaan: vaiheittainen tietokannan ja tiedostojen siivous
Sivustosi hidastuu mateluksi, varmuuskopiot paisuvat gigatavun kokoisiksi ja phpMyAdmin näyttää kymmeniä tauluja, joiden etuliitteet ovat peräisin liitännäisistä, jotka "poistit" vuosi sitten. Kuulostaako tutulta?
Liitännäiset-osion tavallinen "Poista"-painike poistaa vain kansion wp-content/plugins-hakemistosta. Kaikki muu (taulut, asetukset, cron-työt, artikkeleissa olevat shortcodet) jää tietokantaan ja levylle. Kehittäjät hoitavat siivouksen eri tavoin: jotkut siivoavat tunnollisesti jälkensä uninstall.php-tiedoston avulla, kun taas toiset jättävät kaiken ennalleen.
Alla on täydellinen toimintamalli liitännäisen poistamiseksi jälkiä jättämättä: hallintapaneelista manuaalisiin SQL-kyselyihin. Mukana varmuuskopiot joka vaiheessa ja tarkat ohjeet suosituille liitännäisille.
💡 Nopea yleiskatsaus:
- Hallintapaneelin kautta poistaminen on vasta ensimmäinen askel; taulut, shortcodet ja cron-työt vaativat erillisen siivouksen
- Ennen mitään tietokantatoimenpiteitä, tee täydellinen varmuuskopio (käyttäen palveluntarjoajan sisäänrakennettuja työkaluja tai liitännäistä)
- WooCommercella, Yoast SEO:lla, Wordfencellä ja muilla suosituilla liitännäisillä on omat vakionsa ja SQL-kyselynsä
- Deaktivoitu liitännäinen ei ole "pois päältä" vaan "nukkumassa"; sen tiedostot ovat edelleen käytettävissä suoraa käyttöä varten ja muodostavat hyökkäysvektorin
Miksi "Poista"-painike ei riitä
WordPress kutsuu liitännäisen uninstall.php-tiedostoa tai pää tiedoston takaisinkutsua sitä poistettaessa. Mutta tämä toimii vain, jos kehittäjä on luonut kyseisen tiedoston. Käytännössä noin puolet WordPress.orgin hakemiston liitännäisistä joko puuttuu uninstall.php tai toteuttaa sen puutteellisesti: ne poistavat kansion, mutta jättävät tietokannan koskemattomaksi.
Mitä jää jäljelle tavallisen poiston jälkeen:
Jäänteen tyyppi | Mistä etsiä | Riski |
|---|---|---|
Tietokantataulut |
| Tietokannan kasvu, hitaammat kyselyt |
Rivit |
| Sotkuiset |
Rivit |
| Kuollutta dataa artikkeleita haettaessa |
Shortcodet sisällössä | Artikkelin/sivun teksti | Rikkinäiset |
Cron-työt |
| Tarpeettomat HTTP-pyynnöt wp-croniin |
Tiedostot liitännäiskansion ulkopuolella |
| Levytilan sotku |
Säännöt | Sivuston juuri | Ristiriidat uusien liitännäisten kanssa |
Rivit, joissa on autoload-lippu, ovat erityisen kriittisiä: WordPress lataa ne jokaisella pyynnöllä. Viisikymmentä ylimääräistä autoload-riviä lisää palvelimen vasteaikaan 30-80 ms. Ensi silmäyksellä mitätöntä, mutta 100 000 kuukausittaisella näyttökerralla se on huomattava suorituskykyisku.
Deaktivointi vs. poistaminen: mikä on ero
Ero on perustavanlaatuinen, ja se on hyvä ymmärtää ennen siivouksen aloittamista.
Kriteeri | Deaktivointi | Täydellinen poisto |
|---|---|---|
Liitännäistiedostot | Säilyvät | Poistettu |
Koodi | Ei suoriteta, luettavissa | Poissa |
Tietokantataulut | Säilytetty | Riippuu kehittäjästä |
Asetukset | Säilytetty | Riippuu |
Päivitykset | Saapuvat (ilmaisille liitännäisille.org:sta) | Eivät saavu |
Haavoittuvuudet | Palvelimella oleva koodi on hyökkäysvektori | Ei uhkaa |
Palautettavuus | Yksi klikkaus ja liitännäinen on taas aktiivinen | Vain varmuuskopiosta |
Deaktivoitu liitännäinen ei ole "pois päältä" vaan "nukkumassa". PHP-tiedostot sijaitsevat fyysisesti palvelimella. Jos koodista löytyy haavoittuvuus, hyökkääjä voi käyttää tiedostoa suoraan polun kautta wp-content/plugins/-kansiossa ohittaen WordPressin logiikan. WAF-palomuurit eivät ratkaise tätä ongelmaa: paras suoja on poistaa käyttämätön koodi palvelimelta kokonaan.
Sääntö on yksinkertainen: jos et ole käyttänyt liitännäistä yli viikkoon, poista se. Uudelleenmäärittely on nopeampaa kuin tietomurron käsittely hylätyn koodin aukon kautta.
Vaiheittainen siivous: 4 vaihetta
Vaihe 1: Poistaminen hallintapaneelin kautta
Ensimmäinen vaihe on tavanomainen. Mene kohtaan Liitännäiset → Asennetut, etsi tarvitsemasi. Aktiiviset liitännäiset on korostettu sinisellä palkilla, deaktivoidut eivät.
Klikkaa "Poista" nimen alta, vahvista "Kyllä, poista nämä tiedostot" -painikkeella. WordPress kutsuu liitännäisen uninstall.php-tiedostoa (jos se on olemassa) ja poistaa kansion wp-content/plugins-hakemistosta.

Yksinkertaisten liitännäisten (kevyt widget, kirjautumissivun logon vaihto) kohdalla siivous päättyy tähän. Ne eivät luo tauluja tai kirjoita wp_postmeta-tauluun. Mutta välimuisti-, SEO-, tietoturva-, galleria- ja sivunrakennusliitännäiset vaativat jatkotoimia.
Vaihe 2: Tiedostojen siivous FTP:n kautta
Jotkin liitännäiset luovat kansioita wp-content/plugins/-hakemiston ulkopuolelle. Tyypillisiä sijainteja:
wp-content/uploads/plugin-name/: välimuisti, pakatut kuvat, viedyt tiedostotwp-content/ngg/: NextGEN Gallerywp-content/ewww/: EWWW Image Optimizerwp-content/backup/: varmuuskopioliitännäiset
Yhdistä palvelimelle FTP:llä (FileZilla, WinSCP) tai palveluntarjoajan tiedostonhallinnalla. Siirry kohtaan wp-content/, etsi liitännäisen nimellä oleva kansio ja poista se. Ennen poistamista lataa kansio paikallisesti; jos se sisälsi käyttäjien latauksia, palauta ne.
Välimuistiliitännäiset (WP Rocket, W3 Total Cache, LiteSpeed Cache) kirjoittavat lisäksi kansioon wp-content/cache/ ja luovat tiedoston wp-content/advanced-cache.php. Poista advanced-cache.php-tiedosto manuaalisesti FTP:n kautta, ja etsi wp-config.php-tiedostosta ja poista tämä rivi:
1 define('WP_CACHE', true);
Vaihe 3: Shortcodejen poistaminen sisällöstä
Liitännäiset, jotka lisäävät shortcodeja (lomakkeet, galleriat, liukusäätimet, taulukot), jättävät paljaan [shortcode]-tagin artikkelitekstiin poiston jälkeen. Se näyttää sotkuiselta ja hämmentää lukijoita.
Nopea tapa hiljentää käyttämättömät shortcodet on yksi rivi aktiivisen teemasi functions.php-tiedostossa:
1 add_shortcode('pluginshortcode', '__return_false');

Korvaa pluginshortcode omalla shortcode-tagillasi. Esimerkiksi: nggallery, gravityform tai contact-form-7. __return_false-funktio palauttaa false, ja shortcode katoaa julkiselta puolelta ilman, että sitä poistetaan artikkelitekstistä.
Lisää koodi lapsiteeman tai Code Snippets -liitännäisen kautta; muokkaukset pääteeman functions.php-tiedostoon katoavat seuraavassa päivityksessä. Jos päätät palauttaa liitännäisen myöhemmin, poista vain tämä rivi.
Vaihe 4: Tietokannan siivous
Kriittisin vaihe. Tee täydellinen tietokantavarmuuskopio ennen mitään poistavaa SQL-kyselyä; vienti phpMyAdminin kautta vie puoli minuuttia ja pelastaa peruuttamattomilta virheiltä.
4a. Etsi liitännäisen taulut. Mene phpMyAdminiin (cPanelin tai palveluntarjoajasi hallintapaneelin kautta), valitse sivuston tietokanta. Etsi tauluja, joissa on liitännäisen etuliite: wp_wc_* (WooCommerce), wp_yoast_* (Yoast SEO), wp_wf* (Wordfence). Valitse ne, valitse alhaalta "Drop" → vahvista.
4b. Automaatio Advanced Database Cleaner -lisäosalla. Jos et halua työskennellä suoraan phpMyAdminissa, asenna Advanced Database Cleaner. Tämä ilmainen lisäosa skannaa tietokannan, löytää orvot taulut ja tietueet ja poistaa ne yhdellä klikkauksella.
4c. Siivoa wp_options. Vaikka lisäosa ei olisi luonut erillisiä tauluja, se kirjoitti lähes varmasti wp_options-tauluun. Suorita phpMyAdminissa (SQL-välilehti):
1 SELECT * FROM wp_options WHERE option_name LIKE '%pluginname%';
Korvaa pluginname osalla lisäosan nimeä. Varmista, että rivit todella kuuluvat poistetulle lisäosalle, ja sitten:
1 DELETE FROM wp_options WHERE option_name LIKE '%pluginname%';
4d. Siivoa cron-työt. Jotkin lisäosat rekisteröivät omia cron-tapahtumiaan. Asenna WP Crontrol; se näyttää kaikki rekisteröidyt cron-työt yhdessä listassa. Etsi tapahtumat, joissa on lisäosan nimi, ja poista ne manuaalisesti.
Suosittujen lisäosien poistamisen yksityiskohdat
Jokainen merkittävä lisäosa jättää omanlaisensa jäljen. Alla tarkat ohjeet yleisimmille.
WooCommerce
WooCommerce luo tietokantaan yli 16 taulua. Jotta ne siivotaan automaattisesti poiston yhteydessä, lisää tiedostoon wp-config.php (ennen riviä /* That's all, stop editing! */):
1 define('WC_REMOVE_ALL_DATA', true);
Tämä vakio pakottaa WooCommercen kutsumaan täydellistä uninstall.php-tiedostoaan poiston yhteydessä; kaikki wp_woocommerce_*- ja wp_wc_*-taulut poistetaan, mukaan lukien tuotteet, tilaukset ja kupongit. Toimenpide on peruuttamaton, joten varmuuskopiointi on pakollista.
Lisäosan poistamisen jälkeen tarkista vielä wp_options, sillä WooCommerce kirjoittaa sinne kymmeniä rivejä woocommerce_-etuliitteellä:
1 SELECT * FROM wp_options WHERE option_name LIKE '%wc_%';

Jos rivejä löytyy ja lisäosa on jo poistettu, suorita DELETE-kysely samalla ehdolla.
Yoast SEO
Yoast SEO jättää tietueita tauluihin wp_postmeta ja wp_usermeta sekä omiin tauluihinsa wp_yoast_indexable ja wp_yoast_seo_links.
Puhdista ensin wp_postmeta:
1 SELECT * FROM wp_postmeta WHERE meta_key LIKE '%yoast%';

Kun olet varmistanut, että kyseessä on Yoastin data, suorita:
1 DELETE FROM wp_postmeta WHERE meta_key LIKE '%yoast%';
Sitten wp_usermeta:
1 SELECT * FROM wp_usermeta WHERE meta_key LIKE '%yoast%';

Poista löytämäsi vastaavalla DELETE-kyselyllä. Yoast rekisteröi myös cron-tapahtuman wpseo_onpage_fetch; poista se WP Crontrolin kautta. Pudota wp_yoast_indexable- ja wp_yoast_seo_links-taulut manuaalisesti phpMyAdminin kautta.
Akismet
Akismet on vakiona WordPressin mukana tuleva kommenttiroskapostin estolisäosa. Poiston jälkeen sen data jää tauluun wp_commentmeta:
1 SELECT * FROM wp_commentmeta WHERE meta_key LIKE '%akismet_%';

Sitten:
1 DELETE FROM wp_commentmeta WHERE meta_key LIKE '%akismet_%';
Jos sivustolla on tuhansia kommentteja, wp_commentmeta voi painaa kymmeniä megatavuja. Siivouksen jälkeen optimoi taulu:
1 OPTIMIZE TABLE wp_commentmeta;
Lisää keinoja roskapostin torjuntaan löydät artikkelistamme miten pysäyttää WordPressin kommenttiroskaposti: kaikki 18 ratkaisua.
Gravity Forms
Gravity Forms luo tietokantaan 9 taulua (wp_gf_*, wp_rg_*). Ennen poistoa mene kohtaan Lomakkeet → Asetukset → Poista asennus ja vahvista. Poista sitten lisäosa hallintapaneelista.
Poiston jälkeen tarkista wp_options:
1 SELECT * FROM wp_options WHERE option_name LIKE '%gravity%' OR option_name LIKE '%gf_%';

Poista löytyneet rivit vastaavalla DELETE-kyselyllä.
Wordfence
Wordfence on yksi "raskaimmista" tietoturvalisäosista: se luo 23 taulua wp_wf*-alkuisella etuliitteellä. Tavallinen poisto hallintapaneelin kautta ei siivoa niitä.
Virallinen apulisäosa Wordfence Assistantin kehittäjä lopetti sen ylläpidon joulukuussa 2025. Siivoamme siis käsin: poista pääasiallinen Wordfence-lisäosa hallintapaneelista, mene sitten phpMyAdminiin ja suorita:
1 SELECT * FROM wp_options WHERE option_name LIKE '%wordfence%' OR option_name LIKE '%wf%';
Poista löytyneet rivit DELETE-kyselyllä samalla ehdolla. Etsi ja pudota sen jälkeen kaikki taulut, joiden etuliite on wp_wf (niitä on yleensä 23, aina taulusta wp_wfblockediplog tauluun wp_wflivetraffichuman). Poista FTP:n kautta kansio wp-content/wflogs/ ja tiedosto wordfence-waf.php sivuston juuresta, jos ne ovat jääneet jäljelle.
NextGEN Gallery
Lisäosa luo 3 taulua (wp_ngg_*) ja kansion wp-content/ngg/, jossa ladatut galleriat sijaitsevat.
Poista ensin lisäosa hallintapaneelista. Poista sitten FTP:n kautta kansio wp-content/ngg/ ja tallenna galleriakuvat ensin, jos tarvitset niitä. Suorita phpMyAdminissa:
1 SELECT * FROM wp_options WHERE option_name LIKE '%ngg%';
Poista löytyneet rivit DELETE-kyselyllä samalla ehdolla. Pudota taulut wp_ngg_pictures, wp_ngg_galleries ja wp_ngg_album käsin.
EWWW Image Optimizer
EWWW tallentaa tiedot jokaisesta optimoidusta kuvasta wp_ewwwio_images-tauluun: tiedostopolun, alkuperäisen koon, koon pakkauksen jälkeen. Se luo myös wp-content/ewww/-kansion, jossa on välimuistia.
Poista kansio FTP:n kautta. Sitten phpMyAdminissa:
1 SELECT * FROM wp_options WHERE option_name LIKE '%ewww%';

Poista löytämäsi ja pudota wp_ewwwio_images-taulu.
WP All Export
Lisäosa luo tietokantaan 4 taulua. Kun olet poistanut sen hallintapaneelin kautta, mene phpMyAdminiin, etsi taulut, joiden etuliite on wp_pmxe_*, valitse ne ja suorita "Drop". Tarkista lisäksi wp_options-taulusta avain pmxe; lisäosa tallentaa sinne viimeisimmät vientiasetukset.
Lisätietoja täydellisestä lisäosan poistosyklistä on alla olevalla video-ohjeella.
⁉️🤔 Usein kysytyt kysymykset
Onko turvallista poistaa lisäosien tauluja suoraan phpMyAdminin kautta?
Se on turvallista kahdella ehdolla: olet tehnyt täydellisen tietokantavarmuuskopion ja olet varmistanut, että taulut kuuluvat jo poistetulle lisäosalle. Kolmannen osapuolen lisäosien tauluilla on aina tunnistettava etuliite:
wp_wc_,wp_yoast_taiwp_wf. Älä koske WordPressin järjestelmätauluihin (wp_posts,wp_options,wp_users,wp_comments,wp_postmetajawp_usermeta)DROP-komennolla; niitä voi siivota vain valikoivallaDELETE-komennolla.
Mitä teen, jos sivusto näyttää valkoista ruutua lisäosan poiston jälkeen?
Palauta lisäosa varmuuskopiosta: siirrä kansio FTP:llä, tuo sen taulut takaisin. Syy on todennäköisimmin teeman
functions.php-tiedostossa, johon on saattanut jäädä kutsu lisäosan funktioon ilman varatoimintoa. Etsi tällaiset kutsut ja kääri nefunction_exists()-tarkistuksen sisään tai poista ne, ja toista sitten lisäosan poisto.
Miten löydän kaikki lisäosan jäljet tietokannasta?
Asenna Advanced Database Cleaner -lisäosa. Se skannaa kaikki taulut orpojen tietojen varalta ja näyttää täydellisen listan: taulut, rivit
wp_options- jawp_postmeta-tauluissa, cron-työt. Tämä on nopeampaa ja turvallisempaa kuin manuaalinen etsiminen phpMyAdminin kautta.
Pitäisikö minun poistaa teeman mukana tulleet lisäosat?
Kyllä, jos et käytä niitä. Teemojen mukana tulevat lisäosat (WPBakery Page Builder, Slider Revolution, ACF Pro) toimitetaan usein rajoitetuilla lisensseillä, eikä niihin tule tietoturvapäivityksiä. Deaktivoitu, vanhentunut WPBakery, jossa on tunnettu haavoittuvuus, on suora tie tietomurtoon. Jos et käytä sitä, poista se.
Voinko palauttaa lisäosan täydellisen poiston jälkeen?
Vain varmuuskopiosta. Kun taulut ja
wp_options-tiedot on siivottu, kaikki lisäosan asetukset menetetään pysyvästi. Juuri siksi yllä oleva toimintamalli etenee yksinkertaisesta radikaaliin: ensin tavallinen poisto (palautettavissa), sitten tiedostojen siivous ja vasta lopuksi tietokanta. Etene vaiheittain; älä hyppää suoraan phpMyAdminiin.
Jääkö lisäosan dataa WordPress Multisite -asennuksessa?
Multisitessa jokaisella alisivustolla on omat taulunsa:
wp_2_options,wp_2_postmetaja niin edelleen. Kun olet poistanut lisäosan superadminin kautta, tarkista jokaisen alisivuston taulut (wp_*_optionsjawp_*_postmetakaikille blogi-ID:ille). Lisäosa on saatettu aktivoida verkon yksittäisillä sivustoilla ja se on jättänyt tietueita niiden tauluihin.
Yhteenveto: milloin täydellinen siivous on perusteltua
Jos sinulla on pieni sivusto ja poistat lisäosan kerran puolessa vuodessa, tavallinen poisto hallintapaneelin kautta ja kertaluonteinen wp_options-siivous riittää.
Mutta jos sivustosi on useita vuosia vanha, sen läpi on kulkenut kymmeniä lisäosia ja varmuuskopiot ovat kasvaneet gigatavun kokoisiksi, kirurginen siivous yllä olevien ohjeiden mukaan pienentää tietokantaa huomattavasti ja nopeuttaa hallintapaneelia. Käytännössä olemme siivonneet tuhansia orpoja tietueita wp_postmeta-taulusta ja kymmeniä tarpeettomia tauluja, ja hallintapaneelin vasteaika lyheni lähes puoleen.
Ota tavaksi: kun poistat lisäosan, käy läpi tarkistuslista (FTP → wp_options → cron → taulut). Kymmenen minuuttia tänään säästää tunteja huomenna, kun paisunut tietokanta kaataa sivustosi liikennepiikin aikana.
Mikä lisäosa jätti eniten roskaa poiston jälkeen sinun sivustollasi? Kerro kommenteissa.



