WordPress website verhuizen? Zo doe je dat.

WordPress website verhuizen

[av_notification title=’Tip’ color=’green’ border=” custom_bg=’#444444′ custom_font=’#ffffff’ size=’large’ icon_select=’no’ icon=’ue800′ font=’entypo-fontello’ custom_class=” admin_preview_bg=”]
Update december 2015
Sowmedia gebruikt sinds enige tijd met veel plezier de betaalde plugin UpdraftPlus. UpdraftPlus is geschikt voor zowel het maken van backups als het verhuizen van websites. De plugin is erg uitgebreid en werkt stabiel. Een aanrader dus!
[/av_notification]

Stel je ontwikkelt je nieuwe WordPress website op een ontwikkelomgeving. Dan moet je deze uiteindelijk verhuizen naar de live omgeving. Met het verhuizen kan veel mis gaan. Tenminste, ik heb in het verleden veel fouten gemaakt, waardoor het verhuizen niet vlekkeloos ging en veel tijd en stress kostte. We hebben onze ervaringen op papier gezet in dit stappenplan. We gaan er vanuit dat we een klant hebben waarvoor we ontwikkelen op het ontwikkeldomein http://klant.sowmedia.nl. De website moet verhuisd worden naar de live omgeving http://www.klant.nl.

Stappenplan voor het verhuizen van je WordPress website

1. Maak een backup van de database

sql-dump

Zo ziet een backup van een MySQL database eruit.

Voordat je begint, maak een backup van de database van de ontwikkelomgeving! Mocht er iets mis gaan, dan kan je makkelijk de oude situatie herstellen. Er zijn diverse plugins waarmee je een database backup kan maken. Bijvoorbeeld: BackWPUp, BackUPWordPress, WordPress database backup. De backup van de database is een bestand dat eindigt in .sql. Het is in principe een tekstbestand dat je in kladblok moet kunnen openen. Wij gebruiken zelf vaak Adminer, een programma dat ook weer terug komt in stap 4.


2. Kopieer de bestanden

Kopieer de WordPress bestanden naar de live omgeving.

Kopieer de WordPress bestanden naar de live omgeving.

Ga met je FTP programma naar de FTP folder van je ontwikkelomgeving en kopieer alle WordPress bestanden naar je harde schijf. Zet de bestanden op je harde schijf en kopieer ze vervolgens naar de map waar de website live komt te staan. Als je op een subdomein ontwikkelt, dan kan je vaak heel snel bestanden naar de hoofdmap slepen.


3. Pas het wp-config.php bestand aan

wp-config

Pas de databasegegevens aan in het wp-config.php bestand

Op de live omgeving staat nu in de root de wp-config.php bestand die je zojuist van de ontwikkelomgeving hebt gekopieerd. In het wp-config bestand wordt verwezen naar de MySQL database. Download het bestand en vervang alle database gegevens (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST). Upload dit nieuwe wp-config.php bestand naar de ontwikkelomgeving. Vervang het bestand.

4. Importeer de database via Adminer

Importeer de database via Adminer

Importeer de database via Adminer

Het moeilijkste van het verhuizen van een website is het overzetten van de database. Volg deze stappen nauwkeurig en het moet lukken!

We hadden in stap 1 al uitgelegd hoe er een backup van de database gemaakt kan worden. Met het programma Adminer (een soort PHPmyAdmin programma) gaan we de database van de ontwikkelomgeving importeren op de live omgeving.

  • Download het programma Adminer.
  • Hernoem het adminer-bestand willekeurig. Bijvoorbeeld adminer-sowmedia.php. Dit in verband met scripts die het internet afzoeken naar websites waar ze toegang hebben tot Adminer en zo een sleutel om de website te hacken. Verwijder Adminer na gebruik!
  • Zet het bestand in de root op de server van je live site.
  • Start Adminer. Dat doe je door in de webbrowser de naam in te typen waar het bestand te vinden is. Bijvoorbeeld: http://www.klant.nl/adminer-sowmedia.php.
  • Je ziet nu een wit vlak, met daaronder een knop Bestand uploaden. Selecteer je .sql bestand en klik op Uitvoeren.


5. Search & replace van de database

Search replace

Search & replace via Interconnectit

Op dit moment is de oude database geïmporteerd. Alleen verwijzen de url’s in de de database nog naar de ontwikkelomgeving. Het is dus belangrijk om de alle verwijzingen naar de ontwikkelomgeving te vervangen door het nieuwe domein. Er zijn WordPress plugins voor om dit te doen, maar de meeste houden geen rekening met serialized data. De kans is aanzienlijk dat er in jouw WordPress website wel serialized data gebruikt wordt. Daarom raden we aan om de Search & Replace database tool van Interconnectit te gebruiken.  

  1. Download versie 2.1.0 stable (onze favoriet) en pak het bestand uit. Hernoem het php-bestand naar bijvoorbeeld search-replace-sowmedia.php.

  2. Upload dit bestand via FTP in de root op de server van je live site.

  3. Start het Search & Replace script. Dat doe je door in de webbrowser de naam in te typen waar het bestand te vinden is. Bijvoorbeeld: http://www.klant.nl/search-replace-sowmedia.php.

  4. Je moet nu drie stappen doorlopen. Bij de vierde stap wordt gevraagd naar de url van de ontwikkelomgeving (search url) en de url van de live omgeving (replace url). Klik op de knop Submit Search String en voer de Search & Replace uit.

Update 25-4-2013: We zijn de plugin WP Migrate DB tegengekomen. Met deze plugin kan je op je ontwikkelomgeving een search & replace uitvoeren (inclusief serialized data) en deze downloaden. Daarna kan je de de gedownloade database uploaden via Adminer (stap 4).

6. Verwijs oude pagina’s naar nieuwe locatie (Redirect 301)

301 Redirects via de plugin Redirection

301 Redirects via de plugin Redirection

Wanneer er al een website op het domein stond, adviseren we je sterk om met Redirects bezoekers en de Google zoekmachine naar de nieuwe pagina’s te verwijzen. Google heeft je website geindexeerd. Pagina’s krijgen een waarde van Google. Op het moment dat je de website wijzigt, verdwijnen deze url’s. Dat is een doorn in het oog van Google, want de zoekmachine wil geen bezoekers naar niet bestaande pagina’s doorverwijzen. Daarom adviseren we je om de oude pagina’s te redirecten (301) naar nieuwe pagina’s. Dat kan bijvoorbeeld met de plugin Redirection.

  • Maak voordat je gaat verhuizen een lijst met url’s. Je kan ook in Google zoeken naar je eigen domein. Type dan in het zoekscherm site:www.klant.nl. Je krijgt dan links te zien naar pagina’s van je eigen website.
  • Installeer de plugin Redirection.
  • Wijs via de plugin alle oude url’s aan nieuwe url’s toe. Zo voorkom je dat bezoekers en zoekmachines op een ‘404 Niets gevonden’ pagina uitkomen.

  • Vergeet niet om a) de .php bestanden van Adminer en Interconnectit altijd te benoemen en b) de bestanden van Adminer en Interconnectit weer van je server af te halen! Tenzij je gehackt wil worden…
  • Tip van onze collega Luuk: “Schakel voor een verhuizing ook altijd eventuele caching plugins uit (o.a. WP Super Cache).

