Sélectionner une page

Mettre à jour les URLs d’un site WordPress après un changement de domaine (avec données sérialisées)

WordPress

Lorsqu’on migre un site WordPress vers un autre hébergement et que le nom de domaine change (par exemple de https://ancien-domaine.fr vers https://nouveau-domaine.fr), il ne suffit pas de copier les fichiers et la base de données.

Les anciennes URL restent enregistrées dans la base :

  • dans les options du site,
  • dans les contenus (articles, pages),
  • dans les widgets,
  • et surtout dans les données sérialisées utilisées par des thèmes et builders comme Divi ou Elementor.

Dans ce tutoriel, je te montre comment mettre à jour toutes les URL proprement grâce au plugin gratuit Better Search Replace (développé par WP Engine), qui gère correctement les données sérialisées.

Mais avant cela, une étape est absolument indispensable : remettre les bonnes URL de base du site dans la base de données, sinon WordPress reste bloqué sur l’ancien domaine et vous ne pouvez pas accéder à l’administration.


1. Comprendre le problème des données sérialisées

WordPress et de nombreux plugins stockent des données complexes dans un format interne appelé sérialisation PHP.

Par exemple, une option peut ressembler à ceci dans la base :

a:2:{s:4:"url";s:28:"https://ancien-domaine.fr";s:5:"title";s:8:"Accueil";}

Ici :

  • s:28: signifie que la chaîne qui suit contient 28 caractères ;
  • si vous remplacez https://ancien-domaine.fr par https://nouveau-domaine.fr sans ajuster le nombre 28, la structure devient invalide.

Résultat : modules Divi/Elementor cassés, mises en page vides, options de thème corrompues.

Un simple “Rechercher/Remplacer” SQL dans phpMyAdmin ne sait pas recalculer ces longueurs. Il faut donc un outil qui comprend les données sérialisées et les réécrit correctement.


2. Identifier la base de données du site

Avant toute manipulation, vous devez être sûr de travailler sur la bonne base de données.

  1. Connectez-vous à votre nouvel hébergement (FTP ou gestionnaire de fichiers du cPanel).
  2. À la racine du site WordPress transféré, ouvrez le fichier : wp-config.php
  3. Repérez les lignes suivantes :
define( 'DB_NAME', 'nom_de_votre_base' );
define( 'DB_USER', 'utilisateur_base' );
define( 'DB_PASSWORD', 'mot_de_passe_base' );
define( 'DB_HOST', 'localhost' );

DB_NAME : nom exact de la base de données utilisée par le site WordPress.
DB_USER et DB_PASSWORD : identifiants de connexion MySQL.

Ces informations sont donc à conserver précieusement avant d’exécuter toute opération de recherche/remplacement.


3. Sauvegarder la base de données avant modification

Cette étape est obligatoire.

  1. Connectez-vous à phpMyAdmin depuis le cPanel ou depuis votre espace client OVH.
  2. Sélectionnez la base trouvée dans DB_NAME.
  3. Cliquez sur l’onglet Exporter.
  4. Choisissez le mode Rapide et le format SQL, puis validez.

Conservez ce fichier .sql : en cas de mauvaise manipulation, vous pourrez restaurer la base.


4. ÉTAPE PRIORITAIRE : MODIFIER LES URL DE BASE DANS LA TABLE OPTIONS

Avant de faire un remplacement global, vous devez d’abord remettre les bonnes URL principales du site.
Sans cette étape, WordPress continue de rediriger vers l’ancien domaine, et vous ne pourrez pas accéder au back-office (donc impossible d’installer un plugin).

Où modifier ?

Dans phpMyAdmin, ouvrez la table :

  • wp_options (ou similaire si votre préfixe n’est pas wp_)

Puis modifiez ces deux lignes :

  • siteurl
  • home

Valeurs à mettre

Remplacez l’ancien domaine par le nouveau :

  • siteurl → https://nouveau-domaine.fr
  • home → https://nouveau-domaine.fr

Une fois ces deux valeurs corrigées, vous devriez pouvoir vous connecter à l’administration du site sur le nouveau domaine.

5. INSTALLER LE PLUGIN “BETTER SEARCH REPLACE” (WP ENGINE)

Maintenant que l’accès au back-office est possible :

  • Allez dans Extensions → Ajouter
  • Recherchez Better Search Replace
  • Installez puis activez le plugin

Ensuite, rendez-vous dans : Outils → Better Search Replace

6. EFFECTUER LE REMPLACEMENT GLOBAL DES URL (SANS CASSER DIVI / ELEMENTOR)

Dans Better Search Replace :

  • Search for : https://ancien-domaine.fr
  • Replace with : https://nouveau-domaine.fr
  • Sélectionnez toutes les tables

Cochez d’abord Dry Run (test) pour vérifier combien de remplacements seront effectués.

Si tout est cohérent :

  • décochez Dry Run
  • relancez l’opération en mode réel

Le plugin remplacera les URL dans toute la base, y compris dans les données sérialisées, sans casser la structure.


7. VÉRIFIER LE SITE APRÈS MODIFICATION

Une fois terminé, contrôlez :

  • l’accueil
  • les menus et liens internes
  • les pages Divi / Elementor
  • les images et médias

Si tout s’affiche normalement, la migration est correcte et toutes les URL ont bien été mises à jour.


Résumé

Avant tout, vous devez modifier home et siteurl dans la table wp_options, sinon WordPress reste bloqué sur l’ancien domaine.

Un remplacement SQL “à la main” peut casser les données sérialisées.

Better Search Replace permet de remplacer toutes les URL proprement, même dans les champs sérialisés.

Vous avez des questions à propos de cet article ? Besoin d'aide sur un autre sujet ? Contactez-moi, je pratique des prix vraiment compétitifs et je réponds généralement rapidement