De redenen om te verhuizen zijn meestal helder. De site is traag en de hostingpartij wijst naar WordPress. De support reageert pas na drie dagen. Het contract loopt af en de prijs verdubbelt. Of uw webbureau stopt ermee en u wilt alles onder één dak brengen.

Wat minder helder is, is wat er allemaal bij komt kijken. Een website verhuizen naar een andere hosting is geen kwestie van bestanden kopiëren. Er zitten drie bewegende delen in: de bestanden, de database en de DNS. En er hangt bijna altijd e-mail aan hetzelfde domein, wat het risico van een uurtje downtime verandert in het risico van kwijtgeraakte berichten. Hieronder de werkwijze die dat voorkomt.

Voorbereiding: het huiswerk vooraf

De helft van een geslaagde verhuizing zit in wat u doet voordat u iets aanraakt.

  1. Inventariseer wat er allemaal aan het domein hangt. Website, e-mail, eventueel een aparte webshop, een subdomein voor een portaal, koppelingen met boekhoud- of voorraadsoftware. Alles wat DNS gebruikt, telt mee.
  2. Noteer de technische omgeving. Welke PHP-versie draait de site nu, hoeveel ruimte gebruikt hij, hoe groot is de database, staan er cronjobs klaar, en zijn er aangepaste serverinstellingen. Vraag ernaar bij uw huidige partij als u het niet ziet.
  3. Controleer of de nieuwe omgeving past. Dezelfde of nieuwere PHP-versie, voldoende geheugenlimiet (256 MB is voor WooCommerce een verstandig minimum), en ondersteuning voor de databaseversie die u gebruikt.
  4. Maak een verse, volledige back-up. Bestanden én database, en download hem naar uw eigen computer. Niet alleen naar de server die u gaat verlaten.
  5. Verlaag de TTL van uw DNS-records. Een dag van tevoren naar bijvoorbeeld 300 seconden, zodat de omschakeling straks binnen minuten doorwerkt in plaats van uren. Hoe dat zit staat in de uitleg over DNS.

Kies daarnaast een moment. Voor een zakelijke website is dat doorgaans een doordeweekse avond; voor een webshop een moment met weinig bestellingen. Vermijd vrijdagmiddag, en vermijd de dag vóór een campagne of beurs.

Het stappenplan

Stap 1: kopieer de site naar de nieuwe server. Dat kan met een migratieplugin (Duplicator, All-in-One WP Migration, WP Migrate) of handmatig via SFTP plus een database-export. Voor grote webshops is handmatig of via WP-CLI betrouwbaarder, omdat plugins bij honderden megabytes vaak vastlopen.

Stap 2: test op de nieuwe server vóór de omschakeling. Dit is de stap die het verschil maakt tussen een rustige en een paniekerige avond. Via een tijdelijk adres van de host, of door uw eigen computer via het hosts-bestand naar het nieuwe IP-adres te laten wijzen, bekijkt u de nieuwe installatie terwijl bezoekers nog op de oude zitten. Klik door: homepage, menu’s, contactformulier, inloggen, en bij een webshop het volledige afrekenproces met een testbetaling.

Stap 3: zet de oude site tijdelijk op slot. Bij een webshop of een site met formulieren: zet een korte onderhoudsmelding aan, zodat er geen bestellingen of aanvragen binnenkomen die u straks niet meeneemt. Bij een eenvoudige informatieve site is dit niet nodig.

Stap 4: haal de laatste wijzigingen over. Exporteer de database opnieuw en zet die op de nieuwe server, zodat berichten, bestellingen en formulierinzendingen van de tussenliggende uren meekomen.

Stap 5: wijzig het A-record. Alleen het A-record en eventueel het www-CNAME. De MX-records laat u met rust, tenzij ook uw mail meeverhuist; dan is dat een aparte, apart geplande handeling.

Stap 6: vraag een nieuw SSL-certificaat aan. Op de nieuwe server. Bij de meeste hostingpartijen gaat dit automatisch zodra het domein naar hen wijst; controleer of het slotje er binnen een uur staat.

Stap 7: laat de oude hosting nog minstens twee weken staan. Zeg niet meteen op. Er komt altijd iets naar boven wat u wilt terughalen.

De controlelijst na de omschakeling

Loop deze punten diezelfde avond nog na, en nogmaals de dag erna:

  • Website bereikbaar met en zonder www, en met https (slotje zichtbaar, geen waarschuwing).
  • Geen mixed-content meldingen: afbeeldingen en scripts die nog via http laden.
  • Inloggen op het beheerpaneel werkt, en permalinks van losse pagina’s geven geen 404.
  • Contactformulier verstuurt en de mail komt daadwerkelijk aan.
  • Bij een webshop: testbestelling met echte betaalmethode, bevestigingsmails naar klant én naar uzelf.
  • Geplande taken draaien: back-ups, automatische mails, voorraadsynchronisatie.
  • Search Console: dien uw sitemap opnieuw in en let de eerste week op serverfouten.
  • Statistieken: kijk of het bezoek doorloopt zoals verwacht; een lege grafiek betekent dat de meetcode niet is meegekomen.

De vier klassieke valkuilen

Mail vergeten. Zit uw e-mail bij dezelfde hostingpartij, dan verhuist die niet vanzelf mee met het A-record, maar valt hij wel om zodra u het pakket opzegt. Regel de mail eerst, of houd het oude pakket aan tot de mail elders draait.

Adressen in de database. WordPress slaat volledige adressen op. Verhuist u tegelijk naar een ander domein, dan moet u die vervangen met gereedschap dat geserialiseerde data begrijpt, niet met een gewone SQL-opdracht.

Bestandsrechten en eigenaar. Na een handmatige kopie staan bestanden soms op de verkeerde gebruiker, wat uploads of updates blokkeert. Mappen op 755, bestanden op 644 is het gangbare uitgangspunt.

Twee sites tegelijk live. Zolang DNS doorwerkt, zien sommige bezoekers de oude en anderen de nieuwe. Bij een webshop kunnen daardoor bestellingen op de oude server landen. Vandaar stap 3, en vandaar de verlaagde TTL.

Praktijkvoorbeeld

Een groothandel in Tilburg verhuisde zelf op een woensdagmiddag. De site werkte binnen het uur, dus het leek geslaagd. Pas op vrijdag bleek dat er sinds woensdag geen enkele bestelling was binnengekomen. De oorzaak: de betaalprovider stuurt na een betaling een bevestiging terug naar een vast adres op de server, en dat verkeer werd door de firewall van de nieuwe host geblokkeerd.

Zeven bestellingen waren betaald maar nooit in de webshop aangekomen. Ze konden alsnog worden opgehaald uit het portaal van de betaalprovider, maar het kostte een dag uitzoekwerk en een paar ongemakkelijke telefoontjes. Eén testbestelling met echte betaling had het meteen zichtbaar gemaakt. Dat is precies waarom die stap in de lijst staat.

Zelf doen of laten doen?

Een eenvoudige informatieve website van tien pagina’s, zonder webshop en zonder mail bij dezelfde partij, kunt u met een migratieplugin en dit stappenplan prima zelf verhuizen. Neem er een rustige avond voor en houd de back-up bij de hand.

Heeft u een vaste partij voor het beheer van uw WordPress-site, dan is dit typisch werk dat daar hoort te liggen, al was het maar omdat diegene de site en de koppelingen al kent.

Laat het doen als er een webshop met live bestellingen in zit, als de e-mail meeverhuist, als de site een gedeelde omgeving of aangepaste code heeft, of als u het simpelweg niet in uw eentje wilt dragen. Bij ons kost een verhuizing eenmalig € 149 en gebeurt hij op een afgesproken moment met een testronde vooraf; kijk voor de losse posten bij onze tarieven. Andere partijen werken vergelijkbaar, en het is redelijk om vooraf te vragen hoe zij de testfase invullen.

Tot slot

Voordat u verhuist, is er één vraag die u eerlijk moet beantwoorden: lost de nieuwe hosting het probleem op dat u wilt oplossen? Een trage site is lang niet altijd de schuld van de server. Loop daarom eerst de criteria voor het kiezen van hosting door, zodat u niet verhuist naar een pakket met precies dezelfde beperkingen.