Er zijn veel redenen waarom je jouw WordPress site zou willen klonen. Misschien start je een tweede site en wil je de eerste site als basistemplate gebruiken om zo tijd te besparen. Of misschien wil je een exacte kopie voor back-updoeleinden of vanuit het oogpunt van ontwikkeling – anders dan de typische testomgeving.

Wat de redenen ook zijn, Kinsta maakt het klonen een fluitje van een cent. Volg de onderstaande stappen om je WordPress site met een paar eenvoudige klikken te klonen!

Kloon je WordPress site in MyKinsta

De kloonfunctie van Kinsta kopieert je hele WordPress database, inclusief al je inhoud en bestanden. Nieuwe toegangsgegevens, zoals SFTP, SSH, en een database voor gebruikersnamen en wachtwoorden worden automatisch gegenereerd voor de nieuw gekloonde site en zijn toegankelijk via het dashboard.

Stap 1

Blader naar Websites in je MyKinsta Dashboard en klik rechtsboven op “Website toevoegen”.

Voeg een site toe in MyKinsta
Voeg een site toe in MyKinsta

Stap 2

Kies de optie “Een bestaande omgeving klonen”, en kies een site om te klonen. Geef aan of je de live of de testomgeving wilt klonen.

Als je al een domeinnaam in gedachten hebt, kun je ook die nu invoeren. Anders wordt de site gekloond met een kinsta.cloud domein. Geef ten slotte een naam op voor de gekloonde site. Merk op dat de locatie tijdens het klonen niet veranderd kan worden. Als je de gekloonde site op een andere locatie wilt laten hosten, neem dan contact op met ons supportteam om de site te verplaatsen nadat het proces voltooid is.

Kloon een bestaande omgeving
Kloon een bestaande omgeving

En dat is het! Het proces duurt meestal 10 tot 20 minuten, afhankelijk van hoe groot je WordPress site en database zijn. De site verschijnt dan in de lijst van sites in je MyKinsta dashboard. Opmerking: Als je merkt dat het kloonproces langer dan een uur duurt, neem dan contact op met ons ondersteuningsteam.

Een gekloonde site in MyKinsta
Een gekloonde site in MyKinsta

Na het klonen van je WordPress site

Als je tijdens het klonen geen eigen domein hebt ingevoerd, dan krijgt het automatisch een tijdelijke URL  toegewezen zodat je de site toch kan benaderen, zoals mijnkloon.kinsta.cloud. Heb je een ander domein dat je wilt gebruiken, dan kun je in de sectie “Domeinen” klikken en het toevoegen.

Je moet dan je WordPress adres URL  en site adres URL bijwerken. En als je je adres URL’s hardcoded in je wp-config.php bestand staat, zal dat ook bijgewerkt moeten worden.

Nadat een eigen domein aan de site is toegewezen, kun je een gratis SSL certificaat genereren en Kinsta CDN gebruiken in MyKinsta. Voor meer informatie over hoe je een site op Kinsta live kunt zetten, zie dit artikel.

Extra opmerkingen

  • Als je CDN plugins hebt ingeschakeld of externe plugins met hardcoded URL’s hebt, zorg er dan voor dat je ze bijwerkt zodat ze het nieuwe site-adres weergeven. Anders bestaat de kans dat de content niet werkt, terwijl de URL in feite gewoon naar een verkeerd adres wijst.
  • In tegenstelling tot testsites staan gekloonde WordPress sites volledig los van elkaar, wat betekent dat ze wel meetellen voor het totaal aantal sites dat je pakket toestaat en dat je bandbreedteverbruik in rekening wordt gebracht. Dit betekent ook dat de kloonfunctie alleen beschikbaar is in Pro of hogere plannen (die meer dan één site toestaan).
  • Als je plugins gebruikt om socialmedia posts in te plannengebruikt zoals CoSchedule of Social Networks Auto Poster, denk er dan om dat ze content van je gekloonde site kunnen gaan delen. Zorg er dus voor dat je je adres URL’s bijwerkt of deze plugins deactiveert, anders kan dit zorgen voor foute gegevens in je analytics.

Kloon je WordPress site met Kinsta API

Met Kinsta API kun je programmatisch je hele WordPress database klonen, inclusief content en bestanden. Dit betekent dat je alle acties die MyKinsta aanbiedt kunt uitvoeren via de Kinsta API.

Om het kloonproces met de Kinsta API te starten, heb je de volgende informatie nodig:

  • Een API sleutel
  • Je bedrijfs-ID, en
  • De omgevings-ID van de site die je wilt klonen

Laten we de stappen doorlopen om een bestaande WordPress site te klonen met Kinsta API:

Stap 1: Genereer een API sleutel

Om de API van Kinsta te gebruiken, moet je een API sleutel genereren. Deze wordt gebruikt om je te authenticeren en toegang te krijgen tot je account. Hier lees je hoe je een API sleutel kunt genereren:

  1. Ga naar je MyKinsta dashboard.
  2. Navigeer naar de pagina API sleutels door op je naam te klikken, selecteer dan Bedrijfsinstellingen en tot slot API sleutels.
  3. Klik op de knop API sleutel aanmaken.
  4. Kies een vervaldatum of stel een aangepaste begindatum in en geef het aantal uren op dat de sleutel geldig zal zijn.
  5. Geef de sleutel een unieke en beschrijvende naam.
  6. Klik op MyKinsta om de API sleutel aan te maken.
API sleutel aanmaken in MyKinsta.
API sleutel aanmaken in MyKinsta.

Wanneer je een API sleutel hebt aangemaakt, kopieer hem dan en bewaar hem ergens veilig, want dit is de enige keer dat je hem kunt zien. Je kunt meerdere API sleutels aanmaken – ze worden vermeld op de pagina API sleutels. Als je een API sleutel wilt intrekken, klik je op Intrekken naast de sleutel die je wilt intrekken.

Stap 2: Kopieer je bedrijfs-ID

De bedrijfs-ID kan worden gevonden in MyKinsta onder Bedrijf > Factureringsgegevens > Bedrijfs-ID.

Kopieer bedrijfs-ID.
Kopieer bedrijfs-ID.

Stap 3: Vind de omgevings-ID van de site die je wilt klonen

Er zijn twee methoden om de omgevings-ID van een site te achterhalen: handmatig ophalen uit de URL of programmatisch via een API verzoek.

Om de omgevings-ID handmatig op te halen, kun je de site openen op MyKinsta en de omgevings-ID informatie kopiëren zoals hieronder aangegeven:

Haal de omgevings-ID van de site handmatig op.
Haal de omgevings-ID van de site handmatig op.

Je kunt de omgevings-ID ook programmatisch ophalen met de Kinsta API. Hiervoor moet je een lijst van alle sites ophalen met behulp van het /sites endpoint. Hier is een voorbeeld met de JavaScript Fetch API methode:

const fetchAllSites = async () => {
  const query = new URLSearchParams({
    company: "YOUR_COMPANY_ID"
  }).toString();

  const resp = await fetch(`https://api.kinsta.com/v2/sites?${query}`, {
    method: "GET",
    headers: {
      Authorization: "Bearer <YOUR_TOKEN_HERE>"
    }
  });

  const data = await resp.json();
  console.log(data);
};

fetchAllSites();

In de bovenstaande code wordt een asynchrone functie met de naam fetchAllSites gedefinieerd. Deze doet een GET-verzoek naar het /sites endpoint met de opgegeven bedrijfs-ID. Zorg ervoor dat je je API token toevoegt om de autorisatie af te handelen. De responsgegevens worden vervolgens gelogd naar de console.

Na het ophalen van alle sites ontvang je een array van objecten, waarbij elk object een site voorstelt en details bevat zoals ID, naam, status en site labels. Hier is een voorbeeld van de JSON structuur:

{
    "company": {
        "sites": [
            {
                "id": "YOUR_SITE_ID",
                "name": "my-test-site",
                "display_name": "Test site",
                "status": "live",
                "site_labels": []
            }
        ]
    }
}

Om de omgevings-ID van een specifieke site programmatisch te verkrijgen met behulp van de Kinsta API, kopieer je de ID van de site die je wilt klonen. Gebruik vervolgens die ID om de omgevingen op te halen die bij die site horen.

Hier is een voorbeeld dat laat zien hoe je de omgevings-ID kunt ophalen:

const fetchEnvironmentId = async () => {
  const siteId = "YOUR_site_id";
  const resp = await fetch(
    `https://api.kinsta.com/v2/sites/${siteId}/environments`,
    {
      method: "GET",
      headers: {
        Authorization: "Bearer <YOUR_TOKEN_HERE>"
      }
    }
  );

  const data = await resp.json();
  console.log(data);
};

fetchEnvironmentId();

Zorg ervoor dat je “YOUR_SITE_ID” vervangt door de werkelijke site-ID die je wilt klonen en <YOUR_TOKEN_HERE> door je Kinsta API-sleutel.

Als de functie fetchEnvironmentId wordt uitgevoerd, bevat de respons de omgevingsdetails van de site, inclusief de omgevings-ID. Hier is een voorbeeld van de respons:

{
    "site": {
        "environments": [
            {
                "id": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
                "name": "first-site",
                "display_name": "First site",
                "is_blocked": false,
                "id_edge_cache": "54fb80af-576c-4fdc-ba4f-b596c83f15a1",
                "is_premium": false,
                "domains": [],
                "primaryDomain": {},
                "ssh_connection": {}
            }
        ]
    }
}

Stap 4: Een bestaande site klonen met Kinsta API

Op dit punt heb je nu alle benodigdheden om een site te klonen met de KInsta API. Stuur een POST API-verzoek naar het eindpunt /sites/clone met de volgende gegevens als payload:

  • De weergavenaam van de site
  • Bedrijfs ID
  • Omgevings-ID van de site die je wilt klonen

Zo ziet het API-verzoek eruit:

const cloneExistingSite = async () => {
  const resp = await fetch(`https://api.kinsta.com/v2/sites/clone`, {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      Authorization: "Bearer <YOUR_TOKEN_HERE>"
    },
    body: JSON.stringify({
      company: "COMPANY_ID",
      display_name: "Copy of First WP Site",
      source_env_id: "ENVIRONMENT_ID"
    })
  });

  const data = await resp.json();
  console.log(data);
};

cloneExistingSite();

In de bovenstaande code stuurt de functie cloneExistingSite een POST-verzoek naar het eindpunt /sites/clone. Het verzoek bevat de nodige headers, zoals het content type en je API token voor autorisatie. De body van het verzoek bevat de vereiste gegevens, zoals het bedrijfs-ID, de weergavenaam voor de nieuwe site en het bron-omgevings-ID van de site die je wilt klonen.

Het antwoord van de API wordt vervolgens gelogd op de console, die laat zien dat de site kloonoperatie bezig is:

{
  "operation_id": "site:clone-54fb80af-576c-4fdc-ba4f-b596c83f15a1",
  "message": "Cloning site in progress",
  "status": 202
}

Je kunt het /operations endpoint gebruiken om de status van een operatie te volgen en te weten wanneer een operatie als deze is voltooid.

Kloon je WordPress site met een plugin

Als je hostingprovider, in tegenstelling tot Kinsta, je niet de mogelijkheid geeft om je site gemakkelijk vanuit je hostingdashboard te klonen, zul je een plugin moeten gebruiken om dat te doen.

Met de Duplicator plugin kun je een duplicaat van je site maken, dat je dan kunt gebruiken om een nieuwe site te maken. Hier staat hoe je dat doet.

Een duplicaat van je site maken

Ga naar Duplicator in je admin menu en klik op de knop Create New. Dit maakt een “pakket” dat een duplicaat is van je site.

Duplicator plugin setup pagina
Duplicator plugin setup pagina

Geef in het Setup scherm aan welke bestanden gedupliceerd moeten worden en welke databasetabellen of laat het op de standaard instelling staan die alle databasetabellen en bestanden zal omvatten. Breng wijzigingen aan in de Installer sectie als je de nieuwe installatie wilt aanpassen of op de standaard instellingen wilt laten staan. Klik op de knop Next.

De plugin zal nu je site scannen en eventuele waarschuwingen geven voor de kopie die gemaakt wordt. Als er problemen zijn, neem dan nu de tijd om ze te verhelpen. Als er een waarschuwing is, moet je het selectievakje onder de lijst van scanitems aanvinken voor je verder gaat.

Klik op de Build knop om verder te gaan. De plugin bouwt het “pakket” dat alles van je site bevat: je thema’s, plugins, uploads, en zelfs WordPress zelf. Download het pakket naar je computer door op de One-click Download link te klikken. Er zullen twee bestanden zijn: installer.php en archive.zip.

Installeer de kopie op een nieuwe plaats

Om het pakket in een nieuwe site te installeren, moet je de twee bestanden die je net gedownload hebt naar je nieuwe site uploaden, met SFTP. Upload ze naar de hoofdmap van je site of naar de map waar je WordPress wilt installeren. Installeer WordPress niet: het installatieprogramma doet dit voor je.

Bezoek het installatiebestand in je browser op jouwsite.com/installer.php, waarbij jouwsite.com de domeinnaam van je nieuwe site is.

Je wordt dan door een reeks stappen geleid om de bestanden van je kopie te uploaden en te installeren. Als je hiermee klaar bent, heb je een kopie van je site op het nieuwe domein.

Een site klonen in een WordPress Multisite netwerk met een plugin

Als de site die je wilt klonen in een WordPress Multisite netwerk zit, kun je hem niet klonen met het MyKinsta dashboard. In plaats daarvan zul je een plugin moeten gebruiken.

De twee onderstaande plugins zijn bedoeld om het klonen van een site gemakkelijk te maken.

NS Cloner – Site Copier

Met de NS Cloner – Site Copier plugin kun je snel met één klik een exacte kopie van een site maken  of je kunt de manier waarop de site gedupliceerd wordt veel gedetailleerder detail aanpassen door een premium add-on te kopen.

In het netwerkbeheer installeer je de plugin en activeer je hem voor het gehele netwerk.

Je hebt nu twee manieren om sites te klonen:

  1. Je kunt naar het Sites scherm gaan en op Clone klikken onder de naam van de site die je wilt klonen.
  2. Of je kunt het NS Cloner V3 item gebruiken dat je in het adminmenu van je netwerk vindt.

Als je in het Sites scherm op Clone klikt, wordt de site in één klik gekloond, precies zoals hij is, zonder enige aanpassing. Dus als je een exacte kopie van de site wilt, is dit een heel snelle manier om het te doen. Als je aanpassingen aan de nieuwe site wilt maken, klik je in plaats daarvan op het NS Cloner V3 menu-item.

NS Clone WordPress plugin
NS Clone WordPress plugin

Hier kun je precies aangeven wat naar de nieuwe site gekopieerd wordt:

  • Select Source: kies de site om te klonen uit de vervolgkeuzelijst.
  • Create New Sites: geef de nieuwe site een titel en een URL.
  • Clone Tables / Copy Users / Copy Media Files: bepaal welke tabellen, bestanden en gebruikers gekloond moeten worden door een premium add-on te kopen.
  • Search and Replace: ook dit is een add-on, hiermee kan je de database doorzoeken en inhoud vervangen, zoals de domeinnaam van de site.
  • Additional Settings: vink dit vakje aan om een logboek van de kloon te maken dat je kunt nakijken als het niet werkt zoals je verwacht.

Als je tevreden bent met de instellingen, klik je op de Clone knop in het groene vlak onderaan het scherm en de plugin maakt de kloon voor je.