Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
WPB Cup
25 Million+
Websites using our plugins
16+
Years of WordPress experience
3000+
WordPress tutorials
by experts

How to Easily Update URLs When Moving Your WordPress Site

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

Do you want to update your URLs after moving your WordPress site?

It can be time-consuming to manually edit each post or page just to replace old site URLs. Luckily, there are WordPress plugins that help you automate the process of updating old URLs.

In this article, we will show you how to easily update URLs when moving your WordPress site.

How to Update URLs when Moving your WordPress Site

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.

Changing WordPress and site URLs

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 Go Live Update Urls 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 Go Live Update Urls on your site. For more details, see our step-by-step guide on how to install a WordPress plugin.

Upon activation, you should navigate to Tools » Go Live from your WordPress admin panel.

Select core tables to update

On this page, 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.

Besides that, the Go Live Update Urls plugin also lets you update old URLs in the data used by different plugins on your website. However, this is an optional step, and you can skip it.

Update URLs in plugin data

Next, you will need to scroll down to the section for updating the old links to the new site URLs.

Go ahead and enter the ‘Old URL’ and ‘New URL’ in the respective fields.

Enter old and new URL

Once that’s done, simply click the ‘Update Urls’ 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.

AIOSEO dashboard launch setup wizard

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.

Activate AIOSEO redirects

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.

Full site redirect

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.

Add redirection for old links

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.

Redirection logs in AIOSEO

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.

Select the Redirect Method

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.

Enable 404 logs

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.

Click 404 logs menu option

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.

Add redirect for your broken link

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

Now that you know how to update URLs when moving to a new domain name, you might want to see some of our other guides on how to move your website:

We hope this article helped you learn how to update URLs when moving your WordPress site. You may also want to see our guide on how to get a free SSL certificate or our expert picks of the best email marketing services for small businesses.

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.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit - a collection of WordPress related products and resources that every professional should have!

Reader Interactions

127 CommentsLeave a Reply

  1. Syed Balkhi says

    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!

  2. Asrar says

    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 ?

  3. Yogi says

    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.

  4. Jhavinder says

    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.

  5. Shawn Rebelo says

    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.

  6. jan says

    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?

  7. Blessing Mashoko says

    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.

  8. Priscilla says

    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!

  9. Kokila says

    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

  10. Gautam Sharma says

    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…

  11. Emma Booth says

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

  12. Neha Prajapati says

    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??

  13. Peter says

    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.

  14. Jeremy says

    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.

  15. Jennifer says

    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.

  16. Vidy says

    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.

  17. Michelle Z. says

    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!

  18. Sourabh Saraf says

    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

  19. Sonali says

    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!

  20. Melissa says

    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!

  21. jatinder says

    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 says

      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 says

        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.

  22. marcelo araujo says

    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.

  23. Henry says

    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

  24. Christine Lavery says

    **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.

  25. Maggie Dill says

    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?

  26. tiggyboo says

    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?

  27. Johanna Summers says

    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 says

      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 ….

  28. Vincent says

    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

  29. Felix Whelan says

    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 says

      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.

      define('WP_HOME','http://example.com');
      define('WP_SITEURL','http://example.com');
      

      Admin

  30. Joy says

    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!

  31. Elizabeth says

    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 says

      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

  32. Marshall says

    O my god!
    When did it happen. Can’t wait to give it a try…
    Doing it via database is painful.
    Thanku

  33. RW says

    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 says

      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 says

      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 says

        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 says

          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.

  34. Vincent Robic says

    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 says

      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!

  35. jeroenhoman says

    @viking_olof Just what the doctor ordered! You saved me a few hours of rewriting my URLs…

  36. samuelcane says

    @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

  37. easyP says

    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.

  38. Adam W. Warner says

    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 says

      @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.

      • Adam W. Warner says

        @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;)

  39. chuckreynolds says

    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

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.