I have a habit of getting some hosting when I need a new WordPress site. That is, a self-installed, self-hosted WordPress.org 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.
I'd like to move it over to WordPress.com, 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 WordPress.com side first
There is a nice clean URL for kicking off a new WordPress.com site:
There isn't really a one-click just suck everything over in one shot system. Instead, you set up the site on WordPress.com, 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 "email-is-good.com" 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 wordpress.com 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 GoDaddy.com. I could just leave the domain name there and map the domain over to WordPress.com. 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 WordPress.com.
I went through a process of basically re-registering the domain with WordPress.com.
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 WordPress.com 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 WordPress.com 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!
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: