wordpress: post-revisions en de database

Je bent erachter gekomen dat je Wordpress-database onnodig groeit doordat alle, maar dan ook alle wijzigingen die je aan een bericht doorvoert en opslaat, worden bewaard. Elke keer als je opslaat, zowel bij je kladversie als bij al gepubliceerde berichten, komt er weer een exemplaar van de volledige tekst bij in je database.

De eerste stap die je zet is een maximum aantal post-revisions instellen. Hoe je dat doet, lees je in het artikel Wordpress: limiet aan post-revisions.

direct in je database werken

Wijzigingen doorvoeren in je database is niet moeilijk, maar pas wel op: als je eenmaal iets hebt veranderd, is dat definitief. Maak daarom ALTIJD een backup van je database voordat je er iets aan verandert.

Verder: werk stap voor stap en controleer of alles op de goede plek staat en of je de juiste selecties hebt gemaakt, voordat je op “Start” of “Go” klikt.

Erg veel providers hebben als databaseprogramma MySQL geïnstalleerd. Om met de database te kunnen werken, wordt vaak het programma PHPMyAdmin gebruikt.

Ook in de onderstaande handleiding is gebruik gemaakt van MySQL en PHPMyAdmin.

Andere ‘frontend’ programma’s dan PHPMyAdmin lijken erg op elkaar en maken geen verschil voor de werking van MySQL. Een ander databaseprogramma gebruikt echter andere opdrachten, zodat je in dat geval deze handleiding niet kunt gebruiken.

 

post revisions verwijderen uit de database

  • ♦ log in op phpMyAdmin

  • ♦ klik op de database die je gebruikt
    wp-postrevisions selecteer mysql-database

  • ♦ klik op de tab ’sql’
    wp-postrevisions selecteer tab sql in database

  • ♦ tik de volgende opdracht in het query-veld:

delete x,y,z
from wp_posts x
left join wp_term_relationships y on (x.id = y.object_id)
left join wp_postmeta z on (x.id = z.post_id)
where x.post_type = 'revision'


  • ♦ let op dat je bij de tabelnamen wp-posts, wp_term_relationships en wp-postmeta het prefix of voorvoegsel gebruikt van je eigen wordpress-installatie

  • ♦ klik op ‘Start’

    wp-postrevisions draai query in mysql database


deze opdracht haalt alles weg wat met je herstelversies van je posts te maken heeft; niet alleen de revisieposts zelf, maar ook de bijbehorende metadata.

wp-postrevisions rijen in mysql-database verwijderd

Let op: van elke post blijft de laatste versie, die je op het internet geplaatst hebt, gewoon bestaan. Deze posts zijn namelijk gelabeld als ‘actual’ en niet als ‘revision’


  • ♦ ruim nu de restjes op: selecteer opnieuw de database
    wp-postrevisions selecteer opnieuw de database

  • ♦ en kijk in de kolom ‘overhead’

  • ♦ klik op ’selecteer de tabellen met overhead’
    wp-postrevisions selecteer tabellen met  overhead

  • ♦ klik op de driehoek in het keuzevak en selecteer ‘Optimaliseer’ tabel
    wp -postrevisions optimaliseer tabellen

  • ♦ klik op ’start’ en je krijgt het volgende resultaat:
    wp-postrevisions sql-querie is goed uitgevoerd


De database is nu opgeruimd. Als je vaak tussendoor je post opslaat of vaak iets wijzigt, zul je merken dat je vele kilobytes kwijt bent. Bij voorbeeld bij onderstaande vergelijking tussen mijn databse vóór en na de opruiming:

wp -postrevisions voor en na de opruiming


Daarmee is je database kleiner geworden, ijn je overtollig wordpress-revisions opgeruimd en is je wordpress weblog een stuk sneller en weer wat verder geoptimaliseerd.


Tags: , ,

2 reacties op “wordpress: post-revisions en de database”

  1. Art Dorado Curaçao! » Blog Archive » wordpress: limiet aan post-revisions meldt:

    [...] Vanaf nu zal je database in ieder geval niet meer groeien door een oneindig aantal revisions. Hoe je de al bestaande revisions uit je database verwijdert, lees je in het artikel Wordpress: post-revisions en de database. [...]

  2. online meldt:

    Bedankt voor de interessante informatie

reageer