[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
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
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
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
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
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.
-
Download versie 2.1.0 stable (onze favoriet) en pak het bestand uit. Hernoem het php-bestand naar bijvoorbeeld search-replace-sowmedia.php.
-
Upload dit bestand via FTP in de root op de server van je live site.
-
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.
-
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)
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:
- Op oorspronkelijke website de plugin installeren, backup maken, en downloaden;
- Op nieuwe website plugin installeren, backup uploaden via FTP en via plugin uitpakken;
- Vervolgens wordt je door een search&replace script gewandeld, dat wijst voor zich;
- Daarna is de website verhuisd.