An extreme close-up of colorful programming code on a computer screen, showcasing development and software debugging.
|

Trygg opprydding i WordPress-databasen via phpMyAdmin

🎯 Formål:

Fjerne foreldreløse (ubrukte) data fra databasen – typisk metadata som ligger igjen etter at innlegg, sider eller custom post types (CPT) er slettet. Dette frigjør plass, gir bedre ytelse og renere database – uten å påvirke det som fortsatt er i bruk.


🔧 Verktøy: phpMyAdmin

Tilgjengelig fra kontrollpanelet hos de fleste webhoteller (f.eks. Hostinger, cPanel, eller DirectAdmin).


🧽 Funksjon 1: Slett foreldreløse postmeta-data (trygg rydding)

🔢 SQL-kode:

sqlKopierRedigerDELETE FROM wp_postmeta 
WHERE post_id NOT IN (SELECT ID FROM wp_posts);

📝 Forklaring:

Denne kommandoen sletter metadata (som feltverdier, ACF-informasjon, WooCommerce-innstillinger, etc.) som ikke lenger tilhører noen post. Det gjelder kun data i wp_postmeta, altså data knyttet til slettede innlegg eller custom post types.

✅ Denne funksjonen gjør:

  • Sletter metadata som ikke lenger er tilknyttet en post
  • Rydder etter slettede innlegg, sider, produkter eller kontakter
  • Fjerner unødvendig «søppel» som tar opp plass i databasen

❌ Denne funksjonen gjør ikke:

  • Den sletter ikke innlegg, sider, CPT-er eller noen synlig innhold
  • Den sletter ikke brukere eller informasjon fra wp_users/wp_usermeta
  • Den fjerner ikke feltgrupper eller definisjoner fra ACF eller plugins
  • Den sletter ikke taksonomier, kategorier eller merkelapper

👷‍♀️ Hvem kan bruke dette?

Alle som har admin-tilgang til phpMyAdmin og ønsker å rydde trygt i databasen, spesielt etter at custom post types er slettet manuelt fra WP-admin.


🧩 Forslag til flere nyttige SQL-oppryddingsfunksjoner


🧹 Funksjon 2: Slett foreldreløse term-relasjoner (kategorier/merkelapper)

sqlKopierRedigerDELETE FROM wp_term_relationships 
WHERE object_id NOT IN (SELECT ID FROM wp_posts);

✅ Bruk når:

Du har slettet innlegg eller CPT-er, men merkelapper og kategorikoblinger ligger igjen.


🧹 Funksjon 3: Slett foreldreløse termmeta

sqlKopierRedigerDELETE FROM wp_termmeta 
WHERE term_id NOT IN (SELECT term_id FROM wp_term_taxonomy);

✅ Bruk når:

Du har slettet taksonomier eller merkelapper, men metadata ligger igjen (brukes f.eks. av plugins som legger til ekstra felt i kategorier).


🧹 Funksjon 4: Slett foreldreløse commentmeta

sqlKopierRedigerDELETE FROM wp_commentmeta 
WHERE comment_id NOT IN (SELECT comment_ID FROM wp_comments);

✅ Bruk når:

Du har slettet kommentarer, men tilhørende metadata ikke er ryddet bort.


🧹 Funksjon 5: Slett foreldreløse comments (ekstra sikkerhet)

sqlKopierRedigerDELETE FROM wp_comments 
WHERE comment_post_ID NOT IN (SELECT ID FROM wp_posts);

✅ Bruk når:

Du har slettet innlegg, men kommentarene til dem fortsatt ligger igjen.


🛑 Viktige forholdsregler

  • 📦 Ta alltid backup før du kjører SQL direkte mot databasen
  • ✅ Bruk alltid phpMyAdmin eller et tilsvarende kontrollert miljø
  • 💡 Ikke kjør disse kommandoene med mindre du vet hva postene er
  • 🔍 Du kan først teste med SELECT * FROM ... i stedet for DELETE FROM ... for å se hvilke rader som blir påvirket

📘 Anbefalt verktøy ved manuell rydding:

  • Advanced Database Cleaner – Skanner og viser orphaned data
  • WP Optimize – Brukervennlig verktøy for daglig vedlikehold
  • Query Monitor – Viser hva som faktisk brukes i databasen ved lasting av sider

💡 Tips: Sletting av spesifikke Custom Post Types

Dersom du ønsker å slette alt innhold i en bestemt CPT:

sqlKopierRedigerDELETE FROM wp_posts WHERE post_type = 'kontaktprofiler';

📌 Bytt ut kontaktprofiler med ønsket post type-navn.
Dette fjerner alle innlegg i den CPT-en, men ikke strukturen eller feltene i ACF.


🚀 Bonus: Full ACF-reset av data (valgfritt)

Hvis du vil rydde alle ACF-data (f.eks. ved migrering), kan du utvide med:

sqlKopierRedigerDELETE FROM wp_postmeta WHERE meta_key LIKE 'field_%';
DELETE FROM wp_postmeta WHERE meta_key LIKE '_field_%';

⚠️ NB! Dette sletter alle ACF-tilknyttede data, også de som er i bruk. Bruk kun hvis du skal bygge alt på nytt.

Lignende innlegg

Legg igjen en kommentar