Skip to content

Allt om WordPress, webbutveckling — och mer därtill

🧹 Hur du helt tar bort ett WordPress-plugin: steg för steg rensning av databas och filer

🧹 Hur du helt tar bort ett WordPress-plugin: steg för steg rensning av databas och filer

Din sajt segar ihop, säkerhetskopiorna sväller till en gigabyte och phpMyAdmin visar dussintals tabeller med prefix från tillägg du "raderade" för ett år sedan. Låter det bekant?

Standardknappen "Ta bort" i tilläggssektionen tar bara bort mappen från wp-content/plugins. Allt annat (tabeller, inställningar, cron-jobb, shortcodes i inlägg) blir kvar i databasen och på disken. Utvecklare hanterar städning olika: en del städar noggrant efter sig via uninstall.php, medan andra lämnar allt orört.

Här är en komplett algoritm för att ta bort ett tillägg spårlöst: från adminpanelen till manuell SQL. Med säkerhetskopior i varje steg och precisa instruktioner för populära tillägg.

💡 Snabb överblick:

  • Radering via adminpanelen är bara första steget; tabeller, shortcodes och cron-jobb kräver separat rensning
  • Gör en fullständig säkerhetskopia innan några databasoperationer (använd inbyggda verktyg hos webbhotellet eller ett tillägg)
  • WooCommerce, Yoast SEO, Wordfence och andra populära tillägg har sina egna konstanter och SQL-frågor
  • Ett inaktiverat tillägg är inte "avstängt" utan "vilande"; dess filer är fortfarande åtkomliga för direkt åtkomst och utgör en attackvektor

Varför "Ta bort"-knappen inte räcker

WordPress anropar ett tilläggs uninstall.php eller callback från huvudfilen när det raderas. Men detta fungerar bara om utvecklaren skapade en sådan fil. I praktiken saknar ungefär hälften av tilläggen från WordPress.org-katalogen uninstall.php eller implementerar den delvis: de tar bort mappen men lämnar databasen orörd.

Vad som blir kvar efter standardradering:

Typ av rest

Var du hittar den

Risk

Databastabeller

wp_* (tilläggsprefix)

Databastillväxt, långsammare frågor

Rader i wp_options

option_name LIKE %pluginname%

Skräp bland autoload-alternativ

Rader i wp_postmeta

meta_key LIKE %pluginname%

Död data vid hämtning av inlägg

Shortcodes i innehåll

Inläggs-/sidtext

Trasiga [shortcode] på frontend

Cron-jobb

wp_optionscron

Onödiga HTTP-anrop till wp-cron

Filer utanför tilläggsmappen

wp-content/uploads/

Skräp på disken

Regler i .htaccess

Webbplatsens rot

Konflikter med nya tillägg

Rader med autoload-flaggan är särskilt kritiska: WordPress laddar dem vid varje anrop. Femtio extra autoload-rader lägger till 30-80 ms på serverns svarstid. Verkar försumbart vid första anblicken, men med 100 000 sidvisningar i månaden blir det en märkbar prestandaförlust.

Inaktivering vs radering: vad är skillnaden

Skillnaden är fundamental, och det är bra att förstå den innan rensningen börjar.

Kriterium

Inaktivering

Fullständig radering

Tilläggsfiler

Kvar i wp-content/plugins/

Raderade

Kod

Körs inte, tillgänglig för läsning

Saknas

Databastabeller

Bevarade

Beror på utvecklaren

Inställningar

Bevarade

Beror på uninstall.php

Uppdateringar

Kommer (för gratistillägg från.org)

Kommer inte

Sårbarheter

Kod på servern är en attackvektor

Inget hot

Återställbarhet

Ett klick så är tillägget aktivt igen

Endast från säkerhetskopia

Ett inaktiverat tillägg är inte "avstängt" utan "vilande". PHP-filer finns fysiskt på servern. Om en sårbarhet upptäcks i koden kan en angripare nå filen direkt via sökvägen i wp-content/plugins/ och kringgå WordPress logik. WAF-brandväggar löser inte detta problem: det bästa skyddet är att ta bort oanvänd kod från servern helt och hållet.

Regeln är enkel: om du inte har använt ett tillägg på mer än en vecka, radera det. Att konfigurera om är snabbare än att hantera ett intrång via ett hål i övergiven kod.

Steg-för-steg-rengöring: 4 steg

Steg 1: Radering via adminpanelen

Första steget är standard. Gå till Tillägg → Installerade, hitta det du behöver. Aktiva tillägg är markerade med en blå stapel, inaktiverade är det inte.

Klicka på "Ta bort" under namnet, bekräfta med knappen "Ja, ta bort dessa filer". WordPress anropar tilläggets uninstall.php (om den finns) och tar bort mappen från wp-content/plugins.

WordPress-pluginlista med raderingsknapp

För enkla tillägg (en lättviktswidget, ersättning av inloggningssidans logotyp) slutar rensningen här. De skapar inga tabeller eller skriver till wp_postmeta. Men tillägg för cache, SEO, säkerhet, gallerier och sidbyggare kräver ytterligare åtgärder.

Steg 2: Filrensning via FTP

Vissa tillägg skapar mappar utanför wp-content/plugins/. Vanliga platser:

  • wp-content/uploads/plugin-name/: cache, komprimerade bilder, exporterade filer
  • wp-content/ngg/: NextGEN Gallery
  • wp-content/ewww/: EWWW Image Optimizer
  • wp-content/backup/: tillägg för säkerhetskopiering

Anslut till servern via FTP (FileZilla, WinSCP) eller webbhotellets filhanterare. Navigera till wp-content/, hitta mappen med tilläggets namn och ta bort den. Ladda ner mappen lokalt innan du raderar; om den innehöll användaruppladdningar, återställ dem.

Cache-tillägg (WP Rocket, W3 Total Cache, LiteSpeed Cache) skriver dessutom till wp-content/cache/ och skapar wp-content/advanced-cache.php. Ta bort filen advanced-cache.php manuellt via FTP, och i wp-config.php letar du upp och tar bort denna rad:

1define('WP_CACHE', true);

Steg 3: Ta bort shortcodes från innehåll

Tillägg som lägger till shortcodes (formulär, gallerier, bildspel, tabeller) lämnar kala [shortcode] i inläggstexten efter radering. Det ser rörigt ut och förvirrar läsare.

Ett snabbt sätt att tysta oanvända shortcodes är en rad i ditt aktiva temas functions.php:

1add_shortcode('pluginshortcode', '__return_false');
Kod i functions.php för att inaktivera plugin-shortcode

Ersätt pluginshortcode med din shortcode-tagg. Till exempel: nggallery, gravityform eller contact-form-7. Funktionen __return_false returnerar false, och shortcoden försvinner från frontend utan att tas bort från inläggstexten.

Lägg till koden via ett barntema eller tillägget Code Snippets; redigeringar i huvudtemat functions.php försvinner vid nästa uppdatering. Om du senare bestämmer dig för att återställa tillägget tar du helt enkelt bort denna rad.

Steg 4: Databasrensning

Det mest kritiska steget. Gör en fullständig databassäkerhetskopia innan någon SQL-fråga för radering; export via phpMyAdmin tar en halv minut och räddar dig från oåterkalleliga misstag.

4a. Hitta tilläggets tabeller. Gå till phpMyAdmin (via cPanel eller ditt webbhotells adminpanel), välj webbplatsens databas. Leta efter tabeller med tilläggsprefixet: wp_wc_* (WooCommerce), wp_yoast_* (Yoast SEO), wp_wf* (Wordfence). Markera dem, välj "Drop" längst ner → bekräfta.

4b. Automatisering via Advanced Database Cleaner. Om du föredrar att inte arbeta direkt i phpMyAdmin, installera Advanced Database Cleaner. Detta gratisplugin skannar databasen, hittar övergivna tabeller och poster och tar bort dem med ett klick.

4c. Rensa wp_options. Även om pluginet inte skapade separata tabeller skrev det nästan säkert till wp_options. Kör i phpMyAdmin (SQL-fliken):

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

Ersätt pluginname med en del av pluginets namn. Kontrollera att raderna faktiskt tillhör det borttagna pluginet, sedan:

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

4d. Rensa cron-jobb. Vissa plugin registrerar sina egna cron-händelser. Installera WP Crontrol; det visar alla registrerade cron-jobb i en lista. Hitta händelser med pluginets namn och ta bort dem manuellt.

Specifikt för borttagning av populära plugins

Varje större plugin lämnar ett unikt fotavtryck. Nedan finns exakta instruktioner för de vanligaste.

WooCommerce

WooCommerce skapar 16+ tabeller i databasen. För att få dem automatiskt rensade vid borttagning, lägg till i wp-config.php (före raden /* That's all, stop editing! */):

1define('WC_REMOVE_ALL_DATA', true);

Denna konstant tvingar WooCommerce att anropa sin fullständiga uninstall.php vid borttagning; alla wp_woocommerce_*- och wp_wc_*-tabeller raderas, inklusive produkter, ordrar och kuponger. Åtgärden är oåterkallelig, så backup är obligatoriskt.

Efter att du tagit bort pluginet, kontrollera även wp_options eftersom WooCommerce skriver dussintals rader där med prefixet woocommerce_:

1SELECT * FROM wp_options WHERE option_name LIKE '%wc_%';
SQL-fråga för att hitta WooCommerce-poster i databasen

Om rader hittas och pluginet redan är borttaget, kör DELETE-frågan med samma villkor.

Yoast SEO

Yoast SEO lämnar poster i wp_postmeta och wp_usermeta, samt sina egna tabeller wp_yoast_indexable och wp_yoast_seo_links.

Rensa först wp_postmeta:

1SELECT * FROM wp_postmeta WHERE meta_key LIKE '%yoast%';
Hitta Yoast SEO-metaposter i wp_postmeta-tabellen

Efter att ha bekräftat att detta är Yoast-data, kör:

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

Därefter wp_usermeta:

1SELECT * FROM wp_usermeta WHERE meta_key LIKE '%yoast%';
Hitta Yoast SEO-poster i wp_usermeta-tabellen

Radera det du hittar med en analog DELETE-fråga. Yoast registrerar även cron-jobbet wpseo_onpage_fetch; ta bort det via WP Crontrol. Släpp tabellerna wp_yoast_indexable och wp_yoast_seo_links manuellt via phpMyAdmin.

Akismet

Akismet är standardpluginet för kommentarsspamskydd, förinstallerat med WordPress. Efter borttagning finns dess data kvar i wp_commentmeta:

1SELECT * FROM wp_commentmeta WHERE meta_key LIKE '%akismet_%';
SQL-fråga för att hitta Akismet-data i kommentarer

Sedan:

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

Om sajten har tusentals kommentarer kan wp_commentmeta väga tiotals megabyte. Efter rensning, optimera tabellen:

1OPTIMIZE TABLE wp_commentmeta;

Fler sätt att bekämpa spam finns i vår artikel så stoppar du kommentarsspam i WordPress: alla 18 lösningar.

Gravity Forms

Gravity Forms skapar 9 tabeller i databasen (wp_gf_*, wp_rg_*). Innan du raderar, gå till Formulär → Inställningar → Avinstallera och bekräfta. Ta sedan bort tillägget från adminpanelen.

Efter borttagning, kontrollera wp_options:

1SELECT * FROM wp_options WHERE option_name LIKE '%gravity%' OR option_name LIKE '%gf_%';
SQL-fråga för att rensa wp_options för Gravity Forms

Ta bort raderna som hittas med en motsvarande DELETE-fråga.

Wordfence

Wordfence är ett av de "tyngsta" säkerhetstilläggen: det skapar 23 tabeller med prefixet wp_wf*. Standardborttagning via adminpanelen rensar inte bort dem.

Det officiella hjälptillägget Wordfence Assistant lades ner av utvecklaren i december 2025. Så vi rensar manuellt: ta bort huvudtillägget Wordfence via adminpanelen, gå sedan till phpMyAdmin och kör:

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

Ta bort raderna som hittas med en DELETE-fråga med samma villkor. Hitta och ta sedan bort alla tabeller med prefixet wp_wf (det finns vanligtvis 23 stycken, från wp_wfblockediplog till wp_wflivetraffichuman). Via FTP, radera mappen wp-content/wflogs/ och filen wordfence-waf.php i sajtens rot om de finns kvar.

Tillägget skapar 3 tabeller (wp_ngg_*) och en mapp wp-content/ngg/ med uppladdade gallerier.

Ta först bort tillägget via adminpanelen. Radera sedan mappen wp-content/ngg/ via FTP, spara galleribilderna först om du behöver dem. I phpMyAdmin, kör:

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

Ta bort raderna som hittas med en DELETE-fråga med samma villkor. Ta bort tabellerna wp_ngg_pictures, wp_ngg_galleries och wp_ngg_album manuellt.

EWWW Image Optimizer

EWWW lagrar data om varje optimerad bild i tabellen wp_ewwwio_images: filsökväg, ursprunglig storlek, storlek efter komprimering. Det skapar också en mapp wp-content/ewww/ med cache.

Radera mappen via FTP. Sedan i phpMyAdmin:

1SELECT * FROM wp_options WHERE option_name LIKE '%ewww%';
SQL-fråga för att rensa EWWW Image Optimizer-alternativ

Ta bort det du hittar och släng tabellen wp_ewwwio_images.

WP All Export

Pluginet skapar 4 tabeller i databasen. Efter borttagning via adminpanelen, gå till phpMyAdmin, leta upp tabeller med prefixet wp_pmxe_*, markera dem och kör "Drop". Kontrollera dessutom wp_options efter nyckeln pmxe; pluginet sparar senaste exportinställningar där.

Mer information om den kompletta borttagningscykeln för plugins finns i videohandledningen nedan.

⁉️🤔 Vanliga frågor

Är det säkert att ta bort plugin-tabeller direkt via phpMyAdmin?

Det är säkert under två förutsättningar: du har gjort en fullständig databasbackup och korrekt identifierat tabellerna som tillhörande ett redan borttaget plugin. Tredjepartsplugin-tabeller har alltid ett igenkännbart prefix: wp_wc_, wp_yoast_ eller wp_wf. Rör inte WordPress systemtabeller (wp_posts, wp_options, wp_users, wp_comments, wp_postmeta och wp_usermeta) med DROP; du kan bara rensa dem med selektiv DELETE.

Vad ska jag göra om sajten visar en vit skärm efter borttagning av ett plugin?

Återställ pluginet från backup: ladda upp mappen via FTP, importera dess tabeller. Orsaken ligger troligtvis i temats functions.php, där ett anrop till en plugin-funktion kan finnas kvar utan en fallback. Hitta sådana anrop och slå in dem i function_exists() eller ta bort dem, och upprepa sedan borttagningen av pluginet.

Hur hittar jag alla spår av ett plugin i databasen?

Installera Advanced Database Cleaner-pluginet. Det skannar alla tabeller efter överbliven data och visar en komplett lista: tabeller, rader i wp_options och wp_postmeta, cron-jobb. Detta är snabbare och säkrare än manuell sökning via phpMyAdmin.

Bör jag ta bort plugins som följde med temat?

Ja, om du inte använder dem. Plugins som medföljer teman (WPBakery Page Builder, Slider Revolution, ACF Pro) har ofta begränsade licenser, och säkerhetsuppdateringar når dem inte. Ett avaktiverat, föråldrat WPBakery med en känd sårbarhet är en direkt väg till ett intrång. Om du inte använder det, ta bort det.

Kan jag återställa ett plugin efter fullständig borttagning?

Endast från backup. Efter rensning av tabeller och wp_options är alla plugin-inställningar permanent förlorade. Det är just därför algoritmen ovan är uppbyggd från enkel till radikal: först standardborttagning (reversibel), sedan filrensning, och först på slutet databasen. Gå igenom stegen sekventiellt; hoppa inte direkt till phpMyAdmin.

Blir plugin-data kvar i WordPress Multisite?

I Multisite har varje undersajt sina egna tabeller: wp_2_options, wp_2_postmeta och så vidare. Efter borttagning av ett plugin via superadmin, kontrollera varje undersajts tabeller (wp_*_options och wp_*_postmeta för alla blogg-ID:n). Pluginet kan ha varit aktiverat på enskilda sajter i nätverket och lämnat poster i deras tabeller.

Slutsats: när fullständig rensning är motiverad

Om du har en liten sajt och tar bort ett plugin en gång i halvåret räcker standardborttagning via adminpanelen plus en engångsrensning av wp_options.

Men om din sajt är flera år gammal, dussintals plugins har passerat genom den och backupfilerna har vuxit till en gigabyte, kommer kirurgisk rensning enligt instruktionerna ovan märkbart att minska databasen och snabba upp adminpanelen. I praktiken har vi rensat tusentals överblivna poster i wp_postmeta och dussintals onödiga tabeller, och svarstiden i adminpanelen minskade nästan till hälften.

Gör det till en vana: efter att du tagit bort ett plugin, gå igenom checklistan (FTP → wp_options → cron → tabeller). Tio minuter idag sparar timmar imorgon, när en uppsvälld databas kraschar din sajt vid hög trafik.

Vilket plugin lämnade mest skräp efter borttagning på din sajt? Berätta i kommentarerna.