Skip to content

Allt om WordPress, webbutveckling — och mer därtill

Hur man tar bort gamla WordPress-revisioner: 4 steg

Hur man tar bort gamla WordPress-revisioner: 4 steg

Har din WordPress-databas svällt, har adminpanelen blivit seg som sirap och har din backup vuxit sig lika stor som ett mindre webbarkiv? Revisioner är troligen boven: utkastkopior från varje sparande som motorn ackumulerar under åren.

En enskild sida samlar på sig dussintals redigeringar under sin livstid. Multiplicera det med hundratals inlägg och du får gigabyte med skräp i wp_posts. Än värre är att revisioner lagras i samma tabell som publicerat innehåll, så varje extra post saktar ner frågorna.

Här är fyra sätt att rensa gamla versioner från din databas: från ett säkert plugin till rå SQL. Plus ett bonustrick som hindrar revisionsröran från att komma tillbaka.

💡 Snabb översikt:

  • WP-Sweep, den säkraste vägen: pluginet tar bort revisioner med hjälp av WordPress inbyggda funktioner utan direkta databasfrågor.
  • wp-config.php, tre kodrader inaktiverar eller begränsar utkastsparande helt på motornivå.
  • SQL-fråga, omedelbar rensning med en enda fråga; kräver en fullständig databasbackup innan du kör.
  • Intervall för autospara, raderar inte det som redan har samlats men bromsar framtida revisionstillväxt drastiskt.

Steg 1: Ta bort revisioner med pluginet WP-Sweep

Den enklaste och säkraste metoden för dig som föredrar att inte röra kod. WP-Sweep anropar WordPress inbyggda funktioner (wp_delete_post_revision) och skriver inga råa frågor, så risken att skada databasen är minimal.

WP-Sweep plugin-gränssnitt, borttagning av revisioner

Standardinstallation:

  • Gå till Tillägg → Lägg till nytt.
  • Sök efter WP-Sweep, klicka på Installera och sedan Aktivera.
  • Öppna Verktyg → Sweep.
  • Leta upp raden Revisioner och klicka på knappen Sweep.

Pluginet visar hur många revisioner som raderades och hur mycket utrymme som frigjordes. Förutom revisioner kan WP-Sweep rensa skräpkommentarer, autosparade utkast, oanvända taxonomitermer och övergivna metafält, allt via det inbyggda WordPress-API:et.

🔗 WP-Sweep på WordPress.org

Steg 2: Inaktivera revisioner via wp-config.php

Om du inte behöver revisioner alls, inaktivera dem med en enda rad. Leta upp filen wp-config.php i din webbplatsrot och lägg till koden före raden /* That's all, stop editing! */:

1define( 'WP_POST_REVISIONS', false );
Kod för att inaktivera revisioner i filen wp-config.php

Efter detta slutar WordPress att spara utkast vid varje autospara och varje klick på "Uppdatera". Endast den senaste versionen av varje inlägg finns kvar i databasen.

Observera att denna rad inte raderar revisioner som redan har samlats; den förhindrar bara att nya dyker upp. Rensa upp befintlig röra med steg 1 eller bonussökningen med SQL nedan.

För att återaktivera revisioner, ersätt false med true eller ta helt enkelt bort raden.

Steg 3: Begränsa antalet revisioner

Att helt inaktivera är inte för alla. Om en redaktion på tre personer redigerar samma inlägg och behöver en ändringshistorik är det bättre att inte stänga av revisioner utan att begränsa deras antal.

Lägg till följande i wp-config.php före raden /* That's all, stop editing! */:

1define( 'WP_POST_REVISIONS', 3 );

Siffran 3 innebär att WordPress behåller maximalt tre senaste versioner av varje inlägg. En fjärde revision skriver över den äldsta, så databasen fortsätter inte att växa.

Begränsa revisioner till 3 i wp-config.php

För de flesta webbplatser är tre revisioner mer än tillräckligt. Om du publicerar långa artiklar med dussintals iterationer, sätt 5 eller 10. Det finns ingen gräns; du kan ange vilket heltal som helst.

Steg 4: Ändra intervallet för autospara

Som standard sparar WordPress ett utkast var 60:e sekund. Under aktiv redigering skapar detta dussintals revisioner per timme. Du kan förlänga intervallet så att autosparningar sker mer sällan och databasen växer långsammare.

Lägg till följande i wp-config.php:

1define( 'AUTOSAVE_INTERVAL', 600 );
Ställa in autospara-intervallet till 600 sekunder i wp-config.php

Värdet 600 är i sekunder (10 minuter). Med denna inställning skrivs ett utkast till databasen en gång var 10:e minut istället för varje minut. Det minimum WordPress accepterar är 60 sekunder; det rekommenderade maximumet är 3600 (en timme).

Detta trick rensar inte befintliga revisioner men minskar drastiskt ackumuleringen av nya. Kombinera det med begränsningen från steg 3 för att få en ren databas utan regelbunden manuell rensning.

Bonus: Radera revisioner direkt med en SQL-fråga

Den snabbaste vägen om plugin-rensning inte är ett alternativ av någon anledning. Varning: denna fråga är oåterkallelig. Innan du kör den, gör en fullständig databasbackup via phpMyAdmin, WP-CLI eller ett backup-plugin.

Först en säker testkörning för att se hur många revisioner som påverkas utan att radera dem:

1SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';

Om ditt tabellprefix inte är wp_, ersätt det med ditt eget (kontrollera wp-config.php, raden $table_prefix).

När du har bekräftat att antalet är rimligt, kör raderingen:

1DELETE FROM wp_posts WHERE post_type = 'revision';

Frågan tar bort alla revisioner från alla inlägg i ett svep. Efter det blir databasen omedelbart lättare, särskilt på äldre webbplatser med hundratals sidor.

Vad frågan inte rör: publicerade inlägg, utkast (post_status='draft'), sidor, bilagor, menyer och papperskorgen. Den riktar sig strikt mot poster med post_type='revision', som motorn endast använder för att lagra versioner.

⁉️🤔 Vanliga frågor

Påverkar revisioner verkligen webbplatsens hastighet?

Det gör de, men indirekt. Revisioner i sig laddas inte på frontend; de ligger i wp_posts och ökar den totala tabellstorleken. På en webbplats med 10 000+ poster saktar varje extra tusen rader ner WP_Query-frågor, särskilt utan en objektcache (Redis). Efter rensning av revisioner märks skillnaden i adminpanelen och när inlägg sparas.

Är det säkert att radera revisioner med ett plugin?

WP-Sweep är säkert just för att det inte skriver råa SQL-frågor. Det anropar wp_delete_post_revision(), samma funktion som WordPress använder när ett utkast raderas normalt. Icke desto mindre gäller regeln "gör en backup före varje databasoperation" fortfarande.

Vad händer med autosparningar efter att revisioner inaktiverats?

Autosparningar fortsätter att fungera; de är tekniskt sett en separat mekanism. WordPress behåller en autospara per inlägg (den senaste), och den skrivs över, inte ackumuleras. Att inaktivera revisioner via WP_POST_REVISIONS påverkar inte autosparningar. Att ändra AUTOSAVE_INTERVAL styr dem däremot direkt.

Kan jag radera revisioner endast för specifika inläggstyper?

Ja, via wp_revisions_to_keep-filtret. Lägg till följande i ditt temas functions.php eller i Code Snippets:

1add_filter( 'wp_revisions_to_keep', function( $num, $post ) {
2 if ( 'product' === $post->post_type ) {
3 return 0; // do not keep revisions for WooCommerce products
4 }
5 return $num;
6}, 10, 2 );

Denna kod inaktiverar revisioner endast för produkter medan standardbeteendet för inlägg och sidor behålls. För massradering av redan ackumulerade revisioner av en specifik typ, använd SQL med ett villkor på post_parent.

Ersätter Perfmatters WP-Sweep?

Perfmatters är ett kommersiellt prestandaplugin, och revisionshantering är bara en av dess 40+ funktioner. Det kan begränsa antalet revisioner (liknande WP_POST_REVISIONS) och rensa dem enligt ett schema. Men om du bara behöver revisionsrensning är WP-Sweep helt gratis och gör jobbet precis lika bra. Perfmatters är meningsfullt när du också behöver lazy loading, inaktivering av emoji-skript och andra finjusterade prestandaalternativ.

Behöver jag rensa revisioner på en ny webbplats?

På en färsk webbplats med ett dussin inlägg tar revisioner upp kilobyte, så det finns ingen poäng med att rensa. Men skapa en vana: om du planerar att blogga aktivt, sätt en WP_POST_REVISIONS-gräns på 3-5 redan nu. Du slipper hantera röran senare.

Vad bör du välja för din situation?

Snabb matris:

  • Vill ha säker och snabb rensning utan kod → WP-Sweep (steg 1) + begränsa revisioner till 3 (steg 3).
  • Behöver inte revisioner alls och jobbar solo → inaktivera via WP_POST_REVISIONS, false (steg 2).
  • **Stor databas, pluginet är långsamt på ditt **webbhotell → SQL-fråga från bonusavsnittet (strikt efter en backup).
  • Redan ren, vill hålla den så → revisionsgräns på 3-5 (steg 3) + autosparintervall på 300-600 sekunder (steg 4).

Lägg fem minuter nu, så slutar din databas att svälla under åren. Om webbplatsen fortfarande är långsam efter rensning av revisioner, kolla in andra sätt att snabba upp WordPress: frågecache och ett lättviktigt tema ger ofta en större boost än att ta bort revisioner.