De kopie is zelden wat een WordPress-verhuizing breekt. Wat hem breekt, is wat niemand opschreef: een cron, een webhook, een plugin die de oude hostnaam in een rij bakte, een postvak dat nog van de oude server vertrekt. Ik behandel de inventaris als de migratie. De bestandsoverdracht is de makkelijke middag die daarna komt.
Schrijf het systeem op voordat u het aanraakt
Voordat een bestand beweegt, schrijf ik een pagina die een vreemde zou kunnen gebruiken. PHP-versie. Grootte van de database. De cron-regels en de geplande acties binnen WordPress, dat is niet dezelfde lijst. Mail: wie verstuurt, via wat, en of SPF die host al noemt. Elke integratie die de site aanroept of die de site aanroept. Betaalwebhooks en een CRM-sync zijn de gewone verrassingen, omdat ze in een plugininstelling leven die niemand heeft geëxporteerd.
Ik schrijf ook op wat “werken” voor deze winkel betekent. Afrekenen van één fysiek product. Afrekenen van één virtueel product. Inloggen. Een wachtwoordreset. Het contactformulier, inclusief de mail die moet aankomen. Zoeken, als de catalogus daarvan afhangt. Als ik het pad niet kan benoemen, ben ik niet klaar om DNS te wijzigen.
| Regel | Waarom het hier staat |
|---|---|
| PHP, databasegrootte, objectcache | De nieuwe host kan „up“ zijn en toch de verkeerde runtime hebben. |
| Cron en geplande acties | Een gemiste nachtjob ziet er goed uit tot het ochtendrapport leeg is. |
| Mailpad | De site kan laden terwijl elke bestelmail op de nieuwe machine sterft. |
| Webhooks en uitgaande API’s | Ze zijn meestal niet gedocumenteerd, en ze merken de hostnaam als eerste. |
| De vijf paden die geld opleveren | Een check van de homepage loopt ze niet af. |
Zet de TTL de dag ervoor omlaag
Zet de DNS-TTL een dag voor de omschakeling op 300 seconden. Als u dat overslaat en de nieuwe host klopt niet, houdt een deel van het publiek het oude record urenlang. U kunt een cache niet haasten die u niet hebt verkort. Ik wacht liever expres een dag dan de wachttijd te ontdekken tijdens een storing.
Een staging-URL is niet de echte hostnaam
Ik breng de nieuwe server omhoog en wijs alleen mijn eigen machine ernaartoe, met een uitzondering in het hosts-bestand, terwijl de publieke DNS nog de oude host bedient. Daarna loop ik de paden op de echte naam. Een staging-URL verbergt de plugins die het productiedomein in de database hebben opgeslagen. Ze gedragen zich tot de echte naam in het verzoek staat, en dat is precies het moment waarop u geen verrassing meer wilt.
Als het kritieke pad niet op de echte hostnaam is afgelopen, is de migratie niet getest.
Houd de oude host warm
Ik zeg de oude hosting niet op in de week van de verhuizing. Die blijft in de lucht, alleen-lezen, minstens twee weken. Het kost weinig. Het is de enige terugweg die niet afhangt van een backup die ik nog niet heb hoeven gebruiken. Als de nieuwe host op dag drie dwars ligt, betekent het oude record nog iets.
Mail is de controle die men vergeet
De site kan af lijken terwijl elke bestelmail sterft op de nieuwe machine. Ik schrijf het From-adres, de relay en of poort 25 überhaupt open is. Op meer dan één host is dat niet zo, en het enige pad dat werkt is een geauthenticeerde relay op 587. SPF heeft al één record. Ik voeg geen tweede toe. Twee SPF-records vloeien niet samen. Ze worden allebei ongeldig, en mail die vroeger aankwam begint te verdwijnen in de week na een verhuizing die verder goed ging.
Ik stuur één echte bestelmail en één wachtwoordreset vanaf de nieuwe host, naar een postvak dat ik beheer, voordat ik de verhuizing af noem. Een logregel die “sent” zegt, is niet hetzelfde als een bericht in de inbox. Het tweede is de test.
HTTPS op de apex en op www. Het certificaat vernieuwt zichzelf. Mail vertrekt nog. De vijf paden worden nog afgemaakt. Daarna kijk ik een dag naar het foutlog, niet naar de homepage. De homepage is waar een monitor u al mee feliciteert. Het log is waar een webhook 404 begon terug te geven aan een betaalaanbieder.
Een verhuizing die zo verloopt, is saai. Dat is het punt. De interessante verhalen over migraties zijn bijna allemaal verhalen over een regel die in de inventaris ontbrak.
