Sådan sletter du effektivt WordPress post revisions

Bruger du Post Revisions i WordPress? Post revisions fylder rigtig godt i databasen og kan gøre din blog sløv, så du bør slette dem hvis ikke du har brug for dem.

Som standard gemmer WordPress alle tidligere version af en post. Hver gang du gemmer en klade eller udgiver et indløg gemmer WordPress en version som du altid kan vende tilbage til. Det er ganske praktisk, hvis f.eks. laver komplekse ændringer i layout og det hele går galt, at man så kan rulle en tidligere version tilbage. Hvis der er flere redaktører på samme blog der redigerer det samme indlæg vil man komme til at slette hinandens ændringer og derfor kan det være nyttigt at rulle tilbage.

Der er som standard ikke nogen grænse for hvor mange post revisions der gemmes, og det er ikke ualmindeligt at et indlæg har 5-10 post revisions. Det vil altså sige at databasen bliver fyldt med en masse data, der specielt er unødvendige når et indlæg er publiceret. Hvis ikke du er en flittig blogger er det måske lige meget, men hvis du er problogger og producerer mere end ét indlæg om dagen kan det godt blive et problem.

Du har dog muligheden for helt at deaktivere post revision eller angive hvor mange revisioner der skal gemmes med et enkelt direktiv i wp-config.php

define('WP_POST_REVISIONS', false);   //Deaktiver post revision
define('WP_POST_REVISIONS', 1);       //Gem 1 post revision

Ovenstående ændring virker dog kun fremadrettet, og du skal manuelt slette alle gamle post revisions. Det gør du ved at køre følgende SQL på din database (evt. gennem phpMyAdmin)

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision' 

Hvis ikke du er sikker på, hvordan man bruger ovenstående SQL, skal du få nogen til at hjælpe dig. Det er mildest talt ikke smart at arbejde direkte på databasen hvis ikke du ved hvad du gør.

2 Responses to “Sådan sletter du effektivt WordPress post revisions”

  1. Lars Bachmann 27. maj 2011 at 12:13 #

    Godt med en guide, da der er mange der ikke tænker over at WordPress gemmer post revisions.

    Det er en god ide at sætte den til 1-2 stykker via wp-config, så databasen ikke bliver fyldt op så hurtig.

    Med hensyn til de post revisions der allerede ligger i databasen, kan jeg anbefale et plugin der hedder wp-optimize, som kan slette revisions. Det er ret praktisk hvis man ikke vil rode med phpmyadmin.

  2. Torben Lundsgaard 27. maj 2011 at 14:21 #

    @Lars Bachmann: Der findes flere plugins der kan rydde op i post revisions, men de er ikke alle der er lige gode. De helt simple fjerne kun posts, og ikke post meta samt kategori- og tag-reletioner. Jeg er dog fuldstændig enig i at man ikke skal køre SQL direkte på databasen, hvis ikke man har fuldstændig styr på det.