Moving a Self-Hosted WordPress Site to

Avatar of Chris Coyier
Chris Coyier on

I have a habit of getting some hosting when I need a new WordPress site. That is, a self-installed, self-hosted site. That’s served me well over the years. I like my control. But along with that control comes a certain level of extra responsibility that sometimes just isn’t worth it.

That’s the case for me now with my little blog Email is Good.

Right from the get-go, I knew I wanted Email is Good to be as absolutely simple as could be. At the moment, I can’t prioritize a fancy custom design or really any specialized functionality at all. All I want is a simple, clean blog in which to publish blog posts. And as powerful and flexible as WordPress is, it’s still extra good at that use case.

Email is Good uses an untouched, stock copy of the TwentySixteen theme.

I’d like to move it over to, so that I don’t have to deal with hosting, upgrades, backups, security… it’ll just host my simple blog and I can unburden myself of that little spoonful of technical debt.

Their docs for this are there, but a little on the light side, so I’ll document my process here.

Set up the side first

There is a nice clean URL for kicking off a new site:

There isn’t really a one-click just suck everything over in one shot system. Instead, you set up the site on, deal with the domain, and import the content. It might feel a little weird, but this first step is just kinda re-setting up the basics:

Deal with the domain

By “domain”, I mean the URL that you may already own. I own “” which is what I want to continue to use.

During setup you can buy a domain (or get a free one! They’ll give you a or .blog subdomain), but since I’m moving a site here, I’ll select the option that I already own the domain.

My domain name is already registered on I could just leave the domain name there and map the domain over to I think that’s generally a smart thing to do, but I wanted to try what seems to be the default which is transferring it over to

Part of the beauty of transferring the domain is there is no settings to screw up, as it will be handled by

I went through a process of basically re-registering the domain with

In order to actually transfer the domain, I had to go to GoDaddy and “unlock” the domain as well as request a transfer authorization code.

If you’re transferring a domain, it can take a little while.

The note on the page above tells me it might take a full week to complete. It took me one day less. I got the success email on February 18th instead of 19th.

I did have to “flip the switch”, as the email suggests, to use the WordPress nameservers.

But before I did, I made sure the new site had all the old content!

Exporting Content & Media

There is an export tool baked right into WordPress. Find it under Tools.

You’ll get an .xml file as output. Mine was called:


Importing Content & Media

On the side, there is a big Import option right in the sidebar. In those options, there is a WordPress option to choose.

Drag and drop the .xml file there.

Mine was pretty quick, but I imagine it could take a while. You’ll even get an email when it’s done.

All my content and media made the journey just fine!

Clean Up

I had to do a little cleanup here and there to get the site exactly as it was. My site is so basic, it was hardly any work, but it’s worth knowing you might have to mop up a little. For example, the site already had a contact page, so I had to nuke the one that was imported (which was using a contact form plugin I didn’t need any more anyway) and make sure it was all functional.

Another thing that didn’t make the trip to the new site was the widgets. I had a sidebar with some widgets that I had to re-build, but that was no big deal. I literally copy-pasted the content from them from the old site before I flipped the switch.

So now! I’ve ditched a pile of technical debt. No more worrying about my SSL certifiate. No more having to manually follow up with any hosting company about downtime. Performance is largely in the hands of someone else.

I just have a simple site where I can write write write.


If it’s helpful for you to watch me talk all this out, I’ve put it on YouTube: