Moving your WordPress website to a new domain or server is a big step, and one of the biggest jobs is updating all those old URLs scattered throughout your content.
Manually editing each post and page can feel like an endless chore, so we prefer to use WordPress plugins with powerful automation tools to save hours of frustration.
This article shows you how to update your WordPress URLs after a site move, ensuring a smooth transition and preventing broken links that could harm SEO and user experience.
Here is a list of topics we will cover in this guide:
When Do You Need to Update URLs on Your WordPress Site?
Let’s suppose you moved a WordPress site to a new domain name. You can then change the WordPress address and site address by visiting the Settings » General page from your WordPress dashboard.
However, this doesn’t change the URLs that you have previously added to your posts and pages. It also doesn’t change the URLs of images you have added to your WordPress site.
Changing all of these URLs manually in every blog post and page can be time-consuming. Plus, there is always a chance that you will miss some URLs, which can lead to broken links on your website.
That’s why it is important to update your URLs when moving your WordPress website.
It helps in providing a smooth user experience for your users, as they will easily find the page they’re looking for. Updating URLs also improves your WordPress SEO and allows search engines to find new content for indexing.
Last but not least, you also want to ensure there are proper 301 redirects set up from your old domain to the new domain so users are always redirected to the right place.
This is extremely important because there are likely other websites that are linking to your old domain, including social media posts, Google, and more.
With that said, let’s see how you can quickly and easily update URLs when migrating your WordPress site.
Update URLs After Moving a WordPress Site
The easiest way to update old links on your website is by using the Search & Replace Everything plugin for WordPress. It is a free WordPress plugin that lets you update URLs in your posts, pages, images, excerpts, widgets, and more.
However, make sure that you have a complete backup of your WordPress site before updating all the links. This will allow you to easily revert back in case something goes wrong during the update process.
Next, you will need to install and activate Search & Replace Everything on your site. For more details, see our step-by-step guide on how to install a WordPress plugin.
Note: There’s also a premium version of Search & Replace Everything that comes with more advanced features.
Upon activation, you should navigate to Tools » WP Search & Replace from your WordPress admin panel.
First, you will see a section for updating the old links to the new site URLs. Go ahead and enter the old URL in the ‘Search for’ field and the new URL in the ‘Replace with’ field.
Then, you can scroll down to select specific tables in the WordPress database that you want to update. You can update URLs in your posts, comments, options, user data, and other areas of your site by checking the WordPress core tables options in the plugin.
WordPress core tables are where all your website data is organized and stored. For example, a wp_comments table will have all the information about comments on your site, along with data about the person commenting.
You can also click the ‘Select All’ option to choose all of the tables.
Next, click the ‘Preview Search & Replace’ button to continue.
The plugin will then allow you to preview the changes it will make. That way, you don’t have to worry about making any mistakes.
Lastly, click the ‘Replace All’ button.
The plugin will now update all the URLs on your site to the new domain.
Redirect Posts & Pages After Updating URLs
After you have updated all the URLs on your website, you will now need to set up 301 redirects for your entire site to the new domain. This will preserve links from sites that were linking to your old domain and prevent 404 errors.
The easiest way of performing a full site redirect is by using the All in One SEO (AIOSEO) plugin. It is the best SEO WordPress plugin and is trusted by over 3 million professionals.
AIOSEO offers a powerful redirection manager that lets you redirect old website URLs to new ones in just a few clicks. The plugin also helps track 404 errors on your site so you can quickly find and fix any broken links.
For this tutorial, we will be using the AIOSEO Pro version because it includes the redirection manager and other features like sitemaps, custom breadcrumbs, and schema markup. You can also try the free version of AIOSEO to get started.
The first thing you’ll need to do is install and activate the AIOSEO plugin on your site. If you need help, then please refer to our guide on how to install a WordPress plugin.
Upon activation, you will need to go to All in One SEO » Dashboard from your WordPress admin panel. Now click the ‘Launch the Setup Wizard’ button to configure the plugin.
All you have to do is follow the steps in the setup wizard. For more information, see our detailed tutorial on how to set up All in One SEO for WordPress.
1. Setting Up Full Site Redirects
This method is super useful when you are merging two separate WordPress sites into one or if you are going to set up a new WordPress install for the new domain because it will handle a full site redirect without adding any code.
Simply head over to All in One SEO » Redirects from your WordPress admin area and click the ‘Activate Redirects’ button.
Upon activation, you will need to navigate to the ‘Full Site Redirect’ tab and enable the ‘Relocate Site’ toggle.
Next, you can enter your new domain name in the ‘Relocate to domain’ option.
After entering your new domain URL, don’t forget to click the ‘Save Changes’ button to store your settings. AIOSEO will now redirect all the links on your site to the new URL.
2. Setting Up Individual Post / Page Redirects
AIOSEO also offers different types of redirection methods that you can use to set up individual post and page redirects.
We recommend selecting the ‘301 Moved Permanently’ redirection type. This tells your browser that the page has been moved to a new destination permanently, and you don’t wish to move it back.
Once you have filled out these details, simply click the ‘Add Redirect’ button.
You can see the different redirects you have created by scrolling down and viewing the logs.
You can see the URLs, the number of people that visited the link, the type of redirection you have set, and also choose whether to enable or disable the redirect.
In the ‘Settings’ tab under Redirects, you can choose to set up server-level redirects as well, which are way faster. The default method is set to PHP, which is the easiest way to redirect old URLs, and it doesn’t require any server-side configuration.
But you can select ‘Web Server’ as the redirection method and then choose either Apache or NGINX as your web server. We won’t recommend this method for beginners as it requires technical knowledge.
Bonus: Track Broken Links on Your Website
When you update your URLs to a new domain, it is also essential to keep an eye on any broken links. These are links that no longer exist and show a 404 error page. They can occur if any URL doesn’t get updated properly.
With AIOSEO, it is very easy to track and fix 404 error pages using the Redirection Manager.
To begin, you can head over to All in One SEO » Redirects from your WordPress dashboard.
Next, go ahead and click the ‘Settings’ tab under Redirects and then click on the toggle to enable the ‘404 Logs’ and ‘Redirect Logs’ options.
Using AIOSEO, you can choose the time period to keep your 404 error logs. We recommend that you select no longer than one month for smooth and optimal WordPress performance.
Once you have enabled these options, click the ‘Save Changes’ button at the top of the page to store your settings.
You should now see a new ‘404 Logs’ tab appear under Redirects in AIOSEO. Under this tab, the plugin will track and show 404 error pages on your website.
An important thing to note is that you won’t see any data under the 404 Logs tab at first. The plugin will only start to record broken links after you have enabled the settings.
However, once the setting has been active for some time, go ahead and click on the ‘404 Logs’ tab. You’ll see a list of broken links under the URL column, the number of visits under the Hits column, and the last accessed date.
To fix any broken link, simply click the ‘Add Redirect’ button for the respective URL. AIOSEO will now show options to set up redirection for the 404 error URL.
You will need to enter the new link under the ‘Target URL’ field and select ‘301 Moved Permanently’ as the Redirection Type from the dropdown menu.
Next, go ahead and click the ‘Add Redirect’ button to fix the broken link on your website.
To check if the redirection is working, simply visit the old URL. If you are redirected to the new URL, then it means you have successfully fixed 404 error pages.
Our Best Guides on Moving Your WordPress Site
We hope this article helped you learn how to update URLs when moving your WordPress site. You may also want to see some of our other guides on how to move your website:
- How to Easily Move WordPress to a New Domain (Without Losing SEO)
- The Ultimate WordPress SEO Migration Checklist for Beginners
- When Should You Change Your WordPress Web Hosting?
- How to Move WordPress to a New Host or Server With No Downtime
- How to Move WordPress From Local Server to Live Site
- How to Move a Live WordPress Site to Local Server
- How to Properly Move WordPress From Subdomain to Root Domain
- How to Easily Move Your Blog from WordPress.com to WordPress.org
- Ultimate WordPress Migration Guide for Beginners (Step by Step)
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
Syed Balkhi
Hey WPBeginner readers,
Did you know you can win exciting prizes by commenting on WPBeginner?
Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
You can get more details about the contest from here.
Start sharing your thoughts below to stand a chance to win!
Asrar
Hi Everyone
i want to upload my local wordpress site to online, but when i download all the files and want to change the links (localhost/websitename/ ) there is no such links available except two links. As there must be many lins to be changes bu i dont see . Why the links are missing ?
anyone knows ?
Yogi
The Velvet Blues Update URLs plugin is excellent. I want to share my experience with it. After i did my URL change with it. I still see the error on opening all post. I solved it by going to “Settings > Permalinks” section and then saved my permalinks once more by clicking the “Save Changes” button. This solved my problem and will also solve yours if you still get some error.
Nice Kid
Thanks Yogi !!
Sirisha allamneni
Thank you very much. this solved my problem
Jhavinder
I am using the same domain but i have changed my hosting. After that my all images in post are not showing. How can i fix this problem.
BEN10
WIll it still maintain it after updating the urls and i delete the plugin?
WPBeginner Support
Yes, after you have updated URLs you can delete the plugin.
Admin
Michael
Thanks so much! Worked like a charm
Shawn Rebelo
Velvet blues is great, but misses one thing. Does not change URL’s in options if URL’s are there. Say for Custom CSS. Also, anyone have issues of you changing the URL’s, see changes in the DB. But when you go edit the page, they are still say http, when they should be https? Seems to only happen with image URL’s.
jan
I used this wonderful plugin in the past, always worked fine. But this time it only changed the full URL links, not the internal links that don’t include the full URL. Any ideas on how to fix this?
Blessing Mashoko
I had the same issue I just changed my permalink settings to “plain” and changed back to the permalink setting I was using and somehow it works.
Consultant Nine
this worked! AWESOME! THANKS!
Priscilla
The plugin hasn’t been supported in over 1 year and is untested with WP version 4.9.1. Nevertheless, I gave it a try, but unsurprisingly, it didn’t work, giving a MySQL server error. So much for a once very good plugin that the developer decides to abandon!
WPBeginner Support
Hi Priscilla,
We just tested the plugin and it worked as expected. Please try again and see if the error has resolved or may be the error is unrelated to the plugin.
Admin
Kokila
Post update of URL, images are not showing up properly in wordpress admin site. Please comment on this and also URL update didn’t happen for images on Media folder
Gautam Sharma
After migrating from local to server, I’m getting 404-File not found error. Only my Home Page is loading, rest are not working, I have changed the permalinks also! Please help…
Emma Booth
Is there anyway I can avoid links from social media breaking once I have done a re-direct?
I’m trying to re-direct from a wordpress.com blog to a blog on a new domain on wordpress.org, however I’m concerned previous links in tweets and linkedIn posts will break….any way to avoid this?)
sanjeev kumar
If i tried this but what is for seo how they upadated old link and redirect
Neha Prajapati
I changed my server keeping same web URL. and properly configured.
But why my all old post r showing in google search with page not found.
What to do??
Ben
I want to merge two websites. Should we install the Velvet plugin on the old or the new site? Thanks
Peter
I use Velvet Blues with very good results. However, it is important to note that VB will not change URL in widgets or if there are URLs in your CSS code. These will need to be manually changed.
Jeremy
In response to ADITYA’s comment about this being a substitute for 301 redirects.
I would say that a find and replace plugin is NOT a substitute for 301 redirects. 301 redirects are still valuable from an SEO standpoint, as well as for users who may have bookmarked or are accustomed to using your old domain.
Just using this plugin would result in your users hitting an old site that is no longer being maintained or a site that’s been taken offline.
On a personal note, I definitely recommend Migrate DB Pro for this type of activity. It’s worth the money, if you’re doing local development.
Jennifer
Hi,
Does this plug in also work for updating links that are embedded inside tables that I created with TablePress? I also have a number of URLs as part of image descriptions for photos that I added using FooGallery, and i assume that these are stored inside the database, rather than in the HTML for the pages – is Velvet Blues able to update these as well, or do I need a different plug in for that task? My site (which I am going to move from its current directory to a subdirectory of my site that I want to use for an add-on domain) contains about 13.500 images and 500 tables, and it would be extremely tedious to check every single one for links, and then manually replace them with the new URL.
Thanks.
Nico
Hi,
I have the same problem changing domain name.
Had you learn any tip ?
Thanks
Brian
Does anyone know how to get the url’s updated that are in table press??
Vidy
Cool plugin and great tutorial, I’ve just migrate my domain and I have 300 post. I searched exactly the plugin u reviewed. Thanks for your help. I didn’t needed to replace my internal link one by one.
WPBeginner Support
Glad you found it helpful
Admin
Michelle Z.
Question: I updated my theme, and the blogroll is now on a secondary page, when it used to be on the homepage. So I have the same url but different path. Check it out:
Old Link (we want to maintain these):
New Link:
I tried adjusting the permalinks but its not working…yet. Any ideas?
Thanks so much!
Sourabh Saraf
Thanks for the wonderful tut , i usually go for backupbuddy for my migration but sometimes due to server limitations backupbuddy doesnt work . This trick comes handy everytime i manually migrate wordpress and works like a charm .
cheers
Sourabh
Sonali
My old and new site urls are the same since I migrated my site content from wordpress.com to wordpress.org. Not sure how to use this and get those errors fixed…Please advice! Thanks!
Melissa
I used this plugin after migrating from Blogger to WordPress. None of my image URLs are updating…so none of my images are currently showing on my blog (www.fitchocoholic.com). Can anyone help me with this? I’m freaking out!
jatinder
I installed this plugin and is working perfectly.
But my question is, why doest it work on the content build using Content Builder plugins like Visual composer or Muffin tool. i have certain hard-coded links it does change those link.
Any comments??
Josh
Hi Jatinder.
The reason this plugin doesn’t work for content inside Visual Composer is because Visual Composer stores the links in a strange way. If you click on “Classic Mode” in Visual Composer you’ll see that links don’t look like proper URLs.
For example, I have a VC button that points to this link:
example.com/services/adwords/
But in Classic Mode I can see that the link looks like this:
http%3A%2F%2Fexample.com%2Fservices%2Fadwords%2F
So this will be why Velvet Blues doesn’t change these links.
To fix the content, without having to manually edit every link, you’ll need to run another search and replace plugin and search for the urls using this structure.
Jeremy
Good tip, ive been trying to work this out for a while now, didn’t even occur to me that the url would have been done like that. Hooray.
marcelo araujo
hi, cool post. some media does not change. specifically the media that is added in theme options. any command to change all urls in all database? i change mine from .org/site for .org.br/site
tks.
Aditya
It Means We Don’t Have to Use 301 Redirect If We Use This Plugin
Henry
Hi Syed
I am desperately looking to get advice on the following. I have recently flicked my website from http to https. It all works fine however the links in the content hasn’t changed to https. I was just wondering do I have to rewrite them all manually (hope I don’t) or is there any solutions for making them sitewide https?
Does anyone know the answer?
Thanks for your help in advance.
Henry
WPBeginner Support
Please take a look at our guide on how to add SSL and HTTPS in WordPress. You will find instructions on how to properly setup SSL and how to handle URLs.
Admin
Christine Lavery
**SOS** I have recently changed my wordpress.com site to a wordpress.org site, I followed every instruction on your post about “How to Change Your WordPress.com to WordPress.org” (https://www.wpbeginner.com/wp-tutorials/how-to-properly-move-your-blog-from-wordpress-com-to-wordpress-org/). Everything seemed to transfer smoothly. However, I also ran the Velvet Blues plug-in and it did not work because I needed to update the domain name. I don’t know what to do to fix this, and I am still new at this enough that I don’t trust my abilities to manually adjust the links myself. I’ve already paid and set up/activated everything through Bluehost, and I noticed on the link above that you guys also will change everything over for an individual for free. Is it to late for you to help with that? I desperately need the help and I don’t want to do anything else to “mess up” my new blog further.
oladayo awe
Have you been able to solve your wordpress migration challenge?
Maggie Dill
Hi there, I can’t figure out how to edit my original URL, because my default blog address is a wordpress.com address that I can’t seem to change. I’ve transfered everything else to a wordpress.org site including updating the name servers to bluehost, and I wonder if this last blog url
detail is holding me back?
Louise Findlay
Whoa, I wish I used this instead of the Broken Links Checker plugin.
Jose
Hello there,
I have just used velvet blues update urls to change my urls to make them protocol relative, changin http://mydomain.com by //mydomain.com. In order to revert the changes, should I use http://mydomain.com in both the old and new url fields or should I enter //mydomain.com in the old url field and http://mydomain.com in the new url field?
Thank your. Love your site!
tiggyboo
Does changing the links have to be associated with a site move? I.e., I work in an area where tons of wordpress content addresses an internal URL that will be changing, and we’re looking for a way to do it en masse… would this be applicable? Can it ignore parameters in a URL?
Robin Jennings
Great plugin. Worked a treat and saved me hours of time!
Johanna Summers
We ran Velvet Blues today to try to fix the image urls that appear with the temp url address in the html on each page ( but correctly as the file url in our WP Media – eh?) – it hasn’t changed them – we now have the blues? Why didn’t it work? (we moved our site to WP about 3 weeks ago.. stressed!
Philipp C. Dukatz
Hi Johanna, have you found a way to solve this? I am about to move my blog from temp to live and I am really afraid of the same thing ….
Vincent
Hi,
Great article. Thanks.
Unfortunately I am still confused about whether “updating the URLs” using these special plugins is actually necessary for when you’re simply taking a development site (in a subdirectory, say http://www.example.com/wpdev) live on the root domain, and not actually moving any files??
For example, I did a test and made my http://www.example.com/wpdev site live by following the instructions is the WordPress Codex. I simply changed the wp site URL in general settings, put a copy of the index and htaccess file in the above root folder (and tweaked index.php to require the subdirectory), updated permalinks and viola: everything works including my links to my attachments in posts.
Curiously however, when I then “update the URLs in the database” using a dedicated plugin, then it actually breaks some of my links. Note I update all the tables except the options table as this has the wp home url link which should remain as example.com/wpdev/
I actually think this topic is one of the more unclear parts of the WordPress Codex.
Perhaps I don’t understand the difference in effects between hardcoded links and non-hardcoded links properly?
Cheers
Mimi
I ran the plugin and it seems it did not update any of my links so I have to them all manually
Felix Whelan
I have been blogging for a while using domain name A. I am changing to a new domain name, domain B. But I have the same hosting account with the same host. I want all my old posts to stay right where they are. I just want my new domain name to lead to them. Essentially, someone who logged in to domain A yesterday would be able to click domain B today and get to the same experience. Will this plug in accomplish that? Thank you for your help!
WPBeginner Support
On your hosting account edit your Domain A and point it to some other directory. After that Edit domain B and point it to the directory that was previously used by domain A. You can also ask your webhost for support. After that you will need this plugin to update your URLs, you will also need to update your WordPress site and home URL in wp-config.php file to make sure it is pointing to domain B.
1-click Use in WordPress
Admin
Todd Lohenry
Is there a way to do this with WordPress.com?
Joy
Hi,
I need a little help. I activated the Velvet Blues plug-in, and had it update my URLS for my old site site.olddomain.com to move to newdomain.com, but now when I do a Google search and click on old links at the site.olddomain.com I get “Not found, error 404″ on the newsite.com. How can I fix this?
Also, I’m pretty new to this tech stuff, how do I “manually change any links that are hardcoded”? What’s a hardcoded link?
Thanks in advance!
WPBeginner Support
The plugin updates your URLs in the database but you still need to import your old site first and set the permalink structures.
Admin
Elizabeth
Forgive my ignorance. I’m fairly new to all this and I may not be using the right terminology but I migrated from .com to .org last week. I didn’t see the “move your blog” tutorial from wpbeginner until after and so I followed my new hosts tutorial which was MUCH more difficult and technical. Anyway… I’m moved. Everything appears to be working fine but my images are still pointing to the old site. From what i read, this plug in would help but I’m stuck on old url/new url. Isn’t my url the same as my domain name? And my domain name stayed the same when I moved so… I’m a little lost there. On my NEW admin page I can go to settings>general and see that my “wordpress address” and “site address” are both the same as http:// mydomainname which is what I’ve always thought of as my url, both before and after I moved. On my OLD admin page (.com) I can’t see my “wordpress address under general settings. How do I differentiate?
WPBeginner Support
We are sorry, but we can not understand how can your old site and new site have the same domain and how can they both be live at the same time? Can you please reply to this comment with your old and new site URLs?
Admin
CathyWebSavvyPR
I’m betting that he paid wordpress.com to do 301 a redirect from mysite.wordpress.com to his full domain name mysite.com?
Marshall
O my god!
When did it happen. Can’t wait to give it a try…
Doing it via database is painful.
Thanku
RW
Love this whole post and discussion. Some great ideas. Personally, I don’t think this is worth a plugin. I always use an SQL query or export my DB and use text editor to find and replace, then re-import. Works great. Obviously, hard-coded links have to be done manually.
I just don’t love the idea of using more plugins unless I have too. Chuck, I’ll try out your SQL next time. Thanks for the tip!
Bob
Vincent Robic
I totally agree with you, but in some case, settings are stored as serialized array, and it’s more convenient to use a plugin.
Editorial Staff
Why add more work for yourself, when a plugin can do it just fine. This is not a plugin that you keep active on your site. You install it, use it, and then delete it.
Admin
RW
What about if you’re moving a site from a sub-directory to root or even the other way around? Can this plugin handle that as well?
Editorial Staff
Yes. Because all it is doing is a search and replace in your database. This is very handy for those who don’t want to go in their phpMyAdmin. Plugins like Duplicator are more useful because they do the whole migration process and then this.
Vincent Robic
Hi,
I just wrote a plugin that does the job. It also handles serialized data, VelvetBlues Update URLs doesn’t do at the moment
You will still have to manually update the siteurl option in order to access the Administration Panel, but then, it will update all your stuff : posts (including pages and custom post types), excerpts, medias, custom fields, options, GUIDs.
It’s available on the WordPress Plugin Directory : http://wordpress.org/plugins/umanit-update-urls/
Dotta Raphels
Hi Vincent,
I’m new to WordPress.org and would please like an idiot’s guide to installing this plugin. I host with GoDaddy. I just moved over and none of my links work. Please help!
zimbrul
This is something I didn’t know…used to do this manually …good tip.
jeroenhoman
@viking_olof Just what the doctor ordered! You saved me a few hours of rewriting my URLs…
samuelcane
@wpbeginner you wouldn’t believe how timely your tweet was, just moved from dev to live when I noticed my URL’s! thanks so much! #panicover
easyP
Hi Everyone
I came across this plugin recently and will be trying it this weekend.
I developed a site on a temporary URL, which means that all the URL’s for the graphics need updating so I’ll be using it for that.
Adam W. Warner
Yeah, this seems like a mostly un-useful plugin unfortunately. @chuckreynolds and @wpstudio advice below are both useful, use BackupBuddy (because it handles the search/replace, or do it manually with those SQL queries.
However, one thing that I’ve run across on multiple occasions is that some plugins are using serialized data strings to store data and a simple SQL search/replace won’t update that data. BackupBuddy search/replace does account for serialized data, but I’m not sure it checks recursively.
My method for migrating sites is using a mix of BackupBuddy, then running the awesome Serialization Fix script from Interconnectit.com. http://interconnectit.com/124/search-and-replace-for-wordpress-databases/
I migrated a Multisite installation where the client had used a plugin that stored it’s data in serialized arrays and after the migration over 300 content blocks were missing. Running the script above saved the day;)
wpbeginner
@Adam W. Warner Great suggestion Adam. This plugin might be a bit irrelevant when making the initial move, but it is a good free alternative for anyone who is not very well-versed with MySQL knowledge.BackupBuddy for the win though.
chuckreynolds
@Adam W. Warner Nice, thanks Adam that’s useful. Cheers
Adam W. Warner
@chuckreynolds Sharing our collective experiences is all part of being in the community:)
p.s. Sorry to hear you won’t be involved in another WordCamp Phoenix, but I understand it’s a HUGE undertaking;)
wpstudio
This is why I love BackupBuddy. It updates all the URLs for you when you migrate a site.
chuckreynolds
plugins typically fail for doing this as most of the time you’re moving from a temp url to a domain and once you’re moved over you can’t use a plugin becuase of the redirection in place to the old url.
The SQL queries to run to fix all that are here: http://forr.st/~DLR
easyP
@chuckreynolds
Thanks for the info Chuck.
Problem is there are lots of guys like me who struggle with the SQL queries, scares me to death. LOL
Here is the post that got me interested in the redirect url plugin…
http://www.expand2web.com/blog/move-wordpress/
As you can see it’s aimed at we non techies.