Find and replace text across a whole WordPress web site using phpMyAdmin

You can do a find and replace for text or html code on a post or page across a whole WordPress site by using the mysql database that the site stores all its data in.

First up you need to connect to the database, if you have a cPanel/Plesk style hosting typically you will have an option to connect to the database via phpmyadmin.

Connect to your WebHost

connect-to-phpmyadmin

Launch phpMyAdmin

 Select Your WordPress Database

select-wordpress-database

Select your WordPress database

If you have multiple databases and don’t know which one, check the database name in the wp-config.php file which is stored in your webroot; htdocs or public_html

Select the wp_posts table

select-wp-posts-table

Select the wp_posts table

To Search For a Text Query Only

Select SQL Tab and add in the Search Query SQL Code

input-search-string

SELECT * FROM wp_posts WHERE (post_content LIKE '%TEXT-TO-FIND-GOES-HERE%');

Click ‘Go’

search-for-text-mysql

To edit the post, click on edit and do what needs to be done – if you edit the text it will be updated in your WordPress post.

To Search and Replace For a Text String

Select SQL Tab and add in the Search and Replace SQL Code

find-and-replace-text-in-wordpress

Add in the find and replace SQL code

 

So here switch to the ‘SQL’ tab add in the code below and click on the ‘Go’ button.

UPDATE wp_posts SET post_content = REPLACE (  post_content,  'text to find here',  'text to replace here');

So with the SQL code you put your text between the single quotes for what you are finding and what you are replacing these are separated by the comma.

See the Results

phpmyadmin-shows-how-many-rows-are-affected

Shows you how many instances the find/replace occurred

Doing it via Command Line

This can also be easily done via the command line, you just need to start a mysql session:

mysql -u username -ppassword
use mywordpress_table;
UPDATE wp_posts SET post_content = REPLACE (  post_content,  'text to find here',  'text to replace here');

Doing it with a Plugin

phpMyAdmin and Command Line – fill you with dread? – never fear a plugin is always handy….