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

Launch phpMyAdmin
Select Your 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 the wp_posts table
To Search For a Text Query Only
Select SQL Tab and add in the Search Query SQL Code
SELECT * FROM wp_posts WHERE (post_content LIKE '%TEXT-TO-FIND-GOES-HERE%');
Click ‘Go’
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

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

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….
hi thanks for sharing this useful post very helpful, me translated that to my language.
Hi,
How can delete everything after a certain keyword in post_content?
For example:
Name: Ryan
Age: 24
keyword
text to be delete
text to be delete too
Result:
Name: Ryan
Age: 24
Thanks
IMHO, a MUCH better plugin solution is here: https://interconnectit.com/products/search-and-replace-for-wordpress-databases/
(I’m in no way connected with them)
I use it all the time and it works brilliantly and is a real lifesaver when dealing with serialized (JSON) data.
Yes I use this too, it’s an important tool – but this guide is also for users to get acquainted with phpmyadmin
Thank you
You are best :)
Thanks. I use It.
thank you very much!
Great help many many thanks!
Hi,
How to remove the slash between the french words, for example “l\’été”
Thank you
Thanks for the post. It worked like the charm. However, when I tried replacing the guid column also, it removed all the content on my wordpress site…
But besides that, it all worked well.
Thank you, that’s really east to follow post, but most important thing to consider before updating database, is to make a backup, in-case you mess up something. hope you update post and remind people .