Au fil des ans, de nombreux lecteurs nous ont demandé comment effectuer une recherche et un remplacement de masse dans WordPress.
Chez WPBeginner, nous comprenons les défis liés à la gestion d’un grand site WordPress avec des tonnes de contenu. Que vous migriez d’un ancien domaine, que vous changiez de marque ou que vous corrigiez simplement une faute de frappe, rechercher et remplacer manuellement le contenu dans chaque publication, page et commentaire est presque impossible.
Heureusement, vous pouvez facilement rechercher et remplacer du texte, des URL et des images sur votre site WordPress en utilisant une extension WordPress « trouver et remplacer » ou une simple requête SQL.
Dans cet article, nous allons vous afficher comment trouver et remplacer du texte dans votre base de données WordPress.
Quand faut-il trouver et remplacer dans la base de données de WordPress ?
Il existe quelques scénarios dans lesquels vous pourriez avoir besoin de trouver et de remplacer des articles dans la base de données de votre site WordPress.
Par exemple, vous avez ajouté un texte ou une URL spécifique à un certain nombre de vos publications. Vous ne savez pas à quelles publications vous avez ajouté ce texte, mais vous savez qu’il y en a beaucoup.
Vous pouvez rechercher manuellement sur votre site et modifier chaque publication une à une. Mais cela vous prendra beaucoup de temps, et il y a de fortes chances que vous manquiez une partie du texte que vous souhaitez modifier.
L’utilisation d’une commande unique pour trouver et remplacer automatiquement les articles permet d’obtenir le même résultat, mais de manière beaucoup plus rapide et efficace.
Cette méthode présente toutefois un inconvénient. Si vous faites une erreur, vous ne pourrez pas l’annuler. Une fois le texte remplacé, il n’existe plus. Vous devez donc taper avec soin le texte que vous recherchez et celui par lequel vous souhaitez le remplacer.
Cela dit, voyons comment vous pouvez facilement trouver et remplacer du texte dans votre base de données WordPress.
Avant d’effectuer une recherche et un remplacement dans votre base de données
Comme nous l’avons mentionné précédemment, les modifications que vous apportez à votre base de données ne seront pas réversibles. Vous devez être très prudent pour vous assurer de ne pas perdre de données.
Tout d’abord, vous devez créer une sauvegarde de la base de données de WordPress. Vous pouvez le faire en utilisant une extension de sauvegarde WordPress comme Duplicator.
Vous pouvez également créer une sauvegarde de la base de données à l’aide de phpMyAdmin.
Après avoir créé la sauvegarde de votre base de données WordPress, vous pouvez passer à l’exécution de vos commandes trouver et remplacer.
Trouver et remplacer avec une extension WordPress
Si vous n’êtes pas familier avec le code et que vous ne souhaitez pas écrire une requête SQL personnalisée, il existe une extension WordPress facile à utiliser pour trouver et remplacer, appelée Search & Replace Everything (Rechercher et remplacer tout).
Tout d’abord, vous devez installer et activer l’extension gratuite Search & Replace Everything. Pour plus de détails, vous pouvez consulter notre guide sur l’installation d’une extension WordPress.
Note : Il existe également une version premium de Rechercher & Remplacer tout qui offre des fonctionnalités plus avant.
Une fois activé, visitez la page Outils » WP Search & Replace dans votre tableau de bord WordPress.
Saisissez ensuite le texte à modifier dans le champ « Rechercher ». Vous devez ensuite écrire le texte par lequel vous souhaitez le remplacer dans le champ « Remplacer par ».
Vous avez également l’option de sélectionner des tables spécifiques au sein de votre base de données WordPress ou de les sélectionner toutes.
Ensuite, cliquez sur le bouton « Prévisualisation de la recherche et du remplacement ».
L’extension vous permet désormais de vérifier les modifications qu’elle va apporter avant de les appliquer.
Cliquez ensuite sur le bouton « Remplacer tout ».
Si vous avez besoin de plus d’aide, nous avons un guide détaillé sur la façon de rechercher et de remplacer dans WordPress.
Trouver et remplacer une requête MySQL avec phpMyAdmin
Vous pouvez également utiliser phpMyAdmin pour trouver et remplacer du texte dans votre base de données WordPress.
Tout d’abord, vous devez vous connecter au Tableau de bord de votre compte d’hébergeur WordPress. Pour ce tutoriel, nous utiliserons Bluehost.
Une fois que vous y êtes, cliquez sur l’option « Sites » dans la colonne de gauche, puis passez à l’onglet « Avancé ».
Ensuite, défilez jusqu’à la section « PHPMyAdmin » et cliquez sur le bouton « Gérer » situé à côté.
Ceci lancera phpMyAdmin dans une nouvelle fenêtre.
Ici, vous devez cliquer sur le nom de votre base de données WordPress, puis sur » SQL « .
Vous devrez alors saisir votre requête SQL dans ce format :
update TABLE_NAME set FIELD_NAME =
replace(FIELD_NAME, 'Text to find', 'text to replace with');
Par exemple, si vous souhaitez rechercher du texte dans le contenu d’une publication WordPress, vous devez écrire votre requête comme suit :
update wp_posts set post_content =
replace(post_content,'Text to find','text to replace with');
Cliquez ensuite sur le bouton « Go » pour continuer.
phpMyAdmin exécutera votre requête SQL et, en cas de succès, affichera le nombre de lignes affectées par la requête.
Vous pouvez maintenant visiter votre site WordPress pour voir les modifications en action.
Bonus : Optimisez facilement votre base de données WordPress
Une fois que vous avez remplacé le texte souhaité dans votre base de données, nous vous recommandons de l’améliorer afin de retirer les données indésirables et d’améliorer les performances de votre base de données.
Pour cela, vous pouvez installer et activer l’extension WP Optimize. Pour plus de détails, consultez notre tutoriel sur l ‘installation d’une extension WordPress.
Une fois activé, visitez la page WP-Optimize depuis le tableau de bord WordPress. Vous verrez maintenant une liste d’opérations que l’extension effectuera sur votre base de données. Vous pouvez les Avis et décocher tout article que vous ne souhaitez pas exécuter pour le moment.
À partir de là, vous pouvez optimiser les tables de la base de données, nettoyer les révisions de publications, les brouillons de publications, et plus encore. Après cela, il vous suffit de cliquer sur le bouton » Exécuter sur tous les articles sélectionnés » en haut.
L’extension va maintenant optimiser votre base de données pour vous. Cependant, si le processus est interrompu, les données risquent d’être corrompues. C’est pourquoi nous recommandons de créer une sauvegarde du site avant l’optimisation.
Pour plus de détails, consultez notre tutoriel sur l ‘optimisation de votre base de données WordPress en un clic.
Nous espérons que cet article vous a aidé à apprendre comment trouver et remplacer du texte en un clic dans votre base de données WordPress. Vous pouvez également consulter notre guide du débutant sur la gestion de la base de données WordPress avec phpMyAdmin et nos choix d’experts des meilleures extensions de base de données WordPress.
Si vous avez aimé cet article, veuillez alors vous abonner à notre chaîne YouTube pour obtenir des tutoriels vidéo sur WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.
Chris
Can do search and replace HTML code? I have snippets of (table td tr) code I would like to replace.
WPBeginner Support
It would depend on where that code was added from, you should normally be able to edit the page that it is on for modifying the code.
Administrateur
Shahala
Hey there! could you please tell me how can I do this find and replace in sql for a word only in specific language?
I tried using language queries but din’t work out!
I really appreciate any help towards this. Thank you
WPBeginner Support
Unless I hear otherwise, we don’t have a language specific search at the moment sadly.
Administrateur
Saud Shah
How can we change 2018 to 2019 in categories and page titles with this plugin or phpmyadmin
WPBeginner Support
For the post and page titles, you would search the wp_posts table but, for changing categories and their urls you would want to do that manually and create 301 redirects.
Administrateur
Aminu
please, how do you replace texts in posts title?
Vishal
Thanks a lot for this. I was looking for the exact same solution.
Anang
Thanks a lot. It saves me hours of work.
RCdiy
I want to replace all instances of « OpenTx » with « OpenTX » but skipping URLs. So basically only what the viewer sees… How do I do this? I’ve installed both Search Replace and Better Search Replace but they also replace in the URLs…
Piter
I tried plugins « Search $ replace » and « Better Search Replace » but there was no effect. Links in my posts was there. But…
Thanks a lot for code metod, it works fine. It takes only few seconds.
samowal
Thank you very much, man.
Peter
You already wrote an article about this last year: https://www.wpbeginner.com/plugins/search-and-replace-plugin-for-wordpress-database/
WPBeginner Support
Thanks for noticing This is actually a rewrite of an old article that only showed the code method. We decided to add the plugin method and more explanation to it.
Administrateur
KMurphy
Is this something that would work in migrating a site – to change the DB urls to a new location?
Kim Hopkins
I just did this.
Oscar Estepa
I’m not 100% sure but I’d say the SQL query can’t handle serialised data. If you search & replace your database using the suggested SQL query you’ll break the serialised data and get yourself into lots of troubles down the road like widgets not working, images dissappearing, broken javascript, etc.
It’s well explained in this link http://davidcoveney.com/782/mysql-database-search-replace-with-serialized-php/
So better look for a plugin, script or tool which handles serialised data, like the suggested plugin Better Search Replace or the interconnectit script.
Personally I use search and replace tool integrated in WP-CLI, in my experience it’s the best and fastest tool out there, never had a problem so far, tested in dozens of websites. For less savvy people, I’d recommend a plugin since WP-CLI is a terminal command tool and might not suite everyone.
Damien Carbery
I like internetconnect/it’s Database Search and Replace Script.
Unlike the phpMyAdmin example in the article, it will search all fields. It will also do a dummy run.