Skip to content

Instantly share code, notes, and snippets.

@chuckreynolds
Last active February 10, 2023 18:56
Show Gist options
  • Save chuckreynolds/6032234 to your computer and use it in GitHub Desktop.
Save chuckreynolds/6032234 to your computer and use it in GitHub Desktop.
UPDATE: Use WP-CLI find-replace command to edit URLs in your database. https://developer.wordpress.org/cli/commands/search-replace/ Use this SQL script when changing domains on a WordPress site. Whether you’re moving from an old domain to a new domain or you’re changing from a development domain to a production domain this will work. __STEP1: al…
/* Use WP-CLI instead https://developer.wordpress.org/cli/commands/search-replace/ */
SET @oldsite='http://oldsite.com';
SET @newsite='http://newsite.com';
UPDATE wp_options SET option_value = replace(option_value, @oldsite, @newsite) WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET post_content = replace(post_content, @oldsite, @newsite);
UPDATE wp_links SET link_url = replace(link_url, @oldsite, @newsite);
UPDATE wp_postmeta SET meta_value = replace(meta_value, @oldsite, @newsite);
/* only uncomment next line if you want all your current posts to post to RSS again as new */
#UPDATE wp_posts SET guid = replace(guid, @oldsite, @newsite);
@nncl
Copy link

nncl commented Apr 23, 2018

I've tested what @jaircuevajunior made and worked like a charm, thanks mate.

@jeromeip
Copy link

jeromeip commented Mar 22, 2019

The procedure proposed by @jaircuevajunior is quite straightforward, however it will only fully work if the former URL and the new one have the same length. Therefore I suggest that you keep this in mind if, for example, you're working on a test version and plan to move to production.

When the lengths differs, you need to use a more sophisticated script that takes into consideration variable serialization frequently used in WordPress database.
For this, I've used successfully a few times a script developed by Interconnect/IT (it's free but you need to complete a form to get it).
[link removed]

@martinacostadev
Copy link

Thanks!

@clementbiron
Copy link

clementbiron commented Jan 21, 2020

You could use this tool to generate your sql script : [link removed]

@chuckreynolds
Copy link
Author

What everybody SHOULD use anymore is WP-CLI Find/Replace. End of conversation. https://developer.wordpress.org/cli/commands/search-replace/

@clementbiron
Copy link

I couldn't agree more but:

  • wp cli is not available on all hosting services
  • using a command line tool is not possible for the majority of users

that's why extensions and tools exist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment