Stel, u werkt aan de tekst van uw dienstenpagina. U slaat op, leest het nog eens door, verandert een zin, slaat weer op. Een collega kijkt mee en past de prijzen aan. Weer opslaan. Aan het einde van de middag is de pagina misschien vijftien keer bijgewerkt. WordPress heeft dan vijftien volledige kopieën van die pagina bewaard. Niet alleen de gewijzigde zin, maar de hele tekst, elke keer opnieuw.
Dat is de revisiefunctie: nuttig als u een fout wilt terugdraaien, maar zonder grens groeit die stilletjes uit tot een flink deel van uw database. Revisies beperken in WordPress is daarom een van de kleinste ingrepen met het grootste effect op de lange termijn. Het kost vijf minuten en u hoeft er daarna nooit meer naar om te kijken.
Wat revisies precies zijn en waarom ze bestaan
Bij elke keer dat u op “Bijwerken” klikt, slaat WordPress de vorige versie van het bericht of de pagina op als aparte rij in de tabel wp_posts, met het type “revision”. Daarnaast bewaart WordPress om de zestig seconden een automatische tussenversie terwijl u typt, de zogeheten autosave. Daarvan bestaat er maar één per gebruiker per bericht, die wordt steeds overschreven.
Het doel is eenvoudig: u kunt in de editor onder “Revisies” twee versies naast elkaar leggen en een oudere versie terugzetten. Dat is een prettige veiligheidsgordel, zeker als meerdere mensen aan dezelfde pagina werken. Het probleem is niet dat revisies bestaan, maar dat er standaard geen bovengrens is. Een pagina die vijf jaar lang wekelijks wordt bijgewerkt, sleept dan ruim tweehonderd kopieën met zich mee.
Bij een blog met honderd berichten is dat nog te overzien. Bij een webshop waar producten geen revisies hebben maar de landingspagina’s wel, of bij een site met een paginabouwer als Elementor die per opslagbeurt veel gegevens wegschrijft, loopt het snel op. Elementor bewaart bijvoorbeeld de hele blokstructuur in postmeta, en die wordt per revisie meegekopieerd.
Wat het u kost als u niets doet
Eerlijk is eerlijk: revisies maken uw website voor bezoekers niet direct trager. Bezoekers vragen alleen de gepubliceerde versie op. Het effect zit ergens anders:
- Grotere back-ups. Een database die twee keer zo groot is, duurt twee keer zo lang om te exporteren en terug te zetten.
- Trager beheer. Zoeken in het beheer, de lijst met pagina’s laden, de editor openen: die vragen lopen door wp_posts en wp_postmeta heen, en die tabellen worden groter.
- Onoverzichtelijke revisiegeschiedenis. Als u een oude versie wilt terugzetten, moet u door tweehonderd tussenstappen bladeren. Dan gebruikt niemand de functie meer.
- Hogere kans op time-outs bij verhuizingen en grote updates, omdat de database in één keer moet worden verwerkt.
Revisies beperken in WordPress: de instelling
De beperking regelt u met één regel in het bestand wp-config.php, dat in de hoofdmap van uw installatie staat. Zo gaat u te werk:
- Maak een back-up van wp-config.php. Een tikfout in dit bestand legt de hele site plat, dus u wilt de vorige versie bij de hand hebben.
- Open het bestand via de bestandsbeheerder van uw hostingpakket of via FTP/SFTP.
- Zoek de regel met de tekst That’s all, stop editing! Happy publishing. Alles wat u toevoegt, moet daarboven staan.
- Voeg toe:
define( 'WP_POST_REVISIONS', 5 );Het getal is het maximum aantal revisies per bericht of pagina. Vijf is voor de meeste sites een prettige balans; drie of tien kan ook. Met false in plaats van een getal schakelt u revisies helemaal uit, maar dat raden wij af: dan hebt u geen vangnet meer. - Sla op en open de site in een privévenster. Werkt alles normaal, dan is de instelling actief.
Let op: sommige hostingpartijen en beheerplugins beheren wp-config.php zelf. Staat er al een regel met WP_POST_REVISIONS, pas die dan aan in plaats van een tweede toe te voegen. Twee keer dezelfde constante definiëren geeft een waarschuwing.
Wilt u het tempo van autosaves ook verlagen, dan kan dat met define( 'AUTOSAVE_INTERVAL', 120 ); (in seconden). Dat scheelt wat schrijfacties op drukke redacties, maar voor de meeste bedrijfssites is het niet nodig.
Bestaande revisies opruimen
De instelling hierboven werkt alleen vooruit: bij het volgende opslaan gooit WordPress de oudste revisies weg tot er vijf overblijven. Wat er al staat, blijft staan totdat die pagina weer wordt bewerkt. Voor een site met veel oude revisies wilt u dus eenmalig opruimen.
Dat doet u het eenvoudigst met een opschoonplugin zoals WP-Optimize, WP-Sweep of Advanced Database Cleaner. Die tonen hoeveel revisies er zijn en verwijderen ze met één klik. Wie met WP-CLI werkt, kan het ook op de commandoregel doen met wp post delete $(wp post list --post_type='revision' --format=ids) --force. Maak ook hier eerst een back-up. Hoe u de rest van de database in dezelfde ronde meeneemt, staat in de handleiding voor het opschonen van de WordPress-database.
Verwijdert u alle revisies, dan verliest u de mogelijkheid om oude versies terug te zetten. Twijfelt u, laat de plugin dan alleen revisies ouder dan bijvoorbeeld negentig dagen weghalen. Dan blijft de recente geschiedenis bewaard.
Praktijkvoorbeeld
Een fysiotherapiepraktijk in Haarlem had een website met tweeëndertig pagina’s en een database van 340 MB. Dat klopte niet met de omvang van de site. Bij nader onderzoek bleken de pagina’s samen bijna zesduizend revisies te hebben. De praktijkmanager werkte de openingstijden en de teampagina vrijwel dagelijks bij, al jaren lang, en de site draaide op een paginabouwer die per opslagbeurt veel gegevens wegschreef.
Na het instellen van een maximum van vijf revisies en een eenmalige opruimronde was de database 28 MB. De nachtelijke back-up was in seconden klaar in plaats van minuten, en de editor opende merkbaar sneller. Er is niets veranderd aan wat bezoekers zien. Dat is precies het punt: dit is onderhoud dat niemand opvalt, totdat u het niet doet.
Conclusie en volgende stap
Revisies zijn nuttig, ongelimiteerde revisies niet. Zet een bovengrens van vijf in wp-config.php, ruim de bestaande revisies eenmalig op en u bent klaar. Voert u dit liever niet zelf uit, of wilt u dat zulke kleine ingrepen structureel worden meegenomen, dan hoort het thuis in regulier websiteonderhoud. Bij WebMaintor is het een vast punt in de eerste onderhoudsronde van elke nieuwe klant, omdat het bijna altijd iets oplevert. Controleer vandaag nog even hoeveel revisies uw drukste pagina heeft. Het getal zal u waarschijnlijk verbazen.



