Een terugzetting zou het rustige deel van een slechte dag moeten zijn. In de praktijk maakt het de zaken vaak erger: de verkeerde back-up, verloren bestellingen, een site die terugkomt met hetzelfde lek waardoor hij werd gehackt. Deze gids geeft je een routine om een WordPress-klantsite terug te zetten vanuit een back-up, de juiste back-up te kiezen, de gegevens te houden die je nodig hebt en het resultaat te controleren voordat de klant dat doet.
1. Bepaal wat je echt moet terugzetten
Niet elk probleem vraagt een volledige terugzetting. Vraag eerst wat er kapot is en wat er sinds de laatste goede back-up is veranderd.
- Een update van een plugin of thema maakte de site kapot: vaak hoef je alleen die ene map van de plugin of het thema terug te zetten. De database kan blijven zoals hij is.
- Inhoud is verwijderd of overschreven: misschien heb je alleen de database nodig, of zelfs maar één bericht uit een revisie.
- De site is gehackt of er ontbreken bestanden: je hebt de bestanden en meestal ook de database nodig, van vóór het probleem begon.
Zet daarna op een rij wat er sinds de back-up op de site is gebeurd: nieuwe bestellingen, formulierinzendingen, reacties, gebruikersaccounts, wijzigingen door de klant. Een volledige terugzetting gooit dat allemaal weg.
2. Kies de juiste back-up
De nieuwste back-up is niet altijd de juiste. Je wilt de laatste back-up van vóór het probleem.
- Vergelijk de datum en tijd met het moment waarop het probleem begon (een updatelog, de eerste fout, het eerste bericht van de klant).
- Ga bij een gehackte site terug tot vóór de periode van de besmetting, niet naar gisteren. Een back-up van een besmette site zet de besmetting terug.
- Controleer of de back-up compleet is: zowel de bestanden (minstens
wp-content) als de database, en of het archief echt opent.
3. Maak eerst een back-up van de kapotte site
Maak voordat je iets verandert een back-up van de site zoals hij nu is. Het kost een paar minuten en geeft je een weg terug als de terugzetting misgaat, plus de bestellingen en inzendingen die je later misschien moet overzetten. Met WP-CLI:
wp db export before-restore.sql
Download ook wp-content, of laat je host een momentopname maken.
4. Zet zo mogelijk eerst terug op een kopie
Heb je een stagingkopie of kun je er een maken, zet dan daar eerst terug. Je ziet het resultaat zonder dat de klant meekijkt, en je ontdekt of de back-up deugt. Voor een kleine visitekaartjessite die toch al plat ligt, is direct live terugzetten acceptabel. Test bij een webwinkel op een kopie.
5. Voer de terugzetting uit
Gebruik de tool waar de back-up vandaan komt. De drie gebruikelijke routes:
- Back-upplugin: gebruik de herstelfunctie en kies bestanden, database of allebei.
- Hostingpaneel: veel hosts kunnen bestanden en database terugzetten vanuit hun eigen momentopnames. Controleer of ze het hele account terugzetten of één site.
- Met de hand: upload de bestanden via SFTP en importeer de database.
Voor de handmatige route met WP-CLI:
wp db import backup.sql
wp search-replace 'https://old-domain.test' 'https://www.client-site.com' --skip-columns=guid
wp rewrite flush
wp cache flush
Je hebt alleen search-replace nodig als de back-up van een ander domein of een staging-URL komt. Voer het uit met --dry-run eerst.
6. Gedeeltelijk terugzetten zonder bestellingen kwijt te raken
Bij een WooCommerce-winkel betekent het terugzetten van de database dat je elke bestelling, klant en voorraadwijziging sinds de back-up kwijtraakt. Kies liever de kleinste terugzetting die het probleem oplost:
- Een kapotte update: zet alleen de oude versie van die map van de plugin of het thema terug.
- Een kapotte database bij een winkel: exporteer vóór het importeren de bestellingen die sinds de back-up zijn geplaatst, en voer ze opnieuw in of vraag je ontwikkelaar ze samen te voegen.
- Ontbrekende inhoud: kijk in de revisies en de prullenbak voordat je een back-up aanraakt.
7. Controleer de site voordat je het de klant vertelt
Een homepage die laadt, is nog geen werkende site. Loop deze lijst langs:
- De homepage en de drie belangrijkste pagina’s, op desktop en op een telefoon.
- Stuur een testbericht via het contactformulier en controleer of het aankomt.
- Voor een winkel: leg iets in de winkelwagen en doorloop het afrekenen met een testbetaalmethode.
- Log in op wp-admin en controleer of de plugins die je verwacht actief zijn.
- Leeg elke cache: de cacheplugin, de servercache en het CDN.
8. Na een hack: dicht het lek voordat je weer opengaat
Een terugzetting na een hack zet de oude, kwetsbare versie terug. Voordat de site weer openbaar is:
- Werk de plugin, het thema of de WordPress-versie bij waarlangs werd binnengekomen.
- Wijzig alle beheerderswachtwoorden en het databasewachtwoord, en verwijder beheerdersaccounts die je niet herkent.
- Vernieuw de beveiligingssleutels in
wp-config.php(wp config shuffle-salts), waardoor iedereen wordt uitgelogd. - Houd de site een paar dagen in de gaten: nieuwe beheerders, gewijzigde bestanden, vreemde doorverwijzingen.
9. Maak terugzetten saai
De meeste mislukte terugzettingen mislukken omdat niemand het ooit had geprobeerd. Zet elke maand één site terug vanuit een back-up, op een kopie, en noteer hoe lang het duurde. Spreek vooraf met klanten af wat een terugzetting betekent voor bestellingen en formulierinzendingen die tussendoor binnenkwamen, zodat het gesprek op de dag zelf niet nieuw is.
Hoe Verploy met back-ups en terugzetten omgaat
Elke update wordt gecontroleerd, en de risicovolle worden eerst op een kopie getest, inclusief de formulieren en het afrekenen, zodat minder updates überhaupt een terugzetting nodig hebben. Nachtelijke back-ups komen met een terugzettest, en als een site na de livegang kapotgaat, draait Verploy hem terug. Meer over WordPress-back-ups voor bureaus.
Wil je om te beginnen minder terugzettingen?
Elke update wordt gecontroleerd, en de risicovolle worden eerst op een kopie getest. Begin gratis, zonder creditcard.