Better Search Replace


When moving your WordPress site to a new domain or server, you will likely run into a need to run a search/replace on the database for everything to work correctly. Fortunately, there are several plugins available for this task, however, all have a different approach to a few key features. This plugin consolidates the best features from these plugins, incorporating the following features in one simple plugin:

  • Prise en charge de la sérialisation pour toutes les tables
  • La possibilité de sélectionner des tables spécifiques
  • La possibilité de faire un « essai à blanc » pour voir combien de champs seront mis à jour
  • Aucune exigence de serveur en dehors d’une installation WordPress fonctionnelle
  • Prise en charge de WordPress Multisite

Time-saving features available in the Pro version:

  • View exactly what changed during a search/replace
  • Backup and import the database while running a search/replace
  • Priority email support from the developer of the plugin
  • Save or load custom profiles for quickly repeating a search/replace in the future
  • Support et mises à jour pour un an

En savoir plus sur Better Search Replace

The search and replace functionality is heavily based on interconnect/it’s great and open-source Search Replace DB script, modified to use WordPress native database functions to ensure compatibility.

Langues prises en charge

  • Anglais
  • Français
  • Allemand
  • Espagnol

Envie de contribuer ?

Feel free to open an issue or submit a pull request on GitHub.

Captures d’écran

  • La page Better Search Replace a été ajoutée au menu « Outils »
  • Après avoir effectué une recherche / remplacement à blanc.


Installez Better Search Replace comme n’importe quelle autre extension WordPress.

Dashboard Method:

  1. Connectez-vous à votre administration WordPress et allez à Extensions > Ajouter
  2. Saisissez « Better Search Replace » dans la barre de recherche puis sélectionnez cette extension
  3. Cliquer sur « Installer », puis « Activer l’extension »

Upload Method:

  1. Décompresser l’extension et téléversez le dossier « Better-search-replace » sur votre serveur dans le répertoire « wp-content/plugin »
  2. Activez l’extension via le menu « Extensions » dans WordPress


Utilisation de Better Search Replace

Once activated, Better Search Replace will add a page under the « Tools » menu page in your WordPress admin.

Mon hébergeur est-il pris en charge ?

Oui ! Cette extension devrait être compatible avec n’importe quel hébergeur.

Puis-je endommager mon site avec cette extension ?

Yes! Entering a wrong search or replace string could damage your database. Because of this, it is always adviseable to have a backup of your database before using this plugin.

Comment cela fonctionne-t-il sur un site WordPress multisite ?

When running this plugin on a WordPress Multisite installation, it will only be loaded and visible for Network admins. Network admins can go to the dashboard of any subsite to run a search/replace on just the tables for that subsite, or go to the dashboard of the main/base site to run a search/replace on all tables.

How can I use this plugin when changing URLs?

If you’re moving your site from one server to another and changing the URL of your WordPress installation, the approach below allows you to do so easily without affecting the old site:

  1. Sauvegarder la base de données sur votre site actuel
  2. Install the database on your new host
  3. On the new host, define the new site URL in the wp-config.php file, as shown here
  4. Log in at your new admin URL and run Better Search Replace on the old site URL for the new site URL
  5. Delete the site_url constant you added to wp-config.php. You may also need to regenerate your .htaccess by going to Settings -> Permalinks and saving the settings.

Plus d’informations sur la migration d’un site WordPress ici.


9 juin 2024
Its a bait & switch. They say nothing in their « free » version description about there even being a paid version. All the free version will tell you is how many replacements will happen. But it won’t show you what they are. So its not safe to use, and their description is misleading.
9 juin 2024
I just used this tool. At first it failed to replace links within my WordPress Elementor templates, within pages, and in the global footer for my site. Also, the URLs of the templates were still tied to the old website address and were still giving me a « file not found »when I clicked on them in my Elementor template list to try to edit them. I downloaded my templates and looked at the content of the JSON file of a template with a text editor. I found that its URLs were stated this way:\/directoryname (with a back slash and forward slash instead of just a forward slash). So I re-ran this plugin to search for that string and replace it with That worked for changing the links in pages and the global footer. However, the problem with opening a template changed from file not found to it now won’t load. Working on that.
26 mai 2024
This plugin gets the job done as described. The progress indicator bar is a good feature. Search result details are only available in paid version.
Lire les 521 avis

Contributeurs/contributrices & développeurs/développeuses

« Better Search Replace » est un logiciel libre. Les personnes suivantes ont contribué à cette extension.


“Better Search Replace” a été traduit dans 29 locales. Remerciez l’équipe de traduction pour ses contributions.

Traduisez « Better Search Replace » dans votre langue.

Le développement vous intéresse ?

Parcourir le code, consulter le SVN dépôt, ou s’inscrire au journal de développement par RSS.


1.4.7 – May 30, 2024

  • Fix: The case-insensitive setting once again allows case-insensitive strings to be matched within serialized data, fixing a regression introduced in version 1.4.6

1.4.6 – April 17, 2024

  • Changed: Serialized text strings are now only deserialized when containing a match, resulting in faster performance
  • Security: Table names are now escaped when displaying search results

1.4.5 – January 18, 2024

  • Security: Unserializing an object during search and replace operations now passes 'allowed_classes' => false to avoid instantiating the object and potentially running malicious code stored in the database (thanks to Wordfence for responsible disclosure on December 18, 2023 followed by development and testing of the fix by WP Engine)
  • Fix: A regression in version 1.4.4 which caused some search results to be skipped has been fixed to ensure only numeric keyed objects are skipped

1.4.4 – December 14, 2023

  • Fix: Objects with numerical properties are now skipped to avoid causing errors

1.4.3 – September 5, 2023

  • New: Links to plugin documentation, support, feedback, and changelog are now available in the footer of WP Admin
  • Improvement: PHP 8.2 and Better Search Replace are now compatible

1.4.2 – January 11, 2023

  • Security: Arbitrary tab templates in the templates directory can no longer be loaded using a query parameter.

1.4.1 – July 25, 2022

  • Security: Selected tables are now confirmed to exist before processing the request

1.4 – April 7, 2022

  • New: Better Search Replace has a brand new user interface
  • Improvement: Default capability required to use the plugin has changed from « install_plugins » to « manage_options » for compatibility with DISALLOW_FILE_MODS

1.3.4 – December 7, 2020

  • Improvement: WordPress 5.6 and PHP 8 compatible
  • Fix: Strings that have been serialized twice showing up as false-positives

1.3.3 – February 26, 2019

  • Fix: Some special characters interfering with search/replace
  • Security: Pass template filenames through sanitize_file_name()
  • Security: Verify nonce when downloading diagnostic info

1.3.2 – January 3, 2018

  • Fix: Only one table searched on some environments (props @Ov3rfly)
  • Tweak: Update text in sidebar

1.3.1 – September 14, 2017

  • Security: Check if data is serialized before unserializing it
  • Improvement: Increased size of table select

1.3 – November 10, 2016

  • Improvement: Updated sidebar and added pro version discount
  • Fix: Outdated links to old website
  • Fix: Prevent requests to invalid tabs

1.2.10 – June 2, 2016

  • Fix: CSS not loaded on details page

1.2.9 – December 8, 2015

  • Fix: Bug with case-insensitive searches in serialized objects
  • Fix: Bug with early skip due to lack of primary key

1.2.8 – November 25, 2015

  • Fix: Bug with report details

1.2.7 – November 24, 2015

  • Fix: Untranslateable string
  • Tweak: Check BSR_PATH instead of ABSPATH to be consistent
  • Tested with 4.4


  • Removed unused code/small cleanup


  • Improved progress bar info and styles
  • Small cleanup


  • Added « Settings saved » notice when saving settings
  • Fixed bug with wp_magic_quotes interfering with some search strings


  • Fixed bug with searching for backslashes
  • Fixed potential bug with getting tables in large multisites
  • Fixed potential notice in append_report
  • Improved handling of missing primary keys


  • Fixed AJAX conflict with WooCommerce
  • Fixed a few issues with translations
  • Tweaked « System Info » to use get_locale() instead of WP_LANG constant
  • Updated German translation (props @Linus Ziegenhagen)


  • Fixed minor issue with display of progress bar
  • Updated translation file


  • Switched to AJAX bulk processing for search/replaces
  • Decreased minimum « Max Page Size » to 1000
  • Added « Help » tab with system info for easier troubleshooting


  • Ajouté la possibilité de modifier la taille maximale de la page
  • Diminution de la taille de la page par défaut afin d’éviter le problème de l’écran blanc sur certains environnements


  • Added ability to change capability required to use plugin
  • Correctif de petits bugs et traduction


  • Ajouté les tailles de table à la liste de la base de données
  • Ajouté la traduction française (proposée par @Jean Philippe)


  • Added support for case-insensitive searches
  • Traduction allemande ajoutée (props @Linus Ziegenhagen)


  • Correctif de potentiels problèmes de sécurité


  • Correctif du problème avec la recherche des caractères spéciaux comme « / »
  • Fixed bug with replacing some objects


  • Fixed untranslateable strings on submit button and submenu page.


  • Fixed issue with loading translations and added Spanish translation (props Eduardo Larequi)
  • Fixed bug with reporting timing
  • Mise à jour pour avoir la fonctionnalité « Faire un essai » par défaut
  • Added support for WordPress Multisite (see FAQs for more info)


  • Initial release