“Self-hosting” covers a wide range. At one end, you rent a Linux server and run everything yourself. At the other, you keep your writing on your own machine and hand a folder of HTML to a free static host. Both count, because the thing that matters is the same: your words are in a format you control, and you can move them without asking anyone’s permission.

This is a survey of the real options in 2026, with the trade-offs stated plainly. There are two decisions to make: what software produces the blog, and where the result is served from.

Part one: the software

A static site

A static blog is pre-built HTML files. Nothing runs when a visitor arrives; the server just hands over a file.

You can produce those files two ways. The traditional route is a static site generator: Hugo, Jekyll, Eleventy and Astro are the best known. You write posts as Markdown files, run a build command, and get a folder of HTML. The alternative is an app that does the writing and building for you, which avoids the terminal entirely. There’s a longer look at that in a static site generator without the command line.

Ghost, self-hosted

Ghost is an open-source publishing platform with a polished editor and built-in memberships and email newsletters. You can pay for Ghost(Pro), the official hosting, which starts at $18 a month billed yearly at the time of writing, or run it yourself for free.

Self-hosting it is a proper server job. Ghost’s official Ubuntu guide asks for Ubuntu 22.04, 24.04 or 26.04, MySQL 8, nginx, a supported Node.js version and at least 1 GB of RAM, installed through the Ghost-CLI tool. There’s also a newer Docker Compose method.

WordPress, self-hosted

WordPress needs no introduction. The self-hosted version from wordpress.org is free software; you supply a server with PHP and a database. At the time of writing, WordPress recommends PHP 8.3 or newer and MySQL 8.0 or MariaDB 10.11 or newer.

Part two: where it’s served from

Ghost and WordPress need a server that runs code, so a VPS or managed hosting is your only option. A static site can go almost anywhere.

Your own VPS

A virtual server from a provider such as Hetzner, DigitalOcean or Linode. At the time of writing, Hetzner’s cheapest cloud server is €5.49 a month excluding VAT in Germany and Finland. You install a web server, point your domain at it, and upload files over SFTP. The steps are in how to host a static blog on your own server.

This is the most independent option. Nobody’s terms of service apply except your provider’s, and moving is a matter of copying a folder. It’s also the one that makes you responsible for operating-system updates.

Object storage

S3-compatible storage (Amazon S3, Cloudflare R2, Backblaze B2 and others) can serve a static site directly from a bucket. Cloudflare R2’s free tier, at the time of writing, includes 10 GB of storage a month and charges nothing for egress. That’s more than a personal blog will ever use.

One catch worth knowing: Amazon S3’s static website endpoints don’t support HTTPS. AWS’s documentation points you to CloudFront or Amplify Hosting in front of the bucket, which adds a layer of setup.

Free static hosts

Three platforms will host a static site for nothing, with HTTPS and a global CDN. Their free tiers differ in ways that matter.

Free tier at the time of writingWatch out for
GitHub Pages1 GB published site, soft limit of 100 GB bandwidth a monthFree accounts must publish from a public repository; not for sites that are primarily commercial
Cloudflare Pages500 builds a month, up to 20,000 files per siteCloudflare now also offers static hosting through Workers, with a migration guide from Pages
Netlify300 credits a month on a hard limitBandwidth costs 20 credits per GB and each production deploy 15; the paid Personal plan is $9 a month

The Netlify figures deserve a closer look. Under its credit-based pricing, 300 credits covers roughly 15 GB of bandwidth if you spent them on nothing else, and every production deploy draws from the same pot. For a small blog that’s usually fine. But if a post takes off, the free plan doesn’t bill you; it pauses your projects, all of them on the account, until the next billing cycle or until you upgrade. That’s worth knowing before you rely on it.

The honest trade-off with all three: they’re convenient, fast and free, but you’re on someone else’s platform and subject to their limits and policy changes. Because your site is plain files, though, leaving is easy. That’s the difference between hosting on a platform and publishing on one.

So which should you pick

If you want the least work and the most security, use a static site. Host it on GitHub Pages or Cloudflare Pages if free matters most, or on a small VPS if you want full independence.

If you need paid memberships and newsletters, self-hosted Ghost is the strongest option you can own, as long as you accept the server upkeep. Ghost(Pro) is a fair compromise if you don’t.

If you need a specific plugin or a site that’s really an application, WordPress is still the practical choice. Budget time for updates.

For most personal blogs, the answer is a static site. The writing is the point; everything else should be quiet.

Where Selfish fits

Selfish is a native app for iPhone, iPad and Mac, on the App Store for a one-time £3.99 (an introductory price, rising to £9.99 in December), that writes and builds a static blog and publishes it to your choice of SFTP server, S3-compatible storage, Netlify, Cloudflare Pages or GitHub Pages. Your content stays on your device, and the published site carries no Selfish code. The publishing docs explain each route.