Direct naar de inhoud

Cookie-instellingen

Kies per soort welke cookies je toestaat. Je kunt je keuze altijd wijzigen via Cookie-instellingen onderaan elke pagina. Privacyverklaring

Noodzakelijk

Altijd aan

Nodig om in te loggen, je winkelwagen te bewaren en je keuzes te onthouden. Deze staan altijd aan.

Welke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: je sessie en ingelogd blijven
  • weboke_basket: je winkelwagen
  • wkBtwIncl: prijzen met of zonder btw tonen
  • wok_cookies: je cookiekeuze, 12 maanden

Meet welke advertentie tot een bezoek of bestelling leidt, zodat we niet betalen voor advertenties die niets doen.

Welke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), tot 90 dagen
  • OpenAI Ads, advertenties in ChatGPT
  • wok_aff: via welke partner je bij ons kwam (affiliateprogramma), 60 dagen

4,6

Land en taal

Elk land heeft zijn eigen site, met prijzen en btw van dat land.

Bekijken

Module 8 · 8.3

Nederlands

Staging: veilig testen

Module 8: Back-ups, staging en PHP-upgrades · Leestijd: 9 minuten

Leerdoel: Na deze les kun je een staging-omgeving maken, afschermen en wijzigingen veilig terugzetten naar je echte site.

Kernbegrippen: staging, productie, klonen, subdomein, noindex, wachtwoord op de map, mail uit, betaalprovider in testmodus, synchroniseren, database overschrijven, lokale ontwikkelomgeving

Wat staging is

Een staging-omgeving (of testsite) is een kopie van je echte site, op een eigen adres, waar je wijzigingen uitprobeert. Je echte site heet dan productie. Op staging mag het misgaan: een nieuw thema, een grote update, een PHP-upgrade (les 8.4), een nieuwe plugin. Pas als het werkt, voer je het op productie door.

Je gebruikt staging voor wijzigingen met risico: grote versies van WordPress of een webwinkelplugin, een ander thema, een PHP-upgrade, het opruimen van plugins (les 5.4), een herontwerp. Voor een tekstwijziging of een kleine plugin-update is het niet nodig.

Manieren om een staging te maken

ManierHoeVoor wie
Kloonfunctie van je installerBij Installatron "Kopieer" met "Create a staging site", bij Softaculous "Create Staging", bij de WP Toolkit "Clone"De makkelijkste weg als je site met een installer is gemaakt
Staging van je hosterBij beheerde WordPress-hosting vaak één knopAls je hoster het aanbiedt
Een stagingpluginEen plugin maakt een kopie in een submap of op een subdomeinAls je geen installer of hosterfunctie hebt
Met de handBack-up naast de site terugzetten (les 8.2) en adressen aanpassenLeerzaam, en altijd mogelijk
Lokaal op je eigen computerEen programma voor lokale WordPress-ontwikkeling of een Docker-omgevingVoor ontwikkelaars en grotere aanpassingen

Een staging op een subdomein (staging.example.com) is meestal beter dan in een submap (example.com/staging): het gedraagt zich meer als je echte site, en cookies en regels in .htaccess lopen niet door elkaar. Maak het subdomein eerst aan, met een certificaat.

Afschermen: drie dingen die je meteen regelt

Een kopie van je site is een volwaardige site met al je inhoud, en soms met al je klantgegevens. Regel daarom direct:

1. Zoekmachines weg

Zonder bescherming kan Google je staging vinden en indexeren. Dan heb je dubbele inhoud, en zoekers komen op je testsite uit. Doe minstens één, liefst twee van deze:

  • Een wachtwoord op de hele staging (basic authentication via je hostingpaneel, een "beveiligde map"). Dan ziet niemand de site zonder wachtwoord, ook zoekmachines niet. Dit is de sterkste.
  • Zoekmachines ontmoedigen in Instellingen > Lezen (les 2.4). Dat zet noindex op elke pagina. Zoekmachines respecteren dat meestal, maar het is een verzoek, geen slot.

Let op het omgekeerde: synchroniseer je de staging later terug naar productie, neem dan niet het noindex-vinkje mee. Een productiesite die na een "geslaagde" synchronisatie uit Google verdwijnt, is een klassieker. De opdracht van deze les controleert beide.

2. Geen mail naar echte mensen

Een kopie van een webwinkel of ledensite kan mail sturen: bevestigingen, herinneringen, nieuwsbrieven, wachtwoordlinks. Klanten krijgen dan verwarrende mails vanaf je testsite. Zet uitgaande mail op staging uit of om naar je eigen adres (met een plugin voor het onderscheppen van mail, of door de SMTP-plugin op staging uit te zetten, les 9.1). Zet ook geplande taken die mail sturen uit.

3. Betalingen en koppelingen in testmodus

Een webwinkel op staging hoort met de testmodus van de betaalprovider te werken, niet met echte betalingen. Andere koppelingen (boekhouding, voorraad, CRM) zet je uit of op een testomgeving, anders krijgen ze testbestellingen als echte.

Werk je met echte klantgegevens op staging, dan geldt de AVG daar net zo (les 9.3): niet langer bewaren dan nodig, en de staging verwijderen als je klaar bent.

Terug naar productie: de valkuil van de database

De moeilijkste stap is het terugzetten van je wijzigingen naar productie. Installers en stagingplugins hebben daar een functie voor (bij Installatron "Synch", bij andere "Push to live"). Het risico:

  • Je maakt maandag een staging. Dinsdag tot en met donderdag test je een nieuw thema.
  • Ondertussen komen er op productie twintig bestellingen, drie nieuwe berichten en vijftig reacties bij.
  • Vrijdag synchroniseer je de database van staging naar productie. De database van staging is die van maandag: de bestellingen, berichten en reacties van dinsdag tot en met vrijdag zijn weg.

Daarom:

  1. Maak eerst een back-up van productie (les 8.1), vlak voor het synchroniseren.
  2. Synchroniseer alleen wat nodig is. Een thema of plugin bijwerken is een kwestie van bestanden; de database hoeft dan vaak niet mee. Veel synchronisatiefuncties laten je kiezen: alleen bestanden, of alleen bepaalde tabellen.
  3. Bij een webwinkel of drukke site: zet de wijziging liever opnieuw op productie (dezelfde stappen als op staging, nu je weet dat ze werken) in plaats van de database over te zetten. Of plan een rustig moment met een korte stop van de winkel.
  4. Controleer daarna productie: de controlelijst uit les 8.2, en het noindex-vinkje.

Staging is een plek om te leren wat er gebeurt. De wijziging zelf voer je op productie het veiligst opnieuw uit.

Opruimen

Een staging die maanden blijft staan, wordt een vergeten site: niet bijgewerkt, met oude plugins en echte gegevens. Precies de zwakke plek uit les 7.1. Verwijder de staging als je klaar bent, of houd hem bij als een volwaardige site (updates, wachtwoord). Een kloon neemt ook net zoveel ruimte in als het origineel en heeft een eigen database.

Samenvatting

  • Staging is een kopie van je site op een eigen adres om risicovolle wijzigingen te testen.
  • Maak hem met je installer, je hoster, een plugin of met de hand, liefst op een subdomein met certificaat.
  • Scherm meteen af: wachtwoord en/of noindex, geen mail naar echte mensen, betalingen in testmodus.
  • Synchroniseer niet blind terug: de database van staging overschrijft wat er op productie bijkwam. Back-up eerst, alleen wat nodig is, of voer de wijziging opnieuw uit.
  • Verwijder de staging als je klaar bent, en neem het noindex-vinkje niet mee naar productie.

Quiz

1. Wat is de sterkste manier om zoekmachines bij je staging weg te houden?



2. Je hebt een nieuw thema getest op staging (gemaakt op maandag) en synchroniseert op vrijdag de hele database naar je webwinkel. Wat is het risico?



3. Waarom zet je mail uit op staging?



4. Na het synchroniseren van staging naar productie verdwijnt je site langzaam uit Google. Wat is de waarschijnlijke oorzaak?



Opdracht

Opdracht A8.3: Is je staging afgeschermd? Vul het adres van je staging (een subdomein van je eigen domein, bijvoorbeeld uit opdracht D8.2) en van je echte site in. Bewijs met de code van de opdracht dat het domein van jou is. Het programma controleert op de staging: antwoordt hij via https, en is hij afgeschermd (een wachtwoordvraag, of noindex in de HTML of in de kopregel X-Robots-Tag)? Wijst de REST-verwijzing (wp-json) naar de staging zelf en niet naar je echte site? En op je echte site: staat daar geen noindex?

Opdracht A8.3: Is je staging afgeschermd?

Deze controle vraagt paden op die je alleen bij je eigen site laat nakijken. Klik eerst op "Toon mijn code" en zet die code als TXT-record op _weboke-cursus.<jouw domein> of als bestand op je site (zie de uitleg bij de code).



Wat je invult en wat we vinden, slaan we niet op. Je browser onthoudt je antwoorden en of je de opdracht hebt gehaald. Ben je aangemeld, dan bewaren we alleen dat je de opdracht (bijna) goed had in Mijn cursussen; daar kun je het ook verwijderen.

Verder lezen

Deze artikelen beschrijven de stappen in de panelen van WebOké; in andere panelen werken ze vergelijkbaar.

Even geduld…

Stel je domeinen in

Regel per domein de nameservers, de koppeling aan je hosting en wie de eigenaar wordt.

Je domeinen laden…