Skip to content

Kõik WordPressist, veebiarendusest — ja mitte ainult

🧹 Kuidas WordPressi plugin täielikult eemaldada: samm-sammuline andmebaasi ja failide puhastus

🧹 Kuidas WordPressi plugin täielikult eemaldada: samm-sammuline andmebaasi ja failide puhastus

Sinu sait muutub aeglaseks, varukoopiad paisuvad gigabaidiseks ja phpMyAdmin näitab kümneid tabeleid, mille eesliited pärinevad pluginatest, mille sa aasta tagasi „kustutasid". Kõlab tuttavalt?

Tavaline „Kustuta" nupp pluginate jaotises eemaldab ainult kausta wp-content/plugins alt. Kõik muu (tabelid, sätted, cron-tööd, postitustes olevad lühikoodid) jääb andmebaasi ja kettale. Arendajad käsitlevad koristust erinevalt: mõned koristavad hoolsalt enda järelt uninstall.php abil, samas kui teised jätavad kõik puutumata.

Allpool on täielik algoritm plugina jäljetuks eemaldamiseks: alates juhtpaneelist kuni käsitsi SQL-i päringuteni. Igal etapil varukoopiatega ja täpsete juhistega populaarsetele pluginadele.

💡 Kiirülevaade:

  • Juhtpaneeli kaudu kustutamine on ainult esimene samm; tabelid, lühikoodid ja cron-tööd vajavad eraldi koristust
  • Enne mis tahes andmebaasitoiminguid tee täielik varukoopia (kasutades sisseehitatud hostingu tööriistu või pluginat)
  • WooCommerce, Yoast SEO, Wordfence ja teistel populaarsetel pluginatel on oma konstandid ja SQL-päringud
  • Deaktiveeritud plugin ei ole „välja lülitatud", vaid „uinuv"; selle failid on endiselt otsepöördumiseks ligipääsetavad ja kujutavad endast ründevektorit

Miks „Kustuta" nupust ei piisa

WordPress kutsub plugina kustutamisel välja selle uninstall.php või põhifailis oleva tagasikutse. Kuid see toimib ainult siis, kui arendaja on sellise faili loonud. Praktikas puudub umbes pooltel WordPress.org kataloogi pluginatest uninstall.php või on see osaliselt teostatud: need kustutavad kausta, kuid jätavad andmebaasi puutumata.

Mis jääb alles pärast tavalist kustutamist:

Jäägi tüüp

Kust otsida

Oht

Andmebaasi tabelid

wp_* (plugina eesliide)

Andmebaasi kasv, aeglasemad päringud

Read tabelis wp_options

option_name LIKE %pluginname%

Risustatud autoload sätted

Read tabelis wp_postmeta

meta_key LIKE %pluginname%

Surnud andmed postituste laadimisel

Lühikoodid sisus

Postituse/lehe tekst

Katkised [shortcode] esilehel

Cron-tööd

wp_optionscron

Tarbetud HTTP-päringud wp-cronile

Failid väljaspool plugina kausta

wp-content/uploads/

Kettaruumi risustamine

Reeglid failis .htaccess

Saidi juurkataloog

Konfliktid uute pluginatega

Eriti kriitilised on autoload lipuga read: WordPress laeb need iga päringu korral. Viiskümmend lisa autoload rida lisavad serveri vastuseajale 30-80 ms. Esmapilgul tundub tühine, kuid 100 000 igakuise külastuse juures on see märgatav jõudluse langus.

Deaktiveerimine vs kustutamine: mis vahe on

Erinevus on põhimõtteline ja seda on kasulik mõista enne koristamise alustamist.

Kriteerium

Deaktiveerimine

Täielik kustutamine

Plugina failid

Jäävad kausta wp-content/plugins/

Kustutatud

Kood

Ei käivitata, lugemiseks saadaval

Puudub

Andmebaasi tabelid

Säilitatud

Sõltub arendajast

Sätted

Säilitatud

Sõltub failist uninstall.php

Uuendused

Saabuvad (tasuta pluginad.org-st)

Ei saabu

Haavatavused

Kood serveris on ründevektor

Ohtu pole

Pöörduvus

Üks klikk ja plugin on taas aktiivne

Ainult varukoopiast

Deaktiveeritud plugin ei ole „välja lülitatud", vaid „uinuv". PHP-failid asuvad füüsiliselt serveris. Kui koodis leitakse haavatavus, pääseb ründaja failile otse ligi läbi tee wp-content/plugins/, minnes mööda WordPressi loogikast. WAF-tulemüürid seda probleemi ei lahenda: parim kaitse on kasutamata koodi täielik eemaldamine serverist.

Reegel on lihtne: kui sa pole pluginat üle nädala kasutanud, kustuta see. Ümberseadistamine on kiirem kui tegeleda sissemurdega läbi mahajäetud koodis oleva augu.

Samm-sammuline koristus: 4 etappi

1. Samm: kustutamine juhtpaneeli kaudu

Esimene etapp on standardne. Mine Pluginad → Paigaldatud, leia vajalik. Aktiivsed pluginad on esile tõstetud sinise ribaga, deaktiveeritud mitte.

Klõpsa nime all „Kustuta", kinnita nupuga „Jah, kustuta need failid". WordPress kutsub välja plugina uninstall.php (kui see on olemas) ja kustutab kausta wp-content/plugins.

WordPressi pluginite nimekiri kustutamisnupuga

Lihtsate pluginade puhul (kerge vidin, sisselogimislehe logo asendamine) koristus siin lõpeb. Need ei loo tabeleid ega kirjuta wp_postmeta tabelisse. Kuid vahemälu, SEO, turvalisuse, galerii ja leheehitaja pluginad vajavad edasisi toiminguid.

2. Samm: failide koristus FTP kaudu

Mõned pluginad loovad kaustu väljaspool wp-content/plugins/. Tüüpilised asukohad:

  • wp-content/uploads/plugin-name/: vahemälu, tihendatud pildid, eksporditud failid
  • wp-content/ngg/: NextGEN Gallery
  • wp-content/ewww/: EWWW Image Optimizer
  • wp-content/backup/: varunduspluginad

Ühendu serveriga FTP (FileZilla, WinSCP) või hostingu failihalduri kaudu. Liigu kausta wp-content/, leia plugina nimega kaust ja kustuta see. Enne kustutamist lae kaust lokaalselt alla; kui see sisaldas kasutajate üleslaadimisi, taasta need.

Vahemälu pluginad (WP Rocket, W3 Total Cache, LiteSpeed Cache) kirjutavad lisaks kausta wp-content/cache/ ja loovad faili wp-content/advanced-cache.php. Kustuta advanced-cache.php fail käsitsi FTP kaudu ning failist wp-config.php otsi üles ja eemalda see rida:

1define('WP_CACHE', true);

3. Samm: lühikoodide eemaldamine sisust

Pluginad, mis lisavad lühikoode (vormid, galeriid, slaidid, tabelid), jätavad pärast kustutamist postituste teksti paljad [shortcode]. See näeb välja räpane ja ajab lugejad segadusse.

Kiire viis kasutamata lühikoodide vaigistamiseks on üks rida sinu aktiivse teema functions.php failis:

1add_shortcode('pluginshortcode', '__return_false');
Kood failis functions.php pluginite lühikoodi keelamiseks

Asenda pluginshortcode oma lühikoodi sildiga. Näiteks: nggallery, gravityform või contact-form-7. Funktsioon __return_false tagastab false ja lühikood kaob esilehelt, ilma et seda postituse tekstist eemaldataks.

Lisa kood alamteema või Code Snippets plugina kaudu; muudatused peateema functions.php failis lähevad järgmise uuendusega kaotsi. Kui otsustad plugina hiljem taastada, eemalda lihtsalt see rida.

4. Samm: andmebaasi koristus

Kõige kriitilisem etapp. Enne mis tahes kustutavat SQL-päringut tee andmebaasist täielik varukoopia; eksport läbi phpMyAdmini võtab pool minutit ja säästab sind pöördumatutest vigadest.

4a. Leia plugina tabelid. Mine phpMyAdmini (cPaneli või oma hostingu administraatori paneeli kaudu), vali saidi andmebaas. Otsi tabeleid plugina eesliitega: wp_wc_* (WooCommerce), wp_yoast_* (Yoast SEO), wp_wf* (Wordfence). Vali need, vali all „Drop" → kinnita.

4b. Automatiseerimine Advanced Database Cleaneriga. Kui te ei soovi otse phpMyAdminis töötada, paigaldage Advanced Database Cleaner. See tasuta plugin skannib andmebaasi, leiab orvuks jäänud tabelid ja kirjed ning kustutab need ühe klõpsuga.

4c. Puhastage wp_options. Isegi kui plugin ei loonud eraldi tabeleid, kirjutas see peaaegu kindlasti tabelisse wp_options. Käivitage phpMyAdminis (SQL-vahekaart):

1SELECT * FROM wp_options WHERE option_name LIKE '%pluginname%';

Asendage pluginname osaga plugina nimest. Veenduge, et read kuuluvad tõesti kustutatud pluginale, seejärel:

1DELETE FROM wp_options WHERE option_name LIKE '%pluginname%';

4d. Puhastage cron-tööd. Mõned pluginad registreerivad oma cron-sündmused. Paigaldage WP Crontrol; see kuvab kõik registreeritud cron-tööd ühes nimekirjas. Leidke plugina nimega sündmused ja kustutage need käsitsi.

Populaarsete pluginade eemaldamise eripärad

Iga suurem plugin jätab maha unikaalse jalajälje. Allpool on täpsed juhised levinumate jaoks.

WooCommerce

WooCommerce loob andmebaasi 16+ tabelit. Et need kustutamisel automaatselt koristataks, lisa faili wp-config.php (enne rida /* That's all, stop editing! */):

1define('WC_REMOVE_ALL_DATA', true);

See konstant sunnib WooCommerce'i kustutamisel käivitama oma täielikku uninstall.php; kõik wp_woocommerce_* ja wp_wc_* tabelid kustutatakse, sealhulgas tooted, tellimused ja kupongid. Toiming on pöördumatu, seega on varundamine kohustuslik.

Pärast plugina kustutamist kontrolli lisaks tabelit wp_options, sest WooCommerce kirjutab sinna kümneid ridu woocommerce_ eesliitega:

1SELECT * FROM wp_options WHERE option_name LIKE '%wc_%';
SQL päring WooCommerce'i kirjete leidmiseks andmebaasist

Kui ridu leidub ja plugin on juba kustutatud, käivita sama tingimusega DELETE päring.

Yoast SEO

Yoast SEO jätab kirjed tabelitesse wp_postmeta ja wp_usermeta, samuti oma tabelid wp_yoast_indexable ja wp_yoast_seo_links.

Esmalt puhasta wp_postmeta:

1SELECT * FROM wp_postmeta WHERE meta_key LIKE '%yoast%';
Yoast SEO metaandmete leidmine wp_postmeta tabelist

Kui oled veendunud, et tegemist on Yoasti andmetega, käivita:

1DELETE FROM wp_postmeta WHERE meta_key LIKE '%yoast%';

Seejärel wp_usermeta:

1SELECT * FROM wp_usermeta WHERE meta_key LIKE '%yoast%';
Yoast SEO kirjete leidmine wp_usermeta tabelist

Kustuta leitu analoogse DELETE päringuga. Yoast registreerib ka cron-sündmuse wpseo_onpage_fetch; eemalda see WP Crontroli kaudu. Kustuta tabelid wp_yoast_indexable ja wp_yoast_seo_links käsitsi phpMyAdmini kaudu.

Akismet

Akismet on standardne kommentaarirämpsu kaitse plugin, mis on WordPressiga eelinstallitud. Pärast kustutamist jäävad selle andmed tabelisse wp_commentmeta:

1SELECT * FROM wp_commentmeta WHERE meta_key LIKE '%akismet_%';
SQL päring Akismeti andmete leidmiseks kommentaaridest

Seejärel:

1DELETE FROM wp_commentmeta WHERE meta_key LIKE '%akismet_%';

Kui saidil on tuhandeid kommentaare, võib wp_commentmeta kaaluda kümneid megabaite. Pärast puhastamist optimeeri tabel:

1OPTIMIZE TABLE wp_commentmeta;

Veel viise rämpsposti vastu võitlemiseks leiad meie artiklist kuidas peatada WordPressi kommentaaride rämpspost: kõik 18 lahendust.

Gravity Forms

Gravity Forms loob andmebaasi 9 tabelit (wp_gf_*, wp_rg_*). Enne kustutamist mine Vormid → Seaded → Eemalda ja kinnita. Seejärel kustuta plugin armatuurlaualt.

Pärast kustutamist kontrolli wp_options tabelit:

1SELECT * FROM wp_options WHERE option_name LIKE '%gravity%' OR option_name LIKE '%gf_%';
SQL päring wp_options tabeli puhastamiseks Gravity Formsi jaoks

Kustuta leitud read analoogse DELETE päringuga.

Wordfence

Wordfence on üks „raskemaid" turvapluginaid: see loob 23 tabelit eesliitega wp_wf*. Tavaline kustutamine armatuurlaualt neid ei puhasta.

Ametliku abiplugina Wordfence Assistant arendamine lõpetati arendaja poolt 2025. aasta detsembris. Seega puhastame käsitsi: kustuta peamine Wordfence'i plugin armatuurlaualt, seejärel mine phpMyAdminisse ja käivita:

1SELECT * FROM wp_options WHERE option_name LIKE '%wordfence%' OR option_name LIKE '%wf%';

Kustuta leitud read DELETE päringuga, kasutades sama tingimust. Seejärel leia ja kustuta kõik tabelid eesliitega wp_wf (tavaliselt on neid 23, alates wp_wfblockediplog kuni wp_wflivetraffichuman). FTP kaudu kustuta kaust wp-content/wflogs/ ja fail wordfence-waf.php saidi juurkataloogist, kui need on alles.

Plugin loob 3 tabelit (wp_ngg_*) ja kausta wp-content/ngg/ üleslaaditud galeriidega.

Esmalt kustuta plugin armatuurlaualt. Seejärel kustuta FTP kaudu kaust wp-content/ngg/, salvestades eelnevalt galeriipildid, kui neid vajad. phpMyAdminis käivita:

1SELECT * FROM wp_options WHERE option_name LIKE '%ngg%';

Kustuta leitud read DELETE päringuga, kasutades sama tingimust. Kustuta käsitsi tabelid wp_ngg_pictures, wp_ngg_galleries ja wp_ngg_album.

EWWW Image Optimizer

EWWW salvestab andmed iga optimeeritud pildi kohta tabelisse wp_ewwwio_images: failitee, algne suurus, suurus pärast tihendamist. Samuti loob see kausta wp-content/ewww/ koos vahemäluga.

Kustuta kaust FTP kaudu. Seejärel phpMyAdminis:

1SELECT * FROM wp_options WHERE option_name LIKE '%ewww%';
SQL päring EWWW Image Optimizeri sätete puhastamiseks

Kustuta see, mida leiad, ja eemalda tabel wp_ewwwio_images.

WP All Export

Plugin loob andmebaasi 4 tabelit. Pärast armatuurlaualt kustutamist mine phpMyAdmini, leia tabelid prefiksiga wp_pmxe_*, vali need ja käivita „Drop". Lisaks kontrolli wp_options tabelist võtit pmxe; plugin salvestab sinna viimased ekspordiseaded.

Täpsemalt pluginast täielikult vabanemise tsüklist on allolevas videojuhendis.

⁉️🤔 Korduma kippuvad küsimused

Kas plugina tabelite otse phpMyAdmini kaudu kustutamine on ohutu?

See on ohutu kahel tingimusel: oled teinud täieliku andmebaasi varukoopia ja tuvastanud tabelid täpselt kui juba kustutatud pluginasse kuuluvad. Kolmanda osapoole pluginate tabelitel on alati äratuntav prefiks: wp_wc_, wp_yoast_ või wp_wf. Ära puuduta WordPressi süsteemitabeleid (wp_posts, wp_options, wp_users, wp_comments, wp_postmeta ja wp_usermeta) käsuga DROP; neid saab puhastada ainult valikulise DELETE abil.

Mida teha, kui sait näitab pärast plugina kustutamist valget ekraani?

Taasta plugin varukoopiast: lae kaust FTP kaudu üles, impordi selle tabelid. Põhjus on suure tõenäosusega teema failis functions.php, kuhu võis jääda plugina funktsiooni väljakutse ilma varuvariandita. Leia sellised väljakutsed ja ümbritse need function_exists() kontrolliga või eemalda need, seejärel korda plugina kustutamist.

Kuidas leida kõik plugina jäljed andmebaasist?

Paigalda Advanced Database Cleaner plugin. See skannib kõiki tabeleid orvuks jäänud andmete osas ja näitab täielikku nimekirja: tabelid, read wp_options ja wp_postmeta tabelites, cron-ülesanded. See on kiirem ja ohutum kui käsitsi phpMyAdminist otsimine.

Kas peaksin kustutama pluginad, mis tulid teemaga kaasa?

Jah, kui sa neid ei kasuta. Teemadega kaasas olevad pluginad (WPBakery Page Builder, Slider Revolution, ACF Pro) tulevad sageli piiratud litsentsidega ja neile ei tule turvauuendusi. Välja lülitatud, aegunud WPBakery teadaoleva turvaauguga on otsetee sissemurdmisele. Kui sa seda ei kasuta, kustuta see.

Kas ma saan plugina pärast täielikku kustutamist taastada?

Ainult varukoopiast. Pärast tabelite ja wp_options puhastamist on kõik plugina seaded jäädavalt kadunud. Just seepärast on ülaltoodud algoritm üles ehitatud lihtsast radikaalseni: kõigepealt tavaline kustutamine (pööratav), seejärel failide puhastamine ja alles lõpus andmebaas. Läbi etapid järjest; ära hüppa otse phpMyAdmini.

Kas plugina andmed jäävad alles WordPress Multisite puhul?

Multisite puhul on igal alamvõrgukohal oma tabelid: wp_2_options, wp_2_postmeta ja nii edasi. Pärast plugina kustutamist supervõrguhalduri kaudu kontrolli iga alamvõrgukoha tabeleid (wp_*_options ja wp_*_postmeta kõigi blogi ID-de jaoks). Plugin võis olla aktiveeritud võrgustiku üksikutel saitidel ja jättis nende tabelitesse kirjeid.

Kokkuvõte: millal on täielik puhastus õigustatud

Kui sul on väike sait ja kustutad plugina kord poole aasta jooksul, piisab tavalisest armatuurlaualt kustutamisest pluss ühekordsest wp_options puhastamisest.

Aga kui su sait on mitu aastat vana, sealt on läbi käinud kümneid pluginaid ja varukoopiad on paisunud gigabaidini, siis ülaltoodud juhiste järgi tehtud kirurgiline puhastus vähendab märgatavalt andmebaasi ja kiirendab administreerimispaneeli. Praktikas oleme puhastanud tuhandeid orvuks jäänud kirjeid wp_postmeta tabelis ja kümneid üleliigseid tabeleid ning administreerimispaneeli reageerimisaeg vähenes peaaegu poole võrra.

Võta see harjumuseks: pärast plugina kustutamist käi läbi kontrollnimekiri (FTP → wp_options → cron → tabelid). Kümme minutit täna säästab homme tunde, kui puhitsenud andmebaas su saidi tippkoormuse ajal kokku jookseb.

Milline plugin jättis sinu saidil pärast kustutamist kõige rohkem rämpsu? Anna meile kommentaarides teada.