Testomgeving maken van website

We hebben er allemaal mee te maken. WordPress en updates.
Updates van de core bestanden, van je theme, van je child-theme, van de plugins.
Ik werk met het framework Genesis en veel met premium plugins zoals Gravity Forms, Toolset, WPML. Maar meertalige websites zijn ook complex. En updates zijn plenty.
Laatst ging het fout bij een commerciële website die eigenlijk niet offline kan en mag. Dus zocht ik naar een manier om dit in de toekomst te voorkomen.
Ik besloot een test- en ontwikkelomgeving te creëren om alles naar hartelust uit te proberen, voordat ik hetzelfde uitvoer in de live website.

Wat te doen. Drie stappen.

  1. een kloon maken van de bestaande website in een subdirectory
  2. database exporteren en aanpassen naar nieuwe site URL en andere verwijzingen
  3. nieuwe database aanmaken, importeren data zojuist aangepaste database

1. Maak een kloon van je website in een subdir

Je website staat in een subdirectory geïnstalleerd (toch? wel zo veilig!)
Deze map noem ik “dirdir” (zomaar een naam, kan van alles zijn).
Maak nu een nieuwe directory aan op de root met een naam met net zoveel characters als “dirdir”.
Ik noem mijn subdirectory “subsub”.

Kopieer alle bestanden uit “dirdir” naar “subsub”.
Tip: vraag het je hoster te doen, die zetten het zo over.

2. Exporteer database en maak nieuwe database voor testdomein

Ga naar je mysqladmin en exporteer de database.
Sla deze op.
Ik noem hem pietjepuck_1.sql

Open pietjepuck_1.sql in WordPad of een andere plain text editor waar je de structuur van de database in kunt zien.
Vervang met Find – Replace alle verwijzingen dirdir door subsub.
Kijk ook of je de siteURL vervangen hebt met de nieuwe URL wijziging.
Sla dit bestand op en noem het pietjepuck_2.sql

3. Importeer data in een nieuwe database en koppel deze in wp-config

Maak een nieuwe database aan (en een user en wachtwoord indien van toepassing) op de server en importeer de pietjepuck_2.sql.
Ga naar de wp-config van je test domein en verander daar de verwijzing naar deze database en pas de user en wachtwoord aan.

En dan

Kijk ook in je functions.php en style.css of je harde verwijzingen hebt naar “dirdir”.
Check wel of je voldoende webruimte hebt in het hostingpakket.

Comments

  1. Winy Schalke schreef dit:

    Hoi Kitty,
    Ik las laatst dat dit ook kan met de plugin duplicator.
    https://wordpress.org/plugins/duplicator/.
    Misschien zelfs wel makkelijker.
    In het kort komt het hier op neer:
    Je maakt een kopie van je site met duplicator. Op dezelfde server (i.v.m. server settings). Het kan op een subdomein of in een subdirectory. Testen doe je op deze kopie.
    Als alles goed werkt duplicereer je de test site weer naar de live site.
    Ik moet het nog uitproberen maar het klinkt veelbelovend…

  2. Kitty Bakker schreef dit:

    Dat klinkt inderdaad veelbelovend, hoewel de plugin nog wel in beta is. Ga jij het uitproberen?

  3. Een aanvulling: je moet in het dashboard bij Instellingen > Algemeen het siteadres nog wijzigen naar domeinnaam.nl/subsub. Dat kan ook in de database prefix-options > 2e pagina > home.
    Fijne handleiding!

    • Kitty Bakker schreef dit:

      Dat doe je rechtstreeks in de database, onder punt 2:
      “Kijk ook of je de siteURL vervangen hebt met de nieuwe URL wijziging.”

  4. Karin schreef dit:

    Ik heb ooit van Sohosted een bestandje gehad wat hier heel nuttig is. Het heet wordpressvervang.php. Je zet het in de map waar ook je wp-config.php staat en start het op door het op te roepen in de browser (www.domein.nl/wordpressvervang.php) Hij maakt dan contact met de database via de gegevens in de wp-config en je kunt de vervangstring opgeven en waarvoor het vervangen moet worden. Hij doet dan alle vervangingen in de db. Werkt goed en ik heb het ook getest bij meerdere providers.. ook daar werkt het prima.

    • Kitty Bakker schreef dit:

      Klinkt interessant, Karin. Ben benieuwd naar het bestand.

      Zelf kreeg ik inmiddels van mijn provider ook de tip Duplicator te gebruiken.

  5. Edwin van Boeschoten schreef dit:

    Om offline aan mijn website te kunnen werken heb ik geprobeerd op deze manier een kopie van mijn website te maken en die lokaal te laten draaien op mijn PC onder Xampp. De site draait op de localhost zonder foutmeldingen echter de meeste content die in Widgets is ondergebracht word niet getoond op de nieuwe locatie. Als ik aan de achterkant inlog zie ik dat de meeste widgets leeg zijn en dus niet zijn mee gekopieerd. Wie weet wat ik over het hoofd zie of wat ik fout doe? Het gaat om een Studiopress website met het thema Genesis/kick start.

  6. Olaf van Gessel schreef dit:

    Hoi Kitty,

    Het kan allemaal nog veel makkelijker.

    Begin meteen met een supergoede WordPress Host waarbij een testomgeving maken een fluitje van een vent is. En niet alleen het maken, maar ook het live zetten van een testsite gaat met 1 druk op de knop.

    Ik heb er zelf 5 jaar over gedaan om deze te vinden en meer dan 10 andere geprobeerd. Dus leer van mijn moeite en mijn fouten 🙂

    Deze host is zeker wat duurder maar bespaart je bakken met tijd en gedoe vanaf dag 1.

    Om maar te zwijgen van de snelheid die je krijgt en we weten allemaal dat dat steeds belangrijker wordt voor je SEO…

    Check hier het hele artikel: https://www.rijnweb.nl/beste-wordpress-hosting-nederland-2018/

    Het stuk voor testomgevingen begint hier: https://www.rijnweb.nl/beste-wordpress-hosting-nederland-2018/#testomgeving

    Hoop dat jij en/of je lezers er wat aan hebben!

    Groet,
    Olaf

Wil je reageren?

Graag!
Je kunt hier een berichtje achterlaten. Het is noodzakelijk daarvoor je naam en emailadres in te vullen. Het emailadres zal nooit openbaar worden gemaakt.
Na goedkeuring door WP-bieb zal je bericht op de website verschijnen.

*