The Blog’s New Clothes
It happened. I said goodbye to WordPress and Home.pl services. Good riddance.
Seriously, I’ve been working in IT for years, but sometimes I behave like it’s my first time on the internet. I set up my Devwhisperer.pl blog in July 2024 using Home.pl services. They lured me in with a low price for the domain (SSL included) and a neat hosting option. I paid — brace yourselves — 16.76 PLN for a year. Yes, PLN, not dollars or some imaginary internet currency. Screenshot from the invoice:

As part of the hosting package at Home.pl I used an option advertised as “for business”, with a mail server, MySQL and PostgreSQL databases, and a web server where I installed WordPress. “Installed” might be too strong a word — it was classic ClickOps. I used the WordPress plugin, created an account, and connected the Devwhisperer domain in the Home.pl admin panel. That meant I didn’t have to mess around with configuring the CMS or the database at all. In fact, in this not particularly sophisticated process my role was limited to choosing a blog template and making some cosmetic changes to the site’s styling. Everything went smoothly, easily, and pleasantly — and, as it turned out a year later, expensively as hell, but I wasn’t thinking about that at the time.
Imagine my surprise when, after nearly a year of friendly cooperation, I received an email from Home.pl offering to renew the services for another year — but at a much higher price.
In total:
- 207.87 PLN for SSL renewal
- 612.54 PLN for “business” hosting
- 207.87 PLN for renewing the Devwhisperer.pl domain



That’s over 1k PLN for the same services! I expected a price increase, but not a fucking 6000% increase, if my math is correct.
Conclusion: somebody here must be joking. Sure, I jumped on the Home.pl offer like a starving man on stale crackers, but when I now browse through the eight (!!) documents and regulations they sent me on day one, I can’t see a single mention that after a year Home.pl wants to increase the subscription price more than sixtyfold. Weak.
With the enthusiasm of a convert, I started looking for alternative hosting options that were more reasonably priced than Home.pl.
GitHub Pages
My first thought was to use static websites on GitHub Pages based on the static site generator they support — Jekyll. The advantages were:
- free hosting
- a large community
The downside was that I would have to link the blog to my GitHub profile and publish the site in a public repository. For freemium profiles, that’s unfortunately a requirement imposed by GitHub.
I didn’t feel like digging into that, especially since my GitHub profile reveals my identity. I also didn’t want to create a new account just for the blog. So I put the GitHub Pages option aside, thinking I’d come back to it if I couldn’t find anything better.
Hosting on Google Cloud — not for the poor
I immediately crossed out the option of hosting the blog on Google Cloud. Why?
Google charges you for every little thing in their cloud. If you decide to use their services, you pay separately for things like:
- networking
- static IP address
- traffic
- computing
and so on.
Finding all these items in the billing dashboard is not trivial, and the 90-day trial with $300 to spend on Google Cloud disappears like a pleasant dream. In the end, after the 3-month grace period you pay through the nose — literally for everything.
I’ve been there, done that.
Until recently I was using a virtual machine on Google Cloud for one of my pet projects. I minimized computing costs by choosing a Spot VM instead of a standard machine, because for my purposes it was acceptable.
Spot VMs in Compute Engine have one advantage — they are cheaper than standard Google VMs. But they also have a major drawback: the machines can be shut down by the provider at any moment, which automatically disqualifies them as a potential web server. And standard machines on Google are not cheap.
I’m not hating on Google Cloud or other hyperscalers. They offer excellent solutions, very well documented, granular, and flexible. But for my modest needs it would simply be technological and financial overkill.
And the winner is…
I decided to host the blog with the Germans — on Hetzner Cloud.
The provider’s interface is simple as a hammer, and setting up a server takes just a moment. A VM with 2 vCPUs, 4 GB RAM, 40 GB disk space and 20 TB of outgoing traffic costs €4.05 per month, which at the current exchange rate is just under 20 PLN.
For comparison: a similar VM on Google, running 24/7, would cost over $40 per month — and that doesn’t even include traffic or a static IP address. Here’s what it looks like in the Google calculator. Screenshot for posterity:

A slightly weaker but standard machine with 1 vCPU would cost $24 — still four times more than Hetzner. Like this:

So: Hetzner Cloud, and on it:
- Nginx as the web server
- Jekyll as the static site generator, because I decided I didn’t want to deal with databases or other server-side tricks. If someone wants to roast me, they can do it on my Facebook and LinkedIn pages. They can also send me a message there, because I didn’t set up any mail server on Hetzner Cloud.
- An SSL certificate from Let’s Encrypt — for free. It’s valid for 90 days, but I installed Certbot on Nginx as well, which renews it automatically and redirects traffic from HTTP to HTTPS.
The service Home.pl wanted to charge me over 200 PLN a year for I activated completely free with these two commands:
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d domainname.com -d www.domainname.com
Dr Jekyll and Mr Ruby
Jekyll is written in Ruby, so I had to install that as well. I had no previous experience with this language, but honestly you only need a minimal amount of programming knowledge to use Jekyll. Content is created in very simple markdown files (.md), from which Jekyll generates HTML and styles based on a selected template. For my blog I chose the Hacker Blog theme. I made some cosmetic changes, mainly to the styling, which turned out to be very easy.
Pro tip: I cloned my template from GitHub, but
bundle exec jekyll buildkept throwing an error. It turned out I was missing a few gems (packages), which I added manually to the Gemfile. After that things started working — the pages began to build.
Once the builds started working, it turned out the default Jekyll template was overwriting some pages, like the About section. The solution was simply to delete the corresponding files from the default template.
A nice feature of Jekyll is that you can run the static site locally and preview it on localhost. I keep my project on WSL, and I use Visual Studio Code integrated with it to edit the template and create content. For me that’s an optimal setup, but of course — every dev has their own habits. When I publish a new post, I copy it to the Hetzner cloud using scp, and from there it gets served to you.
I don’t know if this solution will work for me long term, but that’s not really the point. Playing around with the cloud and Jekyll was fun, and it didn’t cost me much time or money. For comparison — this is what my blog looked like on WordPress:

Does it look better now? That’s a matter of taste.
Domain
There was a bit of fun here too. Choosing the domain operator was mostly random. I went with SEOHost because I read good opinions about them in the comments on a social media site. I used the option for just the domain, without any hosting.
The domain transfer went smoothly. Home.pl actually did their job well here — generating the Authinfo code required to transfer the domain was very easy and almost instantaneous.
The real ride started with DNS configuration at both providers. After mapping the A record of my domain to the IP address of the server on Hetzner Cloud, the blog still didn’t work. Unfortunately, the problem turned out to be located in the component between the keyboard and the chair. To be fair, it was the first time I had ever gone through a domain transfer procedure. With my current knowledge I would handle it better.
Here are the mistakes I made during DNS configuration.
-
To finalize the transfer I had to detach the domain in the Home.pl panel, which I initially didn’t do. I have no idea why I thought that the SEOHost message saying the transfer was successful meant the process was complete. As a result I lost an entire day thinking SEOHost would eventually start propagating the devwhisperer.pl domain. I kept running dig and waiting — nothing.
-
After detaching the domain from Home.pl something changed — visiting devwhisperer.pl now showed a beautiful 404 page. A good sign, however, was that the 404 was generated by SEOHost. The blog still wasn’t accessible though.
The problem was trivial — the NS (Name Server) record in the SEOHost panel was set incorrectly. In DNS it determines which servers are responsible for translating a domain name into an IP address. After the transfer, the NS records still pointed to Home.pl servers instead of the ones at SEOHost.
The documentation from my current provider confused me a bit. On this page it says to point the NS records to ns1.seohost.pl and ns2.seohost.pl. Apparently that works, but only for the hosting option — which I don’t use, since my hosting is on the German cloud. For a “bare domain” at SEOHost the correct servers are dns1.microhost.pl and dns2.microhost.pl. After that small change everything started working :)
A bit more cosmetics
The last thing I did was fix the post names. Jekyll enforces a naming convention for .md post files consisting of a date in the format YYYY-MM-DD and the name under which the page will be available as a URL. For example, the post about Grace Hopper’s lecture I migrated as the file:
2024-09-15-Grace-Hopper-Wykład-Dla-NSA-Część-1.md.
It generated the following URL:
https://devwhisperer.pl/Grace-Hopper-Wykład-Dla-NSA-Część-1/.
It looked terrible and of course didn’t work, because most web servers are case-sensitive — not to mention Polish characters. Links I had shared over the past year on Facebook and LinkedIn also stopped working because of this.
The solution was to rename the files so that the generated URLs matched the WordPress ones, i.e.
www.devwhisperer.pl/post-title-without-polish-characters. Like this:

I’ll probably still tweak the styling of the site, but I’m happy with the final result. Building it didn’t take much time, and working with Jekyll markdown files is trivial and gives a lot of flexibility that I might explore further. Financially it’s peanuts compared to the Home.pl offer, and the migration itself was an interesting learning process. For me it’s a win-win, so I recommend it :)