Skip to main content
Agency Program Get 2× more leads and save 50% on hosting. Built for agencies ready to grow. Book a call
Better Search Replace icon

Better Search Replace

v1.4.10
by WP Engine · 4.3 (536 reviews)

A simple plugin to update URLs or other text in a database.

1M+ active installs Updated Apr 14, 2025 Tested to 6.8.1
Try Demo Download
Pre-installed Ready in ~10s No card
Better Search Replace

About Better Search Replace

Better Search Replace is a plugin for WordPress that allows you to easily search and replace text in your database when moving your site to a new domain or server. It includes features such as serialization support for all tables, the ability to select specific tables, and the ability to run a "dry run" to see how many fields will be updated. The Pro version offers additional time-saving features such as viewing exactly what changed during a search/replace and backup and import functionality.

Screenshots

Better Search Replace screenshot
Better Search Replace screenshot

Frequently asked questions

What features does this plugin have?
Serialization support for all tables, the ability to select specific tables, the ability to run a 'dry run' to see how many fields will be updated, no server requirements aside from a running installation of WordPress, and WordPress Multisite support.
What time-saving features are 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, and support and updates for 1 year.
What is the search and replace functionality based on?
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.
What languages are supported?
English, French, German, and Spanish.
How can I contribute to the plugin?
Feel free to open an issue or submit a pull request on GitHub.

Changelog

1.4.10 – January 14, 2025

  • Fix: Improved security and stability

1.4.9 – October 4, 2024

  • Security: The plugin now uses its own update mechanism from WP Engine servers
  • New: Dependencies have been updated

1.4.8 – September 3, 2024

  • No changes as this was a pro-only release for Better Search Replace Pro

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

1.2.6

  • Removed unused code/small cleanup

1.2.5

  • Improved progress bar info and styles
  • Small cleanup

1.2.4

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

1.2.3

  • 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

1.2.2

  • 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)

1.2.1

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

1.2

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

1.1.1

  • Added ability to change max page size
  • Decreased default page size to prevent white screen issue on some environments

1.1

  • Added ability to change capability required to use plugin
  • Small bugfixes and translation fixes

1.0.6

  • Added table sizes to the database table listing
  • Added French translation (props @Jean Philippe)

1.0.5

  • Added support for case-insensitive searches
  • Added German translation (props @Linus Ziegenhagen)

1.0.4

  • Potential security fixes

1.0.3

  • Fixed issue with searching for special characters like ‘’
  • Fixed bug with replacing some objects

1.0.2

  • Fixed untranslateable strings on submit button and submenu page.

1.0.1

  • Fixed issue with loading translations and added Spanish translation (props Eduardo Larequi)
  • Fixed bug with reporting timing
  • Updated to use “Dry Run” as default
  • Added support for WordPress Multisite (see FAQs for more info)

1.0

  • Initial release

Try other plugins

Classic Editor icon

Classic Editor

4.9 · 9M+ installs

Enables the previous "classic" editor and the old-style Edit Post screen with TinyMCE, Meta Boxes, etc. Supports all…

Yoast Duplicate Post icon

Yoast Duplicate Post

4.7 · 4M+ installs

The go-to tool for cloning posts and pages, including the powerful Rewrite & Republish feature.