Il y a plusieurs raisons pour lesquelles vous pourriez vouloir cloner votre site WordPress. Peut-être que vous lancez un deuxième site et que vous voulez utiliser le premier comme modèle de base pour gagner du temps. Ou peut-être voulez-vous une réplique exacte à des fins de sauvegarde ou de développement, autre que l’environnement de staging habituel.

Quelles qu’en soient les raisons, Kinsta fait du clonage un jeu d’enfant. Suivez les étapes ci-dessous pour cloner votre site WordPress en quelques clics !

Cloner votre site WordPress dans MyKinsta

La fonction de clonage de Kinsta copie l’ensemble de votre base de données WordPress, y compris tout votre contenu et vos fichiers. De nouvelles informations d’identification, telles que SFTP, SSH, nom d’utilisateur et mots de passe de la base de données sont automatiquement générées pour le site nouvellement cloné et sont accessibles depuis le tableau de bord.

Étape 1

Naviguez jusqu’aux sites dans votre tableau de bord MyKinsta et cliquez sur « Ajouter un site » en haut à droite.

Ajouter un site dans MyKinsta.
Ajouter un site dans MyKinsta.

Étape 2

Sélectionnez l’option « cloner un environnement existant », et choisissez un site à cloner. Veillez à préciser si vous souhaitez cloner l’environnement en production ou en staging.

Cloner un environnement existant
Cloner un environnement existant

Si vous avez déjà un nom de domaine en tête, vous pouvez l’entrer à ce moment. Sinon, le site sera cloné avec un domaine kinsta.cloud. Enfin, indiquez un nom pour le site cloné. Notez que l’emplacement ne peut pas être modifié pendant le processus de clonage. Si vous souhaitez que le site cloné soit hébergé dans un autre emplacement, veuillez contacter notre équipe de support pour déplacer le site une fois le processus de clonage terminé.

Choisissez l'environnement à cloner et ajoutez le site
Choisissez l’environnement à cloner et ajoutez le site

Et c’est tout ! Le processus de clonage prend généralement de 10 à 20 minutes, selon la taille de votre site WordPress et de votre base de données. Il apparaîtra alors dans la liste des sites de votre tableau de bord MyKinsta. Note : Si vous trouvez que le processus de clonage prend plus d’une heure, veuillez communiquer avec notre équipe de soutien.

Un site cloné dans MyKinsta.
Un site cloné dans MyKinsta.

Après le clonage de votre site WordPress

Si vous n’avez pas saisi de domaine personnalisé pendant le processus de clonage, une URL temporaire lui sera automatiquement attribuée afin que vous puissiez y accéder, par exemple monclone.kinsta.cloud. Si vous avez un autre domaine que vous voulez utiliser, vous pouvez cliquer dans la section « Domaines » et l’ajouter.

Vous devrez ensuite mettre à jour l’URL de votre adresse WordPress et l’URL de l’adresse de votre site. Et si vous avez codé en dur les URLs de vos adresses dans votre fichier wp-config.php, vous devrez également les mettre à jour.

Une fois qu’un domaine personnalisé a été attribué au site, vous pouvez générer un certificat SSL gratuit et déployer le CDN de Kinsta dans MyKinsta. Pour plus d’informations sur la manière de mettre en ligne un site sur Kinsta, consultez cet article.

Notes supplémentaires

  • Si vous avez activé des plugins de CDN ou des plugins tiers avec des URLs codées en dur, assurez-vous de les mettre à jour pour refléter la nouvelle adresse du site. Dans le cas contraire, le contenu peut sembler cassé, alors qu’en fait, il est simplement dirigé vers une mauvaise adresse.
  • Contrairement aux sites de staging, les sites WordPress clonés sont complètement séparés, ce qui signifie qu’ils comptent dans le nombre total de sites autorisés par votre plan et seront facturés pour l’utilisation de la bande passante. Cela signifie également que la fonction de clonage n’est disponible que dans les plans Pro ou supérieurs (qui permettent la création de plus d’un site).
  • Si vous utilisez des plugins de planification sociale tels que CoSchedule ou Social Networks Auto Poster, souvenez-vous qu’ils peuvent commencer à partager le contenu de votre site cloné. Assurez-vous donc de mettre à jour les URLs de vos adresses ou de désactiver ces plugins, sinon cela pourrait fausser vos analyses.

Cloner votre site WordPress avec l’API Kinsta

Avec l’API Kinsta, vous pouvez cloner de manière programmatique l’intégralité de votre base de données WordPress, y compris le contenu et les fichiers. Cela signifie que vous pouvez effectuer toutes les actions proposées par MyKinsta à travers l’API Kinsta.

Pour lancer le processus de clonage avec l’API Kinsta, vous aurez besoin des informations suivantes :

  • Une clé API
  • L’ID de votre entreprise, et
  • L’ID de l’environnement du site que vous souhaitez cloner.

Passons en revue les étapes pour cloner un site WordPress existant avec l’API Kinsta :

Étape 1 : Générer une clé API

Pour utiliser l’API de Kinsta, vous devez générer une clé d’API. Celle-ci est utilisée pour vous authentifier et accéder à votre compte. Voici comment générer une clé API :

  1. Accédez à votre tableau de bord MyKinsta.
  2. Parcourez la page Clés API en cliquant sur votre nom, puis sélectionnez Réglages de l’entreprise et enfin Clés API.
  3. Cliquez sur le bouton Créer une clé API.
  4. Choisissez une date d’expiration ou définissez une date de début personnalisée et indiquez le nombre d’heures pendant lesquelles la clé sera valide.
  5. Donnez à la clé un nom unique et descriptif.
  6. Cliquez sur Générer pour créer la clé API.
Créez une clé API sur MyKinsta.
Créez une clé API sur MyKinsta.

Quand vous créez une clé API, copiez-la et conservez-la dans un endroit sûr, car c’est le seul moment où vous pouvez la voir. Vous pouvez générer plusieurs clés API : elles seront listées sur la page Clés API. Si vous devez révoquer une clé API, cliquez sur Révoquer sur la côté de celle que vous souhaitez révoquer.

Étape 2 : Copier l’ID de votre entreprise

L’ID de l’entreprise se trouve dans MyKinsta sous Entreprise > Détails de facturation > ID de l’entreprise.

Copiez l'ID de l'entreprise.
Copiez l’ID de l’entreprise.

Etape 3 : Obtenir l’ID de l’environnement du site que vous souhaitez cloner

Il existe deux méthodes pour obtenir l’ID de l’environnement d’un site : la récupération manuelle à partir de l’URL ou programmatique par le biais d’une requête API.

Pour récupérer manuellement l’ID de l’environnement, vous pouvez ouvrir le site sur MyKinsta et copier les informations de l’ID de l’environnement comme indiqué ci-dessous :

Obtenir manuellement l'ID d'environnement du site.
Obtenir manuellement l’ID d’environnement du site.

Vous pouvez également récupérer l’ID de l’environnement de manière programmatique à l’aide de l’API de Kinsta. Pour cela, vous devez récupérer une liste de tous les sites à l’aide du point de terminaison /sites. Voici un exemple utilisant la méthode JavaScript Fetch API :

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();

Dans le code ci-dessus, une fonction asynchrone nommée fetchAllSites est définie. Elle envoie une requête GET au point de terminaison /sites avec l’ID de l’entreprise spécifiée. Veillez à ajouter votre jeton API pour gérer l’autorisation. Les données de la response sont ensuite enregistrées dans la console.

Après avoir récupéré tous les sites, vous recevrez un tableau d’objets, où chaque objet représente un site et contient des détails tels que l’ID, le nom, l’état et les labels des sites. Voici un exemple de la structure JSON :

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

Pour obtenir par programme l’ID d’environnement d’un site spécifique à l’aide de l’API Kinsta, copiez l’ID du site que vous souhaitez cloner. Ensuite, utilisez cet ID pour récupérer les environnements associés à ce site.

Voici un exemple illustrant la manière de récupérer l’ID de l’environnement :

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();

Assurez-vous de remplacer « YOUR_SITE_ID » par l’ID du site que vous souhaitez cloner et <YOUR_TOKEN_HERE> par votre clé API Kinsta.

Quand la fonction fetchEnvironmentId est exécutée, la réponse contiendra les détails de l’environnement du site, y compris l’ID de l’environnement. Voici un exemple de la réponse :

{
    "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": {}
            }
        ]
    }
}

Étape 4 : Cloner un site existant avec l’API Kinsta

À ce point, vous avez maintenant tous les pré-requis nécessaires pour cloner un site avec l’API Kinsta. Continuez à envoyer une requête API POST au point de terminaison /sites/clone en transmettant les données suivantes comme charge utile :

  • Nom d’affichage du site
  • ID de l’entreprise
  • ID de l’environnement du site que vous souhaitez cloner.

Voici à quoi ressemblera la requête API :

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();

Dans le code ci-dessus, la fonction cloneExistingSite envoie une requête POST au point de terminaison /sites/clone. La requête comprend les en-têtes nécessaires, tels que le type de contenu et votre jeton API pour l’autorisation. Le corps de la requête contient les données nécessaires, telles que l’ID de l’entreprise, le nom d’affichage du nouveau site et l’ID de l’environnement source du site que vous souhaitez cloner.

La response depuis l’API est ensuite enregistrée dans la console, ce qui affiche que l’opération de clonage de site est en cours :

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

Vous pouvez utiliser le point de terminaison /operations pour suivre l’état d’une opération et savoir quand une opération comme celle-ci est terminée.

Clonez votre site WordPress avec un plugin

Si votre hébergeur, contrairement à Kinsta, ne vous donne pas la possibilité de cloner facilement votre site depuis votre tableau de bord d’hébergement, vous devrez utiliser un plugin pour le faire.

Le plugin Duplicator vous permet de faire une copie de votre site que vous pouvez ensuite utiliser pour créer un nouveau site. Voici comment procéder.

Faire une copie de votre site

Allez dans Duplicator dans votre menu administrateur et cliquez sur le bouton Créer un nouveau. Ceci créera un « package » qui est une copie de votre site.

Page de configuration du plugin du duplicator
Page de configuration du plugin du duplicator

Dans l’écran Configuration, spécifiez les fichiers que vous voulez dupliquer et les tables de base de données que vous voulez dupliquer ou laissez à la valeur par défaut qui inclura toutes les tables et fichiers de base de données. Effectuez des modifications dans la section Installateur si vous souhaitez personnaliser la nouvelle installation ou la laisser dans les paramètres par défaut. Cliquez sur le bouton Suivant.

Le plugin va maintenant balayer votre site et fournir tous les avertissements avant de faire la copie. S’il y a des problèmes, prenez le temps de les régler maintenant. S’il y a un avis, vous devrez cocher la case sous la liste des éléments à scanner avant de continuer.

Cliquez sur le bouton Construire pour continuer. Le plugin construira le « paquet » qui contient tout ce qui se trouve sur votre site : vos thèmes, vos plugins, vos uploads, et même WordPress lui-même. Téléchargez le logiciel sur votre ordinateur en cliquant sur le lien Télécharger en un clic. Il y aura deux fichiers : installer.php et archive.zip.

Installation de la copie dans un nouvel emplacement

Pour installer le paquet dans un nouveau site, vous devrez télécharger les deux fichiers que vous venez de télécharger sur votre nouveau site, en utilisant SFTP. Téléchargez-les dans le répertoire racine de votre site ou dans le répertoire où vous voulez installer WordPress. Ne pas installer WordPress : le programme d’installation le fera pour vous.

Visitez le fichier d’installation dans votre navigateur à votresite.com/installer.php, où votresite.com est le nom de domaine de votre nouveau site.

Vous serez ensuite guidé à travers une série d’étapes pour télécharger et installer les fichiers de votre duplicata. Une fois que vous aurez terminé, vous aurez une copie de votre site dans le nouveau domaine.

Clonage d’un site dans un réseau multisite WordPress avec un plugin

Si le site que vous voulez cloner est dans un réseau WordPress Multisite, vous ne pourrez pas le cloner en utilisant le tableau de bord MyKinsta. Au lieu de cela, vous aurez besoin d’utiliser un plugin.

Les deux plugins ci-dessous sont conçus pour faciliter le processus de clonage d’un site.

NS Cloner – Site Copier

Avec le plugin NS Cloner – Site Copier, vous pouvez rapidement faire une copie exacte d’un site en un seul clic ou vous pouvez personnaliser la façon dont le site est dupliqué de manière beaucoup plus détaillée en achetant un add-on premium.

Dans l’administrateur réseau, installez le plugin et activez-le en réseau.

Vous avez maintenant deux façons de cloner des sites :

  1. Vous pouvez aller à l’écran Sites et cliquer sur Cloner sous le nom du site que vous voulez cloner.
  2. Ou vous pouvez utiliser l’élément NS Cloner V3 dans votre menu d’administration réseau.

Si vous cliquez sur Cloner dans l’écran Sites, le site est cloné en un clic exactement comme il est sans personnalisation. Donc si vous voulez une copie exacte du site, c’est une façon très rapide de le faire. Si vous souhaitez personnaliser le nouveau site, cliquez sur l’élément de menu NS Cloner V3 à la place.

Plugin NS Clone WordPress
Plugin NS Clone WordPress

Ici, vous pouvez spécifier exactement ce qui est copié sur le nouveau sit :

  • Select source: sélectionnez le site à cloner dans la liste déroulante.
  • Create New Site: donnez un titre et une URL au nouveau site.
  • Clone Tables/Copy Users/Copy Media Files: spécifiez les tables, fichiers et utilisateurs à cloner en achetant un add-on premium.
  • Search and Replace: encore une fois avec un add-on, vous pouvez rechercher dans la base de données et remplacer le contenu, tel que le nom de domaine du site.
  • Additional Settings: cochez cette case pour créer un journal du clone que vous pouvez cocher s’il ne fonctionne pas comme vous l’attendez.

Une fois que vous êtes satisfait des paramètres, cliquez sur le bouton Cloner dans la zone verte en bas de l’écran et le plugin créera le clone pour vous.