Alternatief: gebruik een plugin

Er zijn plugins beschikbaar die je kunnen helpen met het verhuizen van je website. We hebben hier gemengde ervaringen mee. Een bekende plugin is bijvoorbeeld BackupBuddy. In onze ervaring loopt deze plugin echter vaak tijdens het migratieproces. We vermoeden dat BackupBuddy en soortgelijke plugins problemen hebben om zichzelf mee te moeten verhuizen. Daarin gaat vaak iets mis lijkt het. Als we toch een plugin gebruiken, dan gebruiken we de plugin Akeeba. Hierbij het stappenplan voor het gebruik van Akeeba:

  1. Op oorspronkelijke website de plugin installeren, backup maken, en downloaden;
  2. Op nieuwe website plugin installeren, backup uploaden via FTP en via plugin uitpakken;
  3. Vervolgens wordt je door een search&replace script gewandeld, dat wijst voor zich;
  4. Daarna is de website verhuisd.

41 reacties op “WordPress website verhuizen? Zo doe je dat.”

  1. Ha Benjamin, ik had ervan gehoord, maar nog niet uitgeprobeerd. De keren dat ik vergelijkbare tools uitprobeerde werkte het net niet goed. Is dit jouw plugin?

  2. Bedankt voor deze handige stappen.
    Ik heb voor mezelf de volgende notities toegevoegd:
    – Bij 1: een backup via Adminer of Mysql is denk ik betrouwbaarder dan via een plugin.
    – Stap 3 en 4 zijn niet nodig bij het verhuizen vanaf een subdomein of een submap naar het hoofddomein.
    – Na stap 5 vond ik nog enkele sporen van …/subdomains/httpdocs/… Zoek na een verhuizing vanaf een subdomein in de database voor de zekerheid nog een keer naar sporen van dit oude adres.
    – Stap 7: Controleer ‘Instellingen -> Media’. Sla ‘Instellingen -> Permalinks’ opnieuw op. Controleer de gegevens bij ‘Instellingen -> Lezen’ en ‘Instellingen -> Algemeen’.
    – Een handige en overzichtelijke plugin voor het maken van 301-verwijzingen is http://wordpress.org/plugins/simple-301-redirects/

    Niet geprobeerd, maar ik werd elders gewezen op http://wordpress.org/plugins/wp-migrate-db/ en http://wordpress.org/plugins/duplicator/#!. Mogelijk een handige plugin voor het verhuizen.

  3. Gisteren heb ik dit getest en vanmorgen bleek de nieuwe website goed te werken. Echter, als ik naar pagina’s ga zoals contact dan krijg ik de melding : “Error establishing a database connection.”
    Ik heb dit opgezocht op Google en het antwoord dat ze me geven is het aanpassen van de wp-config.php. Dit bevatte op zowel de ontwikkelpagina als op de nieuwe pagina de databasegegevens van de nieuwe server. Waarom kan het dan toch zijn dat het niet lukt? de nieuwe site staat wel ver weg ( http://www.mijnsite.nl/public_html/map-wordpress) en is geredirect naar http://www.xlmode-soestdijk.nl. Ook heb ik geen idee hoe ik mijn admin-panel van WordPress kan benaderen. Ik zou heeel blij zijn met hulp!

  4. De interconnectit tool is blijkbaar helemaal gewijzigd, je hebt nu een hele map nodig en met andere stappen. Op de een of andere manier werkt het niet. Het script geeft aan vele strings vervangen te hebben maar er blijven verwijzingen naar de ontwikkelsite in staan, m.n. in de tabel wp_options.
    Ik heb weinig ervaring met website management systemen, omdat ik de site meestal helemaal zelf programmeer, maar ik vind het een buitengewoon klungelig gebeuren. Waarom zou je verwijzingen willen of moeten gebruiken naar het domein, alles binnen je site is relatief.
    ‘k zal op zoek moeten gaan naar betere tools om de zaak te fixen. Adviezen?

  5. Hoi Eric,

    Het is inderdaad wat gedoe om de website snel te verhuizen, vandaar ook dit artikel. Wat voor verwijzingen kom je tegen? Niet elke voorkomende verwijzing naar de oude domeinnaam is per se funest, want er worden soms ook logs opgeslagen in de database. Je kan anders eens proberen om de search & replace te doen zonder http:// ervoor. Let er natuurlijk wel op dat je altijd eerst een backup maakt. Je kunt op de website van Interconnectit overigens nog steeds de oude versie downloaden (versie 2.1.0).

  6. …en mocht iemand die niet een geboren techie is zich ooit afvragen hoe je een WordPress website in een ontwikkelomgeving ontwikkelt op dezelfde server als de doellocatie, maar dan tijdelijk met behulp van een subdomein, zoals [test.hoofddomein.nl], en vervolgens naar de doellocatie, de locatie van de oude website moet verplaatsen…

    Ondanks alle lastige verhalen en net niet helemaal te volgen vele stappen op codex.wordpress.org en consorten: dat is verrassend simpel. Alleen kun je wel heel erg schrikken als je overladen wordt met witte schermen en anderhalve foutmelding. Als het het eerste uur niet werkt. Om vervolgens met de parels op je voorhoofd alles weer terug proberen te zetten, aan files en instellingen, met de angst iets te vergeten. Maar over dat eerste uur: er zijn (kleinere) hosting providers die niet à la minute maar per uur grove (DNS- etc.) wijzigingen doorvoeren. Dus laat je vooral niet gek maken, en zorg altijd dat je alles geback-upt hebt. Zowel de website files als de database. Op de juiste manier. Daarin zijn de tips overigens prima en legio.

    Ik zit nu echter zelf wel met het probleem (wat ik net omschrijf is van de afgelopen avond) dat alle interne links foutief verwijzen naar het subdomein, en dat de afbeeldingen lijken te zijn verdwenen. De foutmelding bij inloggen in je WP admin panel schrikt je ook even af, maar die instellingen zijn goed vindbaar in wp-login.php via FTP: die staan standaard nog ingesteld op/naar dat tijdelijke subdomein.

    En aan Steve en Erwin, voordat ik weer verder ga met wat-zal-ik-nu-weer-tegenkomen, complimenten voor jullie site, what you’ve done with the Enfold place, en voor de informatie erop. Meermaals al tegenaan gelopen en meermaals nuttig gebleken. Thanks!!

    Cheers!

  7. Ha Remco,

    Bedankt voor je complimenten, leuk om te horen. Wat betreft je pareltjes zweet; heb je de search-and-replace uitgevoerd met de Interconnectit tool? Daarmee zou je dan namelijk ook geen last meer moeten hebben van ontbrekende of foutieve links. En – inderdaad – niet vergeten te backuppen!

  8. mooie hand-out. Maar waarom niet net wat explicieter beschreven? Welke DB gegevens vervang je met wat? En op welke locatie installeer je Adminer. In de ontwikkelomgeving of op de doellocatie. Door het gemis van deze informatie blijft het toch weer een try and error verhaal

  9. Ik heb dit stappenplan toegepast om een productiesite naar een testomgeving te verplaatsen.
    Het goede, na verplaatsen krijg ik de beginpagina van mijn site. Ook kom ik gewoon in het dashboard en kan ik pagina’s bewerken. Dus concludeer ik dat de db aanwezig is en werkt.
    Het voor mij onverklaarbare, bij alle andere pagina’s die ik via mijn startpagina via het menu aanroep verschijnt de melding “the requested url is not found on this server”. Is er iemand die mij verder kan helpen. Ben dankbaar voor elke reactie.

  10. Beste Erwin,

    Alleereerst ben ik een dummy maar ga het toch proberen. Een wordpress site bouwen. Ik gebruik een internetadres bij trans..huppeldepup voor een maand en heb daar door hun wordpress op laten zetten.

    Deze moet dus straks verhuisd worden. Werkt het niet met de volgende stappen?
    extra: exporteren/importeren

    1 wordpress/dashboard/extra/exporteren (bestand op bureaublad)
    2 wordpress voorinstalleren op nieuwe domein
    3 nieuw domein/wordpress/dashboard/extra/importeren (bestand vanaf bureaublad)

  11. Hoi Erwin,
    Allereerst, prachtige website met veel nuttige info ! Dank daarvoor.
    Omdat ik zelf graag de ervaringen van anderen lees en me daarmee oriënteer zelf ook maar een bijdrage: De laatste weken 6 websites overgezet van een hostingprovider naar een eigen server alles met behulp van de al eerder genoemde plug-in Duplicator. in één woord, fantastisch! De plug-in is nog in Bêta versie, maar heb geen enkele fout kunnen ontdekken, integendeel, de plug-in wijst me op een aantal interessante zaken op mijn eigen websites. helaas nog niet mogelijk om een multisite in één keer over te zetten.

  12. Hoi Erwin,
    Bedankt voor je duidelijke uitleg. Ik ga je stappenplan volgen. We gaan dinsdag een website van een onwikkeldomein live zetten. Hosting is op dezelfde server. Klopt het dat ik eigenlijk alleen de bestanden hoef te kopieren vanwege back-up? Maar met het veranderen van de gegevens eigenlijk al het gewenste resultaat kan bereiken??

    Daarnaast nog een vraag over de 301 redirect. Ik heb het overzicht van de domeinnamen gemaakt, oud en nieuw. Stel ik dit in bij de oude website of bij de nieuwe?

    Mvg,

    Tizz

  13. Super bedankt! Dit artikel heeft mij geholpen mijn wordpress pagina om te zetten van subdomein naar hoofddomein. Hiervoor was stap 3 en 4 voor mij niet nodig omdat deze al in de root stond. Ik heb een uur over stap 5 gedaan omdat deze waarschijnlijk is vernieuwd. Het is hierbij onduidelijk waar en wat je moet downloaden op de website. “Ga naar de Github pagina en sla de pagina op als php bestand (rechtermuisknop, opslaan als). Kies een specifieke naam en laat deze naam eindigen op .php: bijvoorbeeld search-replace-sowmedia.php.” Geen idee wat hiermee bedoeld wordt. Ik heb de hele map die ik gedownload had in mijn ftp gegooid en die aangeroepen in de URL.

  14. Ik ben een hele tijd bezig geweest met het zoeken naar hoe het precies werkte om een WordPress site over te zetten naar een ander domein. Met dit stappenplan is het me zonder problemen gelukt! Super!

  15. Goede, maar verouderde handleiding! DB uploaden kan toch gewoon met importfunctie van phpMyadmin? En search & replace kan ook achteraf in de nieuwe omgeving met de plugin Better search replace. Redirect heb ik dankbaar gebruikt.

  16. Hoi,

    Ik wil mijn website verplaatsen van http://www.subdomein.hoofddomein.nl naar http://www.hoofddomein.nl. Net iets anders als de situatie die jullie schetsen hierboven. Zijn hiervoor alle 5 bovenstaande stappen noodzakelijk?

    Via mijn webhost heb ik onderstaand stappenplan ontvangen:
    ——————
    https://www.hosting2go.nl/klantenservice/wordpress/wordpress-installatie/wordpress-submap-toch-bereikbaar-via-hoofddomeinnaam/.

    Let wel op dat u het volledige adres van het subdomein moet invullen in het index.php bestand en dit is /home/vhosts/uwdomeinnaam/subdomains/subdomeinnaam/httpdocs/wp-blog-header.php en dat het .htaccess bestand naar de map httpdocs van het hostingpakket gekopieerd moet worden.
    ——————
    Het is me helaas nog niet gelukt om de boel werkend te krijgen.
    Wat is beter: de hele site te verhuizen naar de root folder of om m op het subdomein laten staan?

  17. Hoi,

    Ik wil een website verplaatsen of kopieren naar een nieuw domein. Momenteel staat de website op http://www.donnykool.nl. Deze wil ik verder ontwikkelen op http://www.palmtoolsets.nl. Ik loop alle stappen door en het gaat allemaal goed tot stap 4. Ik upload mijn .sql bestand van donnykool.nl in het de adminer, maar geeft de volgende error:

    Service Temporarily Unavailable
    The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

    Ik zou niet weten wat ik verkeerd doe. Heb jij misschien een idee?

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Gerelateerde artikelen

GDPR Consent Pro voor WordPress ondersteunt nu Google Consent Mode V2

Als je bekend bent met Google Analytics en Ads, dan weet je waarschijnlijk wel dat je voor maart 2024 Google Consent Mode V2 moet installeren. Doe je dat niet, dan loop je alle nauwkeurige metingen via het marketingplatform mis. 

Lees verder
WordPress cookie plugin

De 3 beste geteste WordPress cookie plugins (2024)

Is jouw WordPress website al volledig AVG-proof? De drie cookie WordPress cookie plugins in dit blog kunnen je hier een handje mee helpen.

Lees verder

Beste gratis WordPress thema’s 2024

Zoek je de beste gratis WordPress-thema’s voor 2024? Dan zit je hier goed! Met zoveel keuzes is het lastig om te weten welke thema’s het…

Lees verder