Blog Migration Guide: How to Move Your Blog to a New URL

James Parsons by James Parsons Updated Nov 3rd, 2023 13 min read

0:00 Listen to audio podcast

Moving Blogs

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.

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.

CMS Redirect Pattern

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

URL Mappings in Squarespace

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.

301 Redirect

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.

Large Sitemap Example

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.

Relocate Site in Redirection

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.

Z
Z
Z
Is your blog earning you business? If not, let's fix that.

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.

If you run an internet-based business and are looking to scale, schedule a call to speak with our founder:

The critical thing to note about the .htaccess method is that it's relatively straightforward to use for a wildcard redirect.

Htaccess File

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.

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.

Screaming Frog Example

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.

List of URLs

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.

Prefix and Suffix

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.

Redirect Domain on Search Console

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.

Google takes a little bit of time to settle your rankings, and they have to take precautions to make sure that users aren't landing on broken pages. That makes users angry, and those users will be mad at Google for serving them those missing pages. This situation is what they are trying to avoid by dropping your rankings temporarily.

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.

Screaming Frog Checking Results

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.

404 Monitor

Also, remember that your old domain needs to remain active for your redirects to work. If the website is no longer registered, or if you stop paying for your hosting, then it won't resolve anything whether you have redirects implemented or not.

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.

Written by James Parsons

James Parsons is the founder and CEO of Content Powered, a premier content marketing agency that leverages nearly two decades of his experience in content marketing to drive business growth. Renowned for founding and scaling multi-million dollar eCommerce businesses through strategic content marketing, James has become a trusted voice in the industry, sharing his insights in Search Engine Watch, Search Engine Journal, Forbes, Entrepreneur, Inc, and other leading publications. His background encompasses key roles across various agencies, contributing to the content strategies of major brands like eBay and Expedia. James's expertise spans SEO, conversion rate optimization, and effective content strategies, making him a pivotal figure in the industry.