Tutorial: How to Move a Medium.com Blog to Your Domain
Medium is a tricky platform to use. I've written before about the issues that arise when using it as your business blog (and why I don't think it's a good idea). Still, one thing I didn't mention is how Medium loves to make changes that tangibly and dramatically affect your blog, and you have no say over them. You adapt, or you leave.
One reasonably significant change is the option to use your own domain name with a Medium publication. When you set up a blog on Medium, your URL is chosen based on your username or publication name. So you end up writing as one of these options:
As you probably know, it's typically better and more valuable to have your own website over having to use someone else's. The SEO value accrued by either of the two there goes directly to Medium, and while you benefit from Medium having a more significant presence, a lot of your work goes to other people. And it's not like you can skim off some of that SEO value for your site, either – your links are going to be nofollowed.
Lastly, you have far less control over the Medium platform than your own blog, where you have absolute control over every element and piece of code. This makes monetization more challenging, and you don't have any control over the look and feel of your site. Once you own your site, you'll have a much easier time with things like email marketing and growing your email list.
Bloggers worked around this problem by using a custom domain, turning Medium into a CMS. You can do the same thing with, for example, WordPress.com; a username.wordpress.com domain can have a custom URL assigned to it but still use WordPress on the back end, with a simpler and more streamlined version of just using WordPress.org.
Medium, however, isn't in it to be a CMS. They offered custom domains, removed them, and only just brought them back last year.
They even make a big deal because it used to cost a business $75 to add a custom domain, but now it's "free for Medium members."
Pop quiz: how much does it cost to have a custom domain on Medium now?
Medium memberships cost $5 per month. And, sure, you get perks with it, like unlimited access to content, but if you're caring about Medium as a publisher and not a reader, pretty much all of those perks aren't valuable to you.
Sure, if you're wildly successful on Medium, you can make enough money to subsidize the domain; it's not that high a bar. But it's still convoluted. Plus, there's the sketchy nature of promoting a "free" feature that is anything but - not to mention some of the skeevy decisions, like not paying writers from some countries while happily charging them memberships.
I'll cut off the rant here. Suffice it to say that Medium isn't the best blogging option. It's okay for syndication and as a personal blog, but I wouldn't recommend it as a small business blog.
There are plenty of reasons to decide to start a blog on Medium and why you now decide you want to move to a platform you can control. What can you do rather than relying on using a custom domain through Medium?
You have two main options that we'll discuss in this step by step guide; one for users who use a custom domain and one for users who have a free Medium.com blog, depending on whether or not you use Medium with a custom domain. The process and SEO implications of each of these are both different.
Let's get started with the tutorial!
Option 1: You Have a Custom Domain Name
First, let's say you fell for the trap and you have a Medium membership and use a custom domain. You have www.example.com and all of your posts, while hosted by Medium, have their URLs on your domain.
To move to your domain, well, you're done! You're already on your domain.
I know that's not really what we're talking about here. The goal is to move away from Medium and all of its issues with layout, SEO, CMS management, analytics, and all the rest. If you already have a custom domain, you're lucky because you can keep most of your SEO value by putting in a bit of elbow grease.
1. First up, you need to buy web hosting. It doesn't matter where; pick a good, reputable host. Hostinger, Ionos, Bluehost, Dreamhost, Hostgator; there are dozens of them.
If you want to make things easier, you can buy WordPress.com hosting. It's relatively common and comes with a WordPress site already set up for you to start customizing. On the other hand, if you want more control over your hosting and do everything manually, you can get regular hosting and upload your copy of WordPress from WordPress.org (or whatever your blogging platform of choice is).
WordPress hosting will be suitable if you're running your blog and don't plan to write any advanced code or create custom web apps.
2. Next, you'll want to download a complete sitemap of your Medium blog. When you're on a custom domain with Medium.com, you'll want to visit your domain and add /feed to the end:
On free versions of Medium.com, where you're still hosted on Medium, the feed URL location is a bit different:
If it works, you'll see a mass of URLs smashed together. Unfortunately, that's all you get. Medium sitemaps don't have last updated dates or information other than URLs for the publication.
It's okay, though. All you need is the URL listing because you will copy everything else.
3. Your next step is to download all of your posts and assets. You have two options here:
- Download everything all at once, then upload it all at once to your new hosting.
- Transfer posts one at a time.
Transferring posts one at a time is probably slower, depending on how you do it, but it gives you a better chance to add custom touches to the layout and design of posts. The Medium CMS is pretty limited compared to WordPress, so if you want to add custom features, designs, or content to your posts as you transfer them, this is the time to do it.
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.
4. Now, you'll want to use those posts you downloaded and start uploading them to your new website. The key is to note down which medium URL points to which new URL. You'll be making a complete list of redirects using your custom domain, which I'll go over here shortly. It helps to keep a spreadsheet with a column for all of the URLs on Medium, a column for all of your new, less terrible URLs, and a status for the post (copied, not copied, images added, etc.).
What do I mean by "less terrible URLs"? Well, have you ever taken a look at Medium URLs? They tend to look like this:
It starts fine with a subdomain/domain/URL, and the URL is human-readable. Then there's a bunch of garbage at the end, then the date (at the end? Why?), and then whatever the "monthly#.#" bit means. I assume it's all relevant on Medium's backend, but it isn't significant for your business blog and should be stripped to make cleaner, more readable URLs. You'll want to start with the above and end up with something like this::
Ah, that's much cleaner.
Even though the domain is the same, the new URL counts as a different page because of how Google and other search engines tie everything to the URL.
5. Finally, for your redirects, if you're changing the URLs, you'll want to use a 301 redirect. I have a guide on how to use those, with plugins, the .htaccess file, or manually, over here. You can try the .htaccess method, but they all work, so pick the easiest one with the number of URLs you need to redirect.
If you decide to use WordPress, I'm a big fan of the plugin Redirection, which would work just fine - and you wouldn't have to toy around with your sensitive .htaccess file and risk breaking something.
Option 2: You Don't Have a Custom Domain Name
If you've never used a custom domain through Medium.com, you will have a more challenging time with this process.
You don't have the option to implement a redirect from the Medium.com URLs to your new domain's URLs. They don't give you that kind of control.
Start the same way as above. Buy hosting (and your new domain name, if you need one) and set up WordPress, or another CMS of your choice, on your site. Then, do the same copy-and-transfer of your Medium posts over to WordPress.
The most common method I've seen is to edit your Medium.com posts. About 25% of the way into the article (more or less, pick an appropriate point for each post), you just cut it off. Delete anything after that point in the Medium copy, and replace it with a link that says "Continue reading this post on www.newdomain.com" and link to the new post version on your custom domain.
Unfortunately, there's no way to do this redirect in a way that saves SEO value. By removing the bulk of the Medium post and linking to the new domain post, you at least avoid duplicate content penalties, and you can get some referral traffic, but that's about it.
It's bad enough that I've seen some people buy a Medium membership to set up a custom domain, let that settle for about a year, and then go back to Option 1 to implement SEO redirects instead.
I think it depends on how much value your Medium blog already has. If you get a few dozen readers and relatively little use out of the blog, there's not much value to save, so it's not a big deal if you aren't maximizing the SEO value during the migration. Besides, simply moving to your custom domain has benefits far outweigh any temporary traffic loss. On the other hand, if your blog has been running for years and has built up a solid following, it's probably better to save what value you can.
A Time-Saving Tool
One part of this process that I glossed over a bit is content transfer. It's incredibly tedious to copy all of the text and images, re-apply formatting, make sure everything looks good in WordPress, and do that with hundreds or thousands of posts. That's a massive project.
Luckily, there are people out there with the urge to code up just about anything, and some focus on WordPress plugins. Specifically, WPBeginner – a company with a vested interest in getting people to migrate away from non-WordPress CMSs and to WordPress – has created this Medium tool with export functionality:
You use this tool to export your Medium.com data, which will give you a Zip file of everything you've published. After you type in your Medium URL with your username, and type in your name and email address. After clicking next, it will ask you for your Medium export file.
To grab your export file, sign into your Medium account and then follow these steps:
- Click your profile picture, and then settings.
- Next, scroll to the "Download your information" tab.
- Then, click "Download .zip" and then click "Export".
- Lastly, check your email, and after a few minutes your export file will reach your email inbox.
Once you've uploaded your export file and clicked "Export My Medium Website", the tool will start churning through your Medium articles and provide you with your posts on the next page.
That, on its own, isn't that useful. However, the converter will reformat the data into a format WordPress can use. You then use the WordPress import tool to import the converted file, which will bulk create the posts. That is very useful, and it can cut back on the amount of time it takes to set up and optimize your articles on your new blog.
You'll still need to go through and do things like assigning the right authors, smooth out formatting, and make sure everything looks good. But, it can save you a ton of effort. The tool even has a video guide on using it, and this article will give you a text rundown.
Overall, it's not that difficult to move content away from Medium and WordPress. It's just tricky if you want to save all of your SEO value. Trust me, though; the move is well worth it. If you're having withdrawals from Medium.com, or you'd still like to benefit from it somehow, you can regularly syndicate your content or publish short teaser articles linked to your new website.
Owning your website is a much better position to be in rather than being limited by the Medium platform. You'll be glad you made the switch.