How to start a blog

Before I jump into this endless topic, let me start with a quick PSA: I could fill this post with probably dozen affiliate links—which is what the majority of people writing about these topics do—but I decided not to. Why? Because integrity matters. If you found any value in this post consider supporting this site directly. Thank you.


So, you decided you want to start a blog. Congratulations! I'm relatively new to this world considering I started writing on the web in 2017 but as a developer I think I can probably say a few things on the subject without sounding like a complete idiot. So let's do that.

Needless to say this post is going to be highly opinionated, but I'll try my best to explain the reasoning behind my opinions. Also, this is not going to be the classic quick how-to post that provides a solution. My goal is to explore the topic and then let you figure out which solution works best for your specific use case. All good? Cool, let's start.

The ingredients

No matter what solution you'll decide to adopt, every blog needs a few key ingredients. You'll need:

  1. a domain name
  2. some way to create the content
  3. some form of hosting to serve your content

In order to start a blog—or any site really—you don't need anything more than that. Now, if you're a developer or know anything about how the web works, you know that two of those three ingredients are MASSIVE topics and one could probably write books on the subject. I'm no book writer and—just as an FYI—we'll probably just barely skim the surface of this topic. If after reading this post you have questions and want to know more, you can either ask Google, ask me via email, or hop on my personal Slack and ask me there.

Hosted vs self hosted

Before we tackle the main ingredients we need to discuss the big topic of Hosted vs Self Hosted. In my opinion, this is the biggest distinction when it comes to setting up your blog. Again, the topic is way more nuanced than this but for the sake of brevity, the main difference between the two is this: with a hosted solution, you pay someone to take care of most—if not all—of the aspects of your blog for you and you just focus on your content, while with a self hosted solution you need to take care of most things yourself.

Now, before you start typing angry emails, I am aware that there's a lot of in-between solutions and the distinction is not that clear cut. This is just a very broad definition.

Which one should you chose is up for debate. I personally think it's useful to own your content so I'd say go with a self hosted solution. But I'm also aware that maintaining a website can be a complete pain in the ass and I see the appeal of a hosted solution where I can just pay someone to handle everything for me.

The following is a completely arbitrary list of hosted solutions to start a blog. This is by no means a complete list of what's available and I'm not paid by any of these companies to list their products. I also have not tried most of these so I don't even know if they are good or not.

These are just some of the platforms available out there and I tried to only list the ones that are blog focused/oriented. There's also a growing list of platforms that are designed to help you create a self hosted site—so not a blog specifically—that you can obviously use to create a blog. Again, I'm gonna list a bunch here and this list is by no means complete.

I personally wouldn't use a generic site builder to create a blog and if I had to pick a hosted solution I'd go with something like Ghost or Micro Blog that are very blog focused platforms.

The majority of these hosted services will offer you a "free domain" which is technically true. The free domain is, more often than not, a subdomain but they also offer you the possibility to use your own domain name. So let's talk about domain names.

Ingredient one: the domain name

The domain scene right now is in complete chaos. In recent years dozens of TLDs have been released and you can find the craziest name for your blog. Common wisdom tells us that you should pick a domain that is short, memorable, and easy to type. I know shit about SEO so I have no clue if Google (and Bing ahah) gives more importance to a .com domain compared to a .pizza domain. Do I personally care about your domain name? Absolutely not. Should you care about your domain name? You decide. I'm personally using my name as my domain because it's my personal site and I decided to use a .com because it's the one people are probably most familiar with.

As for how you go about buying a domain name that's pretty straightforward: you go to a domain registrar site, pick a domain name, register with email and pay with your credit card. As for most things on the web, you can buy a domain name from one of the dozen domain registrars out there. I'm gonna list a few down below but again, use whatever you like. Every single site listed here has both pros and cons and I'm not going into details because it's boring. Also keep in mind that not all sites sell all possible domains. So if you're after something specific you might have to browse a few sites.

I personally have all my domains on Hover (and one .dev on Google). Why? Because I appreciate the fact that they don't try to upsell me crap. They don't have the cheaper prices and they don't have ALL the TLDs. But their service works for me.

You won't spend a ton of time messing with your domain name but it's a pain in the ass to change down the line so my advice is think about a name you like first and then stick to it. Some more marketing oriented people will probably suggest you to pick a domain that contains keywords related to what you intend to blog about and also suggest to check if the name you want to use is available on the major social media platforms.

Is this good advice? Who knows? You should not listen to me in general but definitely don't listen to me when it comes to social media marketing because I hate that shit and I couldn't care less about it.

So, to recap: find a domain name you like, bonus point if it's short and easy to remember and type. With that secured it's time to create some content.

Ingredient two: writing apps and CMS

Now that you have a name for your blog it's time for you to start writing your content. I'd suggest you use a writing app for that rather then writing directly on the web. That's obviously just my suggestion but you can do what works for you. There's no right way.

Writing apps

I personally write everything in iA Writer. I've been a fan of the app since version one and I still love it (I'm writing this post on iA Writer). But the fact that I like it doesn't mean you should like it too. So I'm going list down here a few writing apps you can use to write your content. Maybe give these a try and see which one works best for you. You can also do a quick Google search for Best Writing App and I'm sure you'll find dozens more.

Again, these are just a few of the apps you can use. I don't think I'm in the position to recommend one over the other because I'm no professional writer and I don't know what I'm doing most of the time. I personally started using iA Writer because I liked the minimalist style but now I use it because I love the overall experience and I like to write in Markdown since that's how the content on my site is stored anyway. Different people will have different experiences and different needs so try a few and find out what works best for you.

Another few apps worth mentioning are:

These are not exactly writing tools but more like writing aid tools. Sure, you can write directly in the app but the main service they provide is help with your grammar, syntax, style, and a bunch of other things. In theory, they are supposed to help you become a better writer. Do they work? Maybe. Some say yes, some say no. Most of them have free plans or free versions so give those a try and see if they work for you.

OK, you have a name and you wrote some content on your fancy new editor app, it's time to push it online somehow and for that you'll probably need a CMS.

Content Management System or CMS

Unless you really want to go old school and manually create html pages or take the brutalist path and push .txt files online directly, you'll probably want to use a CMS to update your site and publish your content.

CMSs come in all shapes and sizes these days. Just have a look at this page. That said, not all CMSs are created equal and not all of them are designed with blogging in mind. More often than not a CMS is designed to be content agnostic which means you can create a blog with it but it's not designed specifically for that purpose. A very notable exception to this is WordPress. You have probably heard the name before. I used to use WordPress but I stopped a few years ago because I found better solutions. A quick online search will show you that thousands of people suggest WordPress as the CMS of choice to start your blog. Why? Because almost all hosting providers offer a 1 click install for WordPress these days and you can be up and running very quickly. There's also a billion themes to chose from and probably as many plugins to customise your site.

Now, to me, those are not pros. Those are cons. If you're just starting, the last thing you need is an infinite assortment of options to chose from. People usually think that more options is always a good thing but I find the opposite to be often true. The older I grow the more I appreciate highly opinionated software that is designed to do one thing and do it well. I personally run my site on Kirby which is a CMS you should probably avoid if this is your first experience with running a site. But again, that's a personal opinion. It's free to download and try so definitely give it a go if you're intrigued by it.

Selecting the "right" CMS is no easy feat. My advice is to use one that is easy to maintain and has a nice community around it. That's all I'm going to say on the subject.

Selecting a CMS is also not needed if you decided to use a hosted service because the service itself is the CMS. So if you decided to create your first blog with Ghost or with Micro Blog then that's your CMS.

A few words on static site generators

I'm going to briefly mention static site generators because I know some people use it for their blogs. I think site generators are great if you know what you're doing and are probably not the best choice for someone who's just getting started. A site generator is a bit of a hybrid solution. You're not manually creating html pages to be uploaded on your site but you're also not using a CMS. Instead, you're using a tool to generate the html for you using the content you wrote. They're kinda neat and very flexible and you can build awesome websites with them but they do require some tech skills to set them up, and unless this ain't your first rodeo you should probably avoid them.

All right, you have a domain name, you wrote some content, you decided which tool you're going use to publish your content online so it's finally time to tackle the third and final ingredient: hosting.

Ingredient three: the hosting

If you opted to use a hosted service they'll provide this for you so you don't have to worry about it. With this type of platform it's usually just a matter of configuring your domain to point to their service and they'll take care of the rest for you. Each service has its own quirks but I'm sure you'll be able to find answers to all your questions on the official help sites or support forums.

If instead you opted to host your own site, well welcome aboard. The topic of web hosting is huge and we'll try to avoid going too deeply into this rabbit hole. To keep things simple let's just say that the hosting you're going to use will depend on how much you want to spend and what type of CMS you decided to use for your blog.

As always, the answer to the question "which hosting is good for me?" is: it depends. For the sake of keeping this guide somewhat short and not too technical I'm going to assume you're not a developer with years of experience. Based on that assumption I'm going to exclude a few categories.

VPS and bare metal

This is the classic solution experienced developers love. Especially VPS since in the last few years this kind of solution has become very affordable and extremely powerful. I personally use a VPS to host my sites but it's not something I'd recommend to someone that is just getting started. Don't trust the people that will tell you that it is super easy to spin up a new droplet on Digital Ocean. It is easy, if you know what you're doing. As for bare metal, this is something 99.99999% of people reading this post will ever need so we can just ignore them.

DEV oriented platforms

I don't even know how to call these but they are very popular amongst developers at the moment. I'm talking about services like netlify.com, pages.github.com, vercel.com and probably countless others. These are all awesome platforms that can provide an incredible service and a very reasonable price (sometimes even for free). But are very, VERY developer oriented and probably not the best idea if you're just starting out.

Shared hosting

So what should you use then? A shared server is, more often than not, the best solution for someone who's just getting started with a blog. Shared servers means you're sharing space and resources on a server with other users and other websites. The specifics of the plan depends on the hosting provider. Some will provide you with more space, others will provide you with more bandwidth. Some will guarantee that on a single server there won't be more than a certain number of sites while others will try to cram as many sites as they can on a single machine.

The hosting world has hundreds or probably thousands of players so I am not going to even attempt to list some here. I stopped using shared hosting years ago so I honestly don't even know what's considered good out there right now. What I do know is that you should avoid hosting that is too cheap. 100 bucks a year is a reasonable place to start imo.

Also, make sure your hosting has everything you need to run your blog platform. Since shared hosting is the most common, the more mainstream CMSs are designed to run on them but that's not always the case and some require unusual configurations that are not always available on shared hosting.

A quick note on WordPress hosting

Since WordPress is very, very popular, you'll find plenty of hosting solutions that are specifically designed with WP in mind. They are usually more expensive than traditional shared hosting but they will offer a few services in return that could make your life a bit easier in the long run. Managed WP hosting usually come with automatic plugin updates, some extra security—the internet loves to hack WordPress sites—and a few other nifty features.

Putting everything together

Finally, it's time to put everything together. Grab your domain, set it up to point towards your server or your hosted service, install your CMS of choice, create your account, and post your first blog post. And you're done. Congratulations!

Now what? Well now it's a matter of letting people know your content is available to be read and that is a chapter I'm not going to write because I have no expertise in that area. I'm naive enough to think the only thing that matters is writing good content. But again, I'm no successful writer so don't listen to my advice on this.

Maybe a good idea is to let people know on social media that you have new content or maybe you can go find a subreddit related to what you plan to write about and sneakily promote your new blog there. Will that work? Who knows? It's 2020, absolutely everything can happen these days so give it a shot and see what happens.

My advice to you

This was quite the post and I am perfectly aware that after reading this you'll probably be more confused than before. And I'm also aware that in a guide on how to start a blog I wrote everything but how to actually start a blog. But that was by design. A blog—or any site really—is a very subjective creation and there's no right solution. I personally love my blog because it's very simple, very lightweight, and straight to the point. But it's also extremely rigid and changing anything requires me to open my code editor. Which is fine, I'm a developer after all. But that doesn't mean it's the right solution for you.

Having said that, if you just want my personal opinion on what's the best way to start a blog today here's my take: start with a relatively cheap, hosted solution, see if blogging is good for you and then plan your next move.

Investing money and time upfront is not always the best idea. You start blogging because you think it's cool, you buy a domain, set up a fancy hosting solution, buy a premium WordPress theme, buy a bunch of premium plugins because why not, spend a week setting everything up, and then you lose interest after a month when you have nothing to write about. All that work, time, and money is wasted.

So again, start simple. The simplest thing you can do is set up an account on Medium and start writing. I'm personally not a fan of Medium but it's good enough if you just want to experiment with public writing. if you're willing to invest just a small sum of money you can get a premium blog on Micro.blog for 5 USD/month. You can pair that to a domain name (usually 10 to 15 USD) and you're up and running with a blog in probably less than an hour and for less than 100 bucks.

Start there and see what happens. You never know what you need from a site until you actually run one. I have changed my site dozens of times and I'll probably change it a dozen more. Sites are living creatures and are always evolving so consider all this just the beginning of the journey.

In conclusion

This "guide" will probably raise more questions than it has answers. And that's OK. Creating and running a site can be overwhelming at first, but you'll find plenty of good folks who are willing to help you through the process. I'm certainly willing to help anyone who needs to be helped so if you have doubts, questions, or just want an opinion on something feel free to reach out via email and I'll see what I can do.

And again, I avoided adding affiliate links on purpose because I don't want to be a sellout and suggest you should use a software or a service I don't personally use just because they pay me money. That's something I personally hate. If you want to support the site you can do it on Donorbox or BuyMeACoffee.

And by the way, If you're curious about what tools I actually use to run my site here's a rundown: my site is hosted on Digital Ocean, domain is hosted by Hover.com. The servers are maintained using RunCloud, and my blog is powered by Kirby. Everything is written in iA Writer on a Mac. I also have an awesome human editor in my friend Carl, which makes my writing more tolerable. He also provides inspiration for my random blog posts, along with my friends Mike and Rob. And that's all I have for you today.