Blog migration and self-hosting retrospective

Avid readers of my blog (which I like to pretend are out there somewhere) will notice that the theme has changed. This is because I migrated my blog from self-hosted WordPress to the hosted service and the theme was not available. The process left me with some thoughts about WordPress and self-hosting.


I started this blog in 2009, mostly to practice my writing. At the time I did the “coolest” solution — or at least, coolest to a naive CS student: I decided to get a server and host my own WordPress installation.

I suppose it was good experience, but in the end it’s ended up being a huge pain and that’s why I switched.

Things that made it not worth it

It’s 2022 and I don’t often see people advocate for self-hosting personal services, but every now and then you see it on Hacker News. In fact one appeared today, which prompted me to get this blog post out a few days early.

I’m a bit ambivalent about the morality of owning your own data or not, since to me it’s largely an empirical cost-benefit analysis. On the “cost” side, there have been some significant challenges in hosting my own blog that I did not anticipate. The challenges are all in the category of “we invented division-of-labor for a reason”.

The first was combating attackers: I get a constant stream of attempts to login to the WordPress admin console. I’m not that worried about them succeeding because I use a strong unique password and my blog is set to auto-update. But the volume of requests is so large that it significantly degrades the performance of the blog, so it needs to be dealt with. I ended up writing a small script that analyzes the apache logs and sets up iptables rules, which was a good excuse to learn about iptables, but is not the kind of thing that people typically think about when they think about moving off of GMail or Medium. The attackers use new IPs every couple months and I had to make sure to update the rules before publishing a new post.

The second was staying up to date with security updates. I think I started the old server on Ubuntu 8.04, and periodically upgraded it over the years. Having to upgrade your OS sucks. Especially when you set up your machine before the infrastructure-as-code movement so you have no idea what configurations are custom or not.

The last was performance. The blog was hosted on a $5/month Linode vps, which is their cheapest offering. I never expected it to be amazing, but to my dismay the server was only able to serve about 1-2 requests per second. This is after following more than one tuning guide and installing a caching plugin. I honestly don’t know what the problem is and it’s not worth becoming knowledgeable about WordPress just to tweak a single blog. I suppose I could hire someone to do it, but that money would pay for many years of someone else hosting it entirely.

Overall I’m very happy these are someone else’s problems now.

The migration

Overall the migration was simple but left a sour taste in my mouth from the aggressive monetization.

I guessed that there would be a way to migrate from a self-hosted WordPress instance to — that seems like an obvious way for them to get more recurring revenue. And there is a way.

Unfortunately doing a full migration requires purchasing a Business plan, which runs $25 a month. This just feels odd and unnecessary to me. In the end I decided that I was fine with a partial migration.

Part of what could not be migrated was the theme, which is why the blog now has a new theme. So I suppose I immediately ran into limits from not controlling the blog anymore.

I decided to opt for the lowest paid plan, the $4/month plan. I was mostly attracted to the promise that it removed ads from my site.

I was very annoyed to learn that to fully remove ads, one has to go all the way up to the Business ($25/month) plan again. Honestly the ad they leave on the personal plan doesn’t bother me that much, but I made my purchase based on the statement that there wouldn’t be ads and this feels shady.

I suppose this is exactly what people dislike about hosted services: even though I pay them, I don’t ultimately control whether there are ads on my blog now.

Final thoughts

I decided to migrate to since I figured it would be the easiest way to avoid the issues I was having with self-hosting. I assume that it’s possible to migrate from WordPress to Medium or other sites, but I just assumed that’d be somewhat harder. I also like the dorky badge of honor of having a blog from several generations ago of blogging software.

But ultimately I wouldn’t recommend WordPress. It’s not that I know another solution is better, but I just have the feeling now that WordPress is focusing on monetizing a captive audience, which presumably means it’s less competitive.

But most of all I’d recommend not self-hosting. I will be very happy to turn the old server off and forget about the challenges I had with it.

But I’m also aware that there’s now a risk that I will have to write a retraction post for this one some time in the future.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: