Maar laten we het er eerst eens over hebben, wat ‘Staging’ nu precies is.
Stel… je hebt een website. En stel -opnieuw- je wilt een nieuwe website. Wat je natuurlijk kan doen is de komende weken een ‘Coming soon’ pagina op je website zetten, terwijl op de achtergrond op jouw domein een nieuwe site wordt gebouwd, maar dat betekent dan ook, dat jouw site een aantal weken niet bereikbaar zal zijn. Dat wil je natuurlijk voorkomen.
Een alternatieve methode is dat jouw website op een andere domeinnaam wordt gebouwd. Wanneer ik een site voor een klant bouw, dan doe ik dat -tenzij het een compleet nieuwe domeinnaam betreft- meestal op een domein wat er uit ziet als klantnaam.wordxpression.nl of klantnaam.wordxpression.com. Op deze manier kan er rustig aan de nieuwe site gewerkt worden, terwijl de bestaande site gewoon actief blijft.
En is de site klaar, dan wordt hij overgezet naar de nieuwe locatie. Een activiteit die -afhankelijk van de grootte van de site- meestal binnen een kwartier is afgerond.
En dat noemt men met een duur woord dus ‘staging’. Ofwel, je site wordt in ‘fases’, in ‘stages’ bekeken. En doe je dat in WordPress, dan heb je dus stating plugins voor WordPress nodig…
Maar staging is nog meer…
Maar ‘staging’ gaat wat verder dan alleen het overzetten van een site op het ene domein naar een ander domein. Eigenlijk wil je bij iedere ingrijpende verandering, dat je eerst kan testen op een ‘veilige’ omgeving, door je veranderingen door worden gevoerd in productie.
In de praktijk gebeurt dit echter maar weinig. Want die ‘belangrijke veranderingen’ zijn dus ook de installaties van nieuwe plugins of de updates van bestaande plugins. En als ik een euro per keer zou krijgen van iedere lezer van mijn blog die ‘zomaar’ plugins installeert of update, dan vermoed ik toch heel snel ‘binnen te lopen’.
Dat heb ik heel recent nog mogen merken toen ik een groot aantal paniek telefoontjes van klanten kreeg bij de upgrade van Elementor 2.9.x naar 3.0.x. Dat verliep niet altijd even vlekkeloos en heel wat klanten die ‘zelf even’ de update hadden gedaan, merkte dat ineens hun site er toch wel heel anders uitzag. Was dit van te voren op een aparte omgeving getest, dan had er heel wat paniek voorkomen kunnen worden.
Staging in het groot
Staging wordt nog veel belangrijker bij grote, complexe sites of sites. Vooral wanneer er naast de gebruikelijke plugins ook maatwerk plugins ontwikkeld moeten worden. En al helemaal sites die eigenlijk geen uur uit de lucht kunnen zijn.
In zo’n geval bestaat een ‘staging’ omgeving vaak niet uit twee, maar uit die lagen.
De eerste laag is de ‘ontwikkelaars laag’. Dat is mijn persoonlijke speeltuintje, waar ik de maatwerk plugins schrijf en ander maatwerk verricht. Dat is meestal gewoon lokaal op mijn computer, omdat dat lekker snel gaat. Geen tijdverlies met het uploaden en downloaden van bestanden, maar direct in de code aanpassen.
De tweede laag is de ‘acceptatielaag’, ofwel, de website die de klant te zien krijgt. Op het moment dat ik een stabiele omgeving op mijn testmachine heb, dan kopieer ik die naar de acceptatieomgeving. Hier kijkt de klant, geeft eventuele fouten en gewenste aanpassingen door en die worden daarna doorgevoerd.
En de derde laag is de ‘productieomgeving’, ofwel de website zoals de hele wereld die te zien krijgt.
En bij iedere toekomstige aanpassing in de site zal het process ook in deze drie stappen plaatsvinden.
Ok, maar waarom een staging plugins voor WordPress?
Nu vraag je je misschien af, ‘ok Wilko, dat is mooi, maar waarom heb je daar in vredesnaam een plugin voor nodig. Je kan toch gewoon de code van de ene site naar de andere kopiëren?
Niet dus. Want bijna alles van WordPress is opgeslagen in de database. Alleen het kopiëren van code is niet voldoende, omdat plugin instellingen, thema instellingen… ja eigenlijk bijna alles in de database staat.
‘Dûh Wilko, dan kopieer je toch ook de database!’
Dat is natuurlijk een oplossing die voor de hand lijkt te liggen. We hebben hier alleen één probleem. Alle URL’s in de database staan daar ‘volledig’ in. Dus wanneer je een site ‘overzet’, dan zal je ook iets moeten doen om die URL’s aan te passen, anders blijven alle URL’s in de productieomgeving verwijzen naar de ontwikkelomgeving.
Hoewel er manieren zijn om dit zonder plugins op te lossen, is het natuurlijk wel zo prettig als dit allemaal ‘onder water’ kan gebeuren, dus zonder dat jij erbij na hoeft te denken.
Maar er is nog een andere belangrijke reden. Het leven gaat namelijk door, terwijl er aan de site wordt gewerkt…
Een synchronisatieprobleem…
Stel, je hebt geen ‘gewone’ website, maar een webwinkel. En terwijl er een aantal nieuwe functionaliteiten -keurig in de ontwikkelomgeving- aan jouw site wordt toegevoegd, gaat de verkoop gewoon door. Gelukkig.
Wanneer nu de ‘nieuwe’ site wordt overgezet naar je live omgeving, heb je ineens een groot probleem. Wat hier kunnen zich twee situaties voordoen :
- Je kopieert de database vanuit de ontwikkelomgeving naar de live omgeving. Met als resultaat dat je een groot aantal bestellingen kwijt raakt.
- Je kopieert de database niet met als gevolg, dat allerlei instellingen die voor de nieuwe functionaliteiten noodzakelijk zijn niet worden meegenomen.
Allebei dus onwenselijke situaties. En het vervelende is, dat de meeste staging plugins voor WordPress die hier besproken worden niet echt een sluitende oplossing voor dit probleem bieden. Hier ga ik per plugin nader op in.
Elementor en Staging
Nee, begrijp me goed! Ik ga hier niet lopen beweren, dat Elementor een staging plugin is. Maar wanneer de veranderingen in je website puur een verandering in de presentatie van je site betreft en je al Elementor gebruikt, is het eigenlijk heel eenvoudig om je aangepast website van een ontwikkel- naar een productieomgeving om te zetten zonder een staging plugin nodig te hebben.
Dat komt, omdat je Elementor templates heel eenvoudig tussen sites kan exporteren en importeren. Is je site nog geen Elementor site dan is het ook mogelijk, maar dat zal iets meer downtime van je site vergen.
En nu de plugins
Maar genoeg gepraat. Tijd voor de plugins. Laten we beginnen met de plugin die ikzelf het meest gebruik. Voor alle duidelijkheid, dit wil dus niet zeggen, dat het ook mijn favoriete plugin is. Daarover later meer.
1. All-in-One Migration
All-in-One Migration is een soort zwitsers zakmes voor het verplaatsen en backuppen van sites. Ik gebruik deze plugin nu al jaren en ben er nog steeds heel tevreden over.
Wanneer je de plugin installeert vanuit de WordPress repository, dan zal de plugin je waarschijnlijk al gauw teleurstellen. Je kan namelijk onbeperkt backups maken met deze plugin, maar wanneer je deze terug wilt zetten, dan loop je al snel tegen de beperkingen aan.
Enkele jaren geleden was deze beperking rond de 500 MB en was de plugin dus voor de gemiddelde WordPress website goed bruikbaar. Ik weet niet wat nu precies de beperking is, maar de laatste keer dat ik tegen de beperking aanliep was hij rond de 100 MB.
Om een groter bestand te kunnen uploaden, of een grotere backup terug te kunnen zetten, heb je dus in ieder geval een betaalde extensie nodig. De voordeligste extensie is de ‘Unlimited‘ extensie, waarmee je deze beperking dus opheft.
Daarnaast is er een groot aantal extensies voor specifieke cloud diensten, zoals bijvoorbeeld Microsoft’s OneDrive. Deze cloud-extensies kunnen ook bestanden van een onbeperkte grootte verwerken, maar doen dit bovendien direct naar één van de clouddiensten toe. Door het bestand te downloaden, kan ik het proces van het maken en installeren van een migratiebestand met een factor 6 versnellen.
Tot enkele maanden geleden betaalde je voor de plugin een éénmalig bedrag. Dat is nog steeds zo, wanneer je de plugin voor eigen gebruik aanschaft, maar schaf je hem aan voor het gebruik bij klanten, dan moet je naast de plugin ook een maandelijkse vergoeding betalen. Gelukkig heb ik hem ver voor deze tijd aangeschaft, maar als ik vandaag deze plugin aan zou moeten schaffen, dan zou ik een andere voorkeur hebben.
All-In-One migration biedt geen oplossing voor het eerder genoemde synchronisatieprobleem.
2. Duplicator
Duplicator is op zich een prima plugin die ook veel gebruikt wordt. En het goede nieuws is dat de gratis versie geen beperkingen heeft met betrekking tot de grootte.
Een nadeel van Duplicator is dat de werkwijze nogal onhandig is. Vooral wanneer je je niet op je gemak voelt met zaken als FTP enzo, kortom, wanneer je een gemiddelde WordPress eindgebruiker bent.
Om een back up gemaakt met Duplicator terug te zetten of te installeren onder een andere domeinnaam zal je namelijk eerst de ‘Duplicator Installer’ moeten installeren die op zijn beurt de backup zal installeren.
Er is ook een Duplicator Pro versie, waarmee je de backup ook in de cloud op kan slaan.
Duplicator en duplicator pro bieden geen oplossing voor het eerder genoemde synchronisatieprobleem.
3. WP Staging
WP Staging zou beslist niet mijn eerste keuze zijn om een WordPress website te migreren, maar wanneer je maar een beperkte behoefte hebt, is dit wel een heel makkelijke plugin om ‘even snel’ een kopie van de website te maken.
De beperking met de gratis versie is echter wel, dat deze kopie website in een subfolder van de bestaande website moet komen te staan. Of met andere woorden, dat deze oplossing prima geschikt is om een plugin uit te testen of iets vergelijkbaars, maar in een normale ‘ontwikkelsituatie’, waarbij de nieuw te ontwikkelen site meestal op een server van de webbouwer staat, is deze plugin totaal ongeschikt.
Maar neem je je na het lezen van dit artikel voor, om voortaan plugins eerst te testen voor je ze update, en wil je geen lastige dingen tegenkomen, als het up- en downloaden van bestanden, is WP Staging een uitstekende oplossing.
Van deze plugin is er ook weer een Pro versie. Met deze pro versie kan je wel een site naar een compleet andere machine migreren. De plugin heeft nog een aantal andere aardigheden, maar de leukste feature van deze pro versie vind ik wel de mogelijkheid om slechts bepaalde gebruikersrollen toegang tot de staging site te geven. Zo kan je dus bijvoorbeeld voorkomen dat de klanten van je webshop per ongeluk op de staging site komen en daar gaan winkelen.
Dit is overigens ook te voorkomen met de meeste ‘werk in uitvoering’ plugins, waarbij je de mogelijkheid tot inloggen -en de site te zien krijgen- kan beperken tot specifieke gebruikersrollen.
Maar het is een leuke aardigheid.
Het zal je inmiddels niet verbazen dat ook WP Staging geen oplossing voor het eerder genoemde synchronisatieprobleem biedt.
4. BlogVault
BlogVault is primair een cloud backup plugin. Ofwel, de plugin maakt een back up van je website in de cloud. Maar als ‘extra mogelijkheid’ is het ook mogelijk een ‘staging site’ te maken. En dat met een enkele druk op de knop. Die ‘staging site’ wordt opgeslagen op het BlogVault platform en is met een wachtwoord beschermd tegen toegang door vreemden.
Tot nu toe niet veel nieuws ten opzichte van de andere oplossingen.
Op het moment dat je de veranderingen uit de staging omgeving wilt doorvoeren op je productiesite wordt het pas echt interessant.
Want bij het overzetten van de website worden de databases van beide versies met elkaar vergeleken en de verschillen in de database worden getoond. Vervolgens kan je in één keer aangeven, dat alle wijzigingen doorgevoerd kunnen worden, of juist niet, of per wijziging beslissen of die wel of niet doorgevoerd moet worden.
Daarmee is het synchronisatieprobleem wat we eerder hadden besproken opgelost. Afhankelijk van het aantal wijzigingen wat heeft plaatsgevonden in die tijd, kan het echter wel betekenen, dat het doorvoeren van de wijzigingen behoorlijk tijdrovend kan zijn. Bovendien is het niet iets, waarmee ik graag een eindgebruiker op zou willen zadelen. Een behoorlijke kennis van de WordPress database is nodig om de wijzigingen juist in te schatten.
Er is geen gratis versie van de plugin beschikbaar. Het is wel mogelijk de plugin -en de dienst- zeven dagen gratis uit te proberen.
5. WP Stagecoach
En na een uitgebreid vergelijk van de verschillende plugins, is WP Stagecoach toch wel mijn favoriet.
Evenals BlogVault biedt WP Stagecoach de mogelijkheid om een staging website te maken op de cloud servers van WP Stagecoach zelf. Ook weer door een enkele ‘druk op de knop’.
De functies van beide plugins en de bijbehorende dienstverlening loopt niet ver uiteen, maar het ‘extra’ zit hem vooral wanneer je de staging site over wilt zetten naar de productie server. WP Stagecoach vergelijkt namelijk niet de databases, en laat jou beslissen, wat er wel en niet overgezet moet worden.
Maar vanaf het moment dat de staging site wordt aangemaakt, wordt een aanpassingsgeschiedenis bijgehouden op de database. Bij het overzetten worden deze aanpassingen ‘nagespeeld’ op de productie omgeving en de enige wijzigen die er plaats zullen vinden zijn de wijzigingen die je in de staging omgeving in de database hebt aangebracht. Je hoeft dus zelf helemaal geen beslissingen te nemen.
En wat is het best voor mij geschikt?
‘Leuk’, zal je denken, ‘maar wat is nu het best voor mijn situatie?’
Dat is natuurlijk heel sterk afhankelijk van verschillende omstandigheden, aangezien de verschillende oplossingen nogal uit elkaar lopen, zowel in financieel als in functioneel opzicht.
Duplicator is typisch iets voor ‘powerusers’, die er geen moeite mee hebben zelf een script op een server te installeren. Het voordeel is dat je voor letterlijk geen geld een uitstekende migratietool hebt.
Vroeger zou ik iedereen All-in-One Migration aangeraden hebben, omdat deze plugin relatief voordelig is, maar sinds hun nieuwe prijsstelling hebben ze zichzelf in mijn optiek uit de markt gewerkt. Je kan deze plugin met betaalde uitbreidingen namelijk alleen nog maar gebruiken als enkeling.
De grootste markt voor deze plugin was echter voor WordPress dienstverleners zoals ik. En voor de aanschafprijs plus 29 dollar per maand per add on om deze plugin voor je klanten te mogen gebruiken, maakt deze plugin toch wel schreeuwend duur. En voor die prijs, kan ik beter BlogVault of StageCoach voor mijn klanten inzetten.
De gratis versie van WP staging is ideaal voor al die mensen die na het lezen van dit artikel het gevoel hebben gekregen, dat het toch wel verstandig is om voortaan een nieuwe plugin of een update eerste te testen op een kopie van je website.
Welnu, dat is precies wat je met deze plugin kan voor wel heel weinig geld. Met de betaalde versie van de plugin is ook weinig mis, behalve dat ik voor die prijs ook terecht kan bij BlogVault of WP Stagecoach…
BlogVault vs. WP StageCoach
Wanneer je BlogVault en WP StageCoach met elkaar vergelijkt, dan zijn er eigenlijk maar twee factoren die een verschil maken. Het ‘mergen’ van de database en de prijs. Voor de rest zijn de diensten grotendeels hetzelfde.
Eén van de prijsopties die WP StageCoach aanbiedt is de zogenaamde ‘Freelance’ optie, waar je voor een relatief laag bedrag (149 dollar per jaar) de dienst en plugin voor 10 sites kan gebruiken.
Hier schuilt echter een heel nest adders in het gras. Je hebt hier namelijk geen ‘priority support’, en mocht er een probleem zijn bij het terugzetten van de backup en heb je hier hulp bij nodig, betaal je 55 dollar per incident.
Wanneer het terugzetten van een backup echt ‘bloedspoed’ heeft, wil je niet extra moeten wachten en daarna nog betalen voor de ondersteuning ook.
Dus in het prijsvergelijk vergelijk ik BlogVault met de gelijkwaardige prijs opties voor WP StageCoach. Laten we eens kijken hoeveel het kost bij welke aantallen sites
Aantal sites | BlogVault | WP Stagecoach |
---|---|---|
1 | 89,00 | 200,00 |
2 | 198,00 | 200,00 |
3 | 199,00 | 200,00 |
5 | 199,00 | 450,00 |
10 | 499,00 | 450,00 |
20 | 499,00 | 450,00 |
50 | Op aanvraag | 450,00 |
Zoals je ziet, is Blogvault tot en met 5 sites voordeliger dan WP Stagecoach, maar kom je daar eenmaal overheen, dan wordt ineens WP Stagecoach een aantrekkelijke optie.
Hierbij moet ik één ding opmerken. BlogVault biedt meer dan back ups en staging alleen. Ik vergelijk hier de programma’s van BlogVault die vergelijkbare functionaliteit heeft aan WP Stagecoach. Maar voor meerbedragen, biedt BlogVault ook zaken als uptime monitoring, malware detectie, performance monitoring en meer. Het is zelfs mogelijk om een continue backup te draaien, wat bijvoorbeeld heel handig is, wanneer je een druk bezochte webwinkel hebt.
Ben je naar meer op zoek dan een backup en staging omgeving, dan kan het goed zijn om eens te kijken, wat BlogVault allemaal nog meer te bieden heeft.
En twee andere gerelateerde mogelijkheden
Behalve de hierboven genoemde mogelijkheden, is het ook mogelijk om via WP-CLI een staging omgeving op te zetten. WP-CLI (Wat staat voor ‘WordPress Command Line Interface) is een ’tool’ voor WordPress die tegenwoordig door steeds meer hosting partijen als standaard wordt aangeboden.
WP-CLI is geen plugin. Het is een extern programma wat communiceert met WordPress. Het is een ‘command line interface’ of met andere woorden, je kan niet klikken, draggen en droppen… je moet commando’s intypen die dan uitgevoerd worden.
Een soort ‘MS-DOS’ (weet je nog wel, oudje?) voor WordPress dus.
En daarmee is het gelijk ‘geen tool voor de gemiddelde gebruiker’, maar wanneer je technisch onderlegd bent, en je bent niet bank voor wat commando’s in te typen, dan is WP-CLI mogelijk iets om je in te verdiepen.
VersionPress
Een ander product wat ik toch even wil noemen is ‘VersionPress’. VersionPress is wel een plugin, maar de belangrijkste reden, dat ik hem hierboven niet heb genoemd is omdat deze plugin nog lang niet klaar is. Op het moment dat ik dit schrijf is de status van het project een ‘Developers Preview’, ofwel, een ‘concept versie’ voor ontwikkelaars om er eens naar te kijken.
Dat heb ik gedaan en het ziet er veelbelovend uit.
Op dit moment nog geen serieuze optie, maar soms worden blogartikelen jaren na het posten nog gelezen. En wie weet… is tegen die tijd VersionPress wel zover. Neem gerust een kijkje.
Het idee van VersionPress is even simpel als geniaal. VersionPress is een plugin die ‘praat’ met GIT, een versie controle systeem. Door alle veranderingen in GIT vast te leggen, heb je automatisch een mogelijkheid om die veranderingen door te voeren, of juist terug te draaien.
De belofte is dat het product uiteindelijk gratis zal zijn. We zullen zien!
Blijf op de hoogte!
Of het nu over VersionPress, staging plugins voor WordPress, e-learning of e-commerce gaat, wanneer je de blog van WordXPression bezoekt, dan blijf je altijd op de hoogte.
Maar wist je ook, dat je hier zelf weinig energie in hoeft te stoppen, maar je helemaal automatisch op de hoogte kan laten houden?
Linksonder op deze pagina vind je een rode bel-icoon. Klik je daarop, dan krijg je stap voor stap instructies hoe jij voortaan ook heel makkelijk push berichten in je browser kan ontvangen op het moment dat er een nieuwe blogartikel wordt geplaatst.
Da’s pas makkelijk, nietwaar?