I just finished migrating my blog from GoDaddy's Wordpress hosting to Hashnode. Now I just want to write an article to see how this feels, and I thought I should describe my migration experience while it's still fresh. Just to give you a bit of context, I'm using Wordpress since 2015 when I created my domain on GoDaddy. Usually I posted articles related to .NET development, and recently I started publishing articles about home automation with Home Assistant, so you'll find the same topics in here as well. The decision to abandon Wordpress was years in the making, so let me get right to the point!
Why I left Wordpress
- I'm not a web developer. I just want to write articles without having to worry about the design or about the responsiveness of the blog. As much as I admire people who create their own blog/website from scratch and make it unique, I don't want to focus on this because I really don't care about making it unique by design. I'd rather make it unique by its content. With Wordpress, I was always fiddling with the theme, trying to make it faster and better looking, then I would go on to try another, and so on.
- Wordpress issues. Although I enjoy how customizable Wordpress is with its plugins, they also cause issues, especially if you don't update them for a long time. Lately, my Gutenberg editor wasn't working anymore, but after I updated all my plugins it started working again. A year ago, the editor wasn't working again due to a plugin which I had to remove, although it worked perfectly until then.
- Speed. I'm also writing on another "work" blog called workdiary.dev made with Gatsby.js, and I also noticed how fast it is compared with Wordpress. I tried optimizing my images, installing plugins for cache, configuring Cloudflare caching, etc. Still, the results were not impressive. Hashnode on the other hand seems to be a lot faster and I hope it stays this way.
I recently read this post where Catalin talked about his move from Wordpress to Hashnode and I decided to look into it. I was looking for alternatives before reading his blog post, but Hashnode just checked everything on my list:
- Custom domain
- UX (I enjoy the simplicity of the design, and I'm not looking to change it)
- Markdown instead of custom editors
- Better reach for my posts (I got a comment on one of my posts in the first 10 minutes since I imported them from WordPress)
- No Web development knowledge necessary
Importing WordPress posts in Hashnode
I recommend you read this blog post. In there, you'll find a link to a Github repo that has some Node.js scripts which will help you import your WordPress posts to Hashnode.
Unfortunately, my drafts weren't imported, I don't know why. Maybe there is something wrong with the script or maybe Hashnode made some changes since the script was created. I'll try again after I publish this blog post and I'll update with my findings. UPDATE: Turns out that drafts aren't published. Maybe Hashnode's GraphQL API doesn't support draft posts yet, I'm not sure. If this is not a major inconvenience, then you can still use those scripts to upload your published posts.
Other than this, you'll have to update the date for every post. You can either do this in the json file that has your posts before the import, or in the Hashnode dasbhoard after you import them.
Custom domain setup
If you're coming from GoDaddy, then you won't be able to set a CNAME, so you'll have to change the A record to the IP that Hashnode provides in the setup. In my case, GoDaddy already had the A record with the value "Parked", and I just replaced "Parked" with the Hashnode IP. Once you do this, you'll have to wait 10-20 minutes and the DNS propagation should be done.
I only have a few hours since I moved my blog and so far I don't regret this decision. I'm aware that it won't be that customizable as WordPress is, but this is not an issue. I've managed to setup my details and some integrations like Google Analytics, so now I can just focus on writing blog posts. Also, if you have any tips for a Hashnode beginner like me, feel free to leave a comment!