Blog Migration Guide: How to Move Your Blog to a New URL
When you started your blog or business, how much thought did you put into the name you gave it?
Some people do hours of consideration before choosing a name. Some spend days. Businesses might spend weeks or months on market research to come up with a focus-tested and mother-approved name. And, of course, some pick a word and run with it.
Fairly often, this results in the eventual, slow realization that the name doesn't work. For example:
- Philip Morris, the cigarette manufacturer, changed their brand name to distance themselves from tobacco and is now Altria.
- Kentucky Fried Chicken ditched the lengthy official name and went with the slick everyone-used-it-anyway KFC.
- Lucky and GoldStar, a plastics company and electronics manufacturer, decided to rebrand into a slicker name for a western audience and became LG.
So, sometimes it could be a chance to distance yourself from a name with a bad reputation. Sometimes it's a rebranding to something snappier or more unique. Sometimes your business has changed enough that the old name no longer applies. In the world of web businesses, too, you might find cases where people have started a brand under something like an Exact Match Domain and, now that the company is successful, are moving to something branded instead.
More commonly, many businesses are switching to (or from) a subdomain, so their name and the primary domain aren't changing at all. Some business owners may be tired of the CMS platform they're on. It may even be the case that you bought a premium domain, like how GetDropbox.com became Dropbox.com.
Regardless of the reason, sometimes you want to change your brand name, which means changing the blog URL. This process is more complicated than it sounds, depending on how you're doing it.
30 Second Summary
You can change your business or blog name for many reasons - from rebranding to moving away from a bad reputation. When you switch domains, you have to carefully handle the move to keep your SEO value. You'll need to choose between three main options to redirect your old site to the new one: using plugins (if you're on WordPress), adding .htaccess code for wildcard redirects, or setting up manual redirects with cPanel. Make sure you tell Google about the change with Search Console and keep your old domain active so redirects keep working.
Determining the Content Management System
The first thing you need to do is figure out whether or not you will be changing from one CMS to another. CMS is something like Shopify, Squarespace, or WordPress, and changing from one to another involves a lot of hassle.
Part of the issue is that changing from one CMS to another might change your associated URL.
- If your site is a Squarespace or Shopify site and you want to switch to a self-hosted site like WordPress, you may need to migrate everything manually. Shopify has apps that may accomplish this, and Squarespace will need a URL Map for each new link. These are a little trickier since they are hosted in the cloud, and you don't have FTP access.
- If you're going from a WordPress site on one URL to a WordPress site on another, this is a much easier process. Some plugins even let you clone the entire site to the new website without ever leaving your WordPress dashboards.
There are innumerable guides around the web written for migrating from one CMS to another. Sometimes it's supported with automatic API-fueled migration tools, and sometimes it's a matter of "time to export and import everything and rebuild it from scratch manually."
The difference comes down to which CMSs you're using, so figure out what change you're making and find yourself a guide.
Here are a few guides to start with:
The SEO Concerns with Changing Domains
The biggest concern with changing your domain name is simply that your domain name is the unique identifier for your site. Everything is tied to it. Most importantly, Google search value, link juice, SEO weight, and associated accounts are connected to that domain name.
You know that you're changing the name, but the business is the same. Your customers know that you're rebranding, and the new name is the old business. Google, however, doesn't know that until you tell them in Google Search Console and implement redirects.
As far as Google is concerned, every URL is a unique identifier for the content that resolves behind that URL. A different URL is a separate page. If two URLs have the same information, duplicate content can get one of them penalized. If you move your content from one URL to another, the new one is exactly that; it's a brand new URL. It doesn't have SEO value because it's new, even if the content is the same as the old URL.
Now, there is a way to preserve at least some of that SEO value. You can implement redirects. Redirects happen whenever a user lands on one URL and is directed to another to load. It happens all the time, all over the web, and it happens so quickly that most users don't even notice it.
When you redirect – using the right kind of redirect – an old URL to a new one, some (but not all) of the SEO value of that page transfers over. It's the one correct way you can tell Google that there's continuity between the two sites and that it should preserve some of the value of the old site for the new site.
It's also how a lot of mechanical web-based sources of value transfer over. You've built up backlinks over the years at your old URL, but those links don't change just because your URL changes. They either break, or your redirects transfer users who click on them to your new URL.
Redirecting is also helpful to the Google bots, which record link networks and use that information to determine SEO based on backlink profiles. It's also beneficial to users, as they don't want to be directed to an old or broken site if a newer updated site exists.
So, it would be best if you implemented redirects to preserve your SEO.
How do you do it?
Relevant Redirects
A redirect is a bit of code on your web server that says, "actually, you're looking for X." So, someone might try to visit www.oldsite.com and will be redirected to www.newsite.com. Or, more specifically, they'll try www.oldsite.com/blog/blog-post-name and be redirected to www.newsite.com/blog/blog-post-name instead.
Now, you can do this manually with 301 redirects. These redirects are simple directives, precisely like described above. Page A on "oldsite" becomes Page A on "newsite."
Simple, right?
Well, it's simple, right up until you realize that a website can have thousands, if not tens of thousands, of individual pages. Every product page, every blog post, every system page, it all needs to be redirected. That's a very long list of redirects to implement.
Isn't there a way to do this automatically? Thankfully, yes, there are several ways.
Option 1: Plugins
Depending on your CMS setup, you might be able to use a plugin to automatically redirect all of your pages, so long as you keep your site structure the same and change the domain. For example, if "oldsite" is on WordPress and "newsite" is the same WordPress setup, just using a different domain name, you can use a plugin like Redirection to implement those redirects automatically with the "Relocate Site" feature.
It's simple, it's easy, and it works; if and only if you're using WordPress, going from one URL to another with the same site structure, and you're not doing anything fancy with the migration.
Here's a helpful guide on how to switch from one WordPress URL to another:
Option 2: .htaccess Code
Another option is to use a .htaccess file on your hosting, which is the option that is most common with self-hosted bloggers who aren't using WordPress. The .htaccess file is a system file used by several server architectures, most notably Apache, and can manage redirects for anyone who visits your website.
The critical thing to note about the .htaccess method is that it's relatively straightforward to use for a wildcard redirect.
We create blog content that converts - not just for ourselves, but for our clients, too.
We pick blog topics like hedge funds pick stocks. Then, we create articles that are 10x better to earn the top spot.
Content marketing has two ingredients - content and marketing. We've earned our black belts in both.
What is a wildcard redirect? It's a single redirect script that catches anything coming to your old domain and sends it to the exact location on your new website. You can also use a wildcard redirect for a few other configurations, such as catching any traffic that would go to a 404 page and sending it to a specific landing page.
By default, a .htaccess wildcard redirect will keep the same URL structure and rewrite the domain. Exactly like the hypothetical example above. The script is simple, too:
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR] RewriteCond %{HTTP_HOST} ^www.olddomain.com$ RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L] </IfModule>
Just add this code to your .htaccess file, replace the URLs with your old and new domains, and after some testing, you're more or less good to go.
The trouble is, this falls apart if you're changing your site structure too. For example, if you're migrating between pages with completely different URLs like these two examples, you won't be able to implement a simple wildcard redirect:
www.blog.oldname.com/blog-post-name
www.newname.com/blog/blog-post-name
The reason is that it will simply change "oldname" to "newname" and won't reconfigure from the subdomain to the subfolder - or whatever other structure you're trying to change.
Option 3: Manual Redirects
Your main option, if your site structure is changing – or if you're going to lose access to the original CMS, like if you're migrating from WordPress to Shopify – is to use cPanel redirects.
Using cPanel to manage redirects is time-consuming and tedious but can be done if you have a few simple tools to help you. Since you need to add a redirect for each URL manually, you need to create a file with all of your old and new URLs for the redirects.
Developing a Redirect List
If you're forced to create a complete list of redirects – that is, you're not able to use a wildcard redirect because your site structure changes – you will need to create two lists. The first is the list of all pages on your old site. The second is the list of all pages on your new website, in the same order. So:
- oldname.com/page1.htm
- oldname.com/page2.htm
- oldname.com/page3.htm
And
- newname.com/blog/page1.htm
- newname.com/blog/page2.htm
- newname.com/blog/page3.htm
To use a simple example with a relatively minor redirect but a tangible change in the site structure.
This strategy seems simple enough, but it adds up quickly when you have thousands of pages on your site. How can you do it?
First, create your complete list of pages. There are a ton of different ways to do this. I like using Screaming Frog to create a page list, though it might be overkill for this simple task or if you already have an XML sitemap. You might also be able to use your sitemap with a bit of data processing to remove any extraneous information and leave you with a clean list of URLs.
Second, run your list through a tool like TextMechanic. This tool is a find-and-replace engine that supports regular expressions, wildcards, and other quirks, making it easier for you to convert the first list into the second in bulk.
With your old list and new list in hand, merge them into redirect directives.
You can use .htaccess for this too. For example, this line:
Redirect 301 /page1.htm https://www.newname.com/blog/page1.htm
This .htaccess code works to redirect across different site structures as well. It's not a wildcard redirect, so you have to have entries for every page on your site, but that's why you have the lists.
You can, essentially, use TextMechanic to do a find-replace from the original URL into the full redirect string.
Additional Tips for Successful Redirects
There's a lot to consider with a URL migration. You have a lot to think about, whether you're doing a simple migration from a subdomain to a subfolder or a complex migration changing your URL structure completely.
First, make sure you verify your redirects in the Google Search Console. Telling Google that you're migrating is better than letting them find out on their own time and speeds up the indexation process and confirmation, which means your SEO will be minimally disturbed.
Of course, your SEO will be disturbed temporarily. You will experience some ups and downs, and chances are you'll lose some percentage of your rankings and traffic in the move. You can build back up from it, but you need to be prepared for that initial hit.
You should also make sure to test your redirects to make sure they're working. You can do spot-checks manually by visiting old URLs and seeing if you land on new ones. You can also use Screaming Frog to scan your list of old URLs and see if they correctly redirect to their new home. I prefer that method because it's more thorough, and it helps facilitate complicated migrations with our client's blogs all the time. You don't want to redirect 98% of your pages accidentally; using software is very helpful in spotting pages that you missed so that 100% of your pages resolve to the right place.
I also recommend setting up a 404 monitor on your new domain. These tools will notify you when anyone lands on a missing page, and you can check to see if they were trying to come from an old URL and the redirect didn't send them to the right place or if there's another issue.
Some people forget about their old website that they redirected years ago and let it expire or stop paying for their hosting, which means that the .htaccess file is no longer in place. I recommend leaving your old website redirects active for the life of your new website, which means you're stuck with it for a while. If those redirects disappear, your rankings and site authority may take a hit as well.
Have you ever had to do a site-wide, structural URL redirect? Have you used plugins, or .htaccess, or cPanel, or another method I didn't mention? I only covered the basics here, but if you have a unique migration problem that you're stuck with, please let me know! I'd be happy to help, and your situation may help others. Please drop me a line in the comments below, and I'll do my best to help.
April 23, 2022
Thank you! This will be my first time doing this and I think I'll go for using a plugin.
April 29, 2022
Thanks, Benji!
Some hosts make this easier, too, and have migration plugins of their own.
For example, WP Engine has a migration plugin that makes things easy.
November 20, 2023
Thanks Sharing these tips its very useful
November 20, 2023
No problem thanks for stopping by!
October 08, 2024
Did you run into any problems while you were changing your blog's URL? I had some issues with redirects myself and yeah I had to dig through a lot of guides to figure out some services. It really surprised me how important it is to keep the old domain active so you don't lose traffic. I'm curious if you have any tips to make this whole thing a bit smoother!
October 09, 2024
Hey Georgia!
I know what you mean; I ran into some problems with redirects as well. It's really important to keep the old domain active for the traffic that you're relying on!
I would suggest taking a look at Shopify or HubSpot. They have some nice tools for handling site migrations. Make sure to update all your backlinks to make the transition much smoother.
Feel free to let me know if you ever need any more advice! 😊
October 26, 2024
Changing a blog's CMS seems pretty difficult! I actually moved my site from WordPress over to Shopify and then things with redirects turned into a big mess. What strategy would you say works best for a really big blog? Thanks!
November 15, 2024
Hey Tereasa!
Switching over to a new CMS system can definitely be difficult! I would recommend coming up with a complete plan for redirects especially for bigger blogs. Clients who use Shopify often find that redirects can be a bit tricky but they are usually manageable with the right support. Have you thought about talking to an expert to make the process simpler?
I'm happy to help more if you need it! 😊