Where to publish your blog?
Blaugust is a month-long event that takes place in August each year that focused on blogging and other serialized content. The goal is to stoke the fires of creativity and allow bloggers and other content creators to mingle in a shared community while pushing each other to post more regularly.
A decision every blogger needs to make in the beginning (and for many us, over and over through the years) is where to publish your blog. Options are almost limitless and what guides your decision are your technical skills, budget, blog's topic/theme and personal opinions.
Easy option for developer blogs: Dev.to
If you're planning to write software development content and want an easy and fast option, Dev.to has a nice platform and community. I used to write there for a while before migrating completely my own blog here on my site.
They offer a free blog platform where you write your blog posts in Markdown format (it's a very popular format that is mostly regular text with some special codes for formatting and links etc).
A nice benefit is that if your blog posts become popular, there's a large and engaging audience on the platform. A minor downside is that all the blogs look the same and are in the dev.to domain.
Since it takes a minute or two to create an account and get your ready to start writing, I recommend it as the first step.
Easy option for everyone: Hosted CMS (Ghost, WordPress) or Squarespace
If you want a bit more control over the site (design, other pages than just blog, making it your site), you can look into hosted or self-hosted content management systems (CMS) like Ghost or WordPress.
These systems give you an opportunity to build your own website, using pre-designed themes and run your blog without writing any code with a nice editor experience. Both Ghost and WordPress can be used as hosted options (you sign up on their site and run the blog there) or self-hosted (you download the software, install it on your own server and take care of everything) and since they are open source solutions, you can do whatever you want to expand them if you have the skills (or there's someone who already built a plugin or you can pay someone to customize stuff).
I've had at least half a dozen blogs on these platforms. Right now, I use paid, hosted Ghost solution to run Syntax Error newsletter and I have a headless Ghost (more of this below) for this very blog. I love their mission as a non-profit open source solution and the editor experience is top notch.
Some of the hosted CMS services offer free tiers and some require some money to get started.
There's also an option at Squarespace which might be the easiest option to get started and they have gorgeus templates out of the box. It costs a bit monthly but if you spend more than 5 minutes on Youtube, you can probably find a content creator sponsored by them and can grab some discounts or free trials.
Fediverse: WriteFreely or Micro.blog
Mastodon has brought Fediverse to everyone's attention recently and there's also Fediverse blogging platforms like WriteFreely and Micro.blog where you can blog while being connected to the whole ecosystem.
As these blogs are connected within the Fediverse, it's easy for others to start following you through their accounts in other Fediverse services like Mastodon.
You can either join an existing instance or host your own if you feel adventurous.
Static site generators & your own website
If you're a developer, a great option is to build your website and blog from scratch. You get exactly what you want (or can build) and gain full control over every bit of it. With hosting solutions like Netlify or Vercel, deploying a website is as easy as dragging the folder into their website or hooking it up to your GitHub repository.
There are a lot of options for choosing the static site generator. Popular options are Eleventy (my absolute favorite), Hugo, Jekyll, Gatsby, Pelican, Astro and plenty more. Each of them have their own characteristics and specialities but you can start by choosing one and seeing where it leads you to.
Writing in Markdown
One option with static site generators is to write your blog posts in Markdown and the static site generator creates the HTML blog with blog index and individual pages based on those Markdown files. What it means in practice is that all you need is a code editor and you're good to go. Each site generator also has a ton of community-created starter kits and themes so you don't need to start from scratch.
Markdown is a great format also because it allows you to change underlying static site generator to another without having to do a ton of manual migration.
This blog originally started with Markdown files.
Writing with headless CMS
While I started with Markdown, I noticed at some point that my creativity and desire to write had dropped a lot. I blamed the tooling: writing prose in code editor just didn't feel inspiring and great. Then I found Ghost and have been using it as a headless CMS ever since.
What's a headless CMS then? It means I write my content (these blog posts) on a CMS and then fetch those posts into my project. Most people have set it up to happen at build time, I have a bit more overly complex setup.
This lets me combine the flexibility and customizability of static sites with the writing and editing experience of a CMS.
Don't overthink it
In practice, if need be, you can migrate your blog posts from one platform to another so the most important part is to start. This blog currently has blog posts that have been written in WordPress, in Medium, with Markdown and with Ghost CMS and they all now live happily in one place.
The hardest blog post to write is the second one. First one often comes with the excitement of starting a blog, maybe telling the audience that 1) you've started a blog and what you plan to write about and 2) what tech stack you're using. And then the second post never happens.
So focus on writing, experiment with platforms and choose one that feels comfortable to write in. Everything else can be figured out later. Later this week, I'm writing a blog post about how tooling matters until it doesn't but to get started, don't overthink it.
A great thing with all the options above is that setting up an RSS feed is not rocket science. RSS feeds can be incredibly effective in helping your audience find you when the second and third ... and the fiftieth blog post is published. I think every blog should have one.
I have previously written about the reasons why you should write a blog and how for me, it's a great refactoring tool for software projects.
Sign up for Syntax Error, a monthly newsletter that helps developers turn a stressful debugging situation into a joyful exploration.