Mike Holloway

A site dedicated to thoughts and ideas.

Home

How to start a blog

At the start of every year I set myself a few goals to aim for in the coming months. In 2020, one of those goals was to build a website.

A keyboard, mouse, pad of paper and pen

What is the reason for having a website?

As a software engineer by trade and having almost 20 years experience developing sites professionally for other people, I thought it was probably about time I created an outlet for my own thoughts.

Don't get me wrong, I've tried before but nothing really stuck.

Then social media came along - Friends Reunited, MySpace, Twitter, Facebook, YouTube, Flickr, Instagram, Twitch and everything in between. I didn't really see a point to having a blog anymore but time passed and everything became fragmented.

After becoming a little disillusioned with how these platforms (mis)use personal data I decided to retreat from most of them altogether, which left me without a consistent space to share my creative thoughts.

I needed a platform that I could control, somewhere to speak freely without worrying about side affects.

How much does a website cost?

There's lots of ways to get a website, they range in price and quality.

The high-level (minimal) costs of a website are:

  • A domain name (a website address so people can find your site)
  • A host (somewhere to store the files online)
  • Design & development of the website

There are other costs associated to professional websites such as content & marketing, which covers things like social media and audience building, but for a blog like mine you might not need this to start.

You can buy domain names from many different registrars (middlemen sales companies of registry's such as Verisign and Nominet). There are lots of extensions (the bit that comes at the end, i.e. .com / .co.uk / etc.) and it's a personal choice about the one you choose. If I could offer any guidance, I would always suggest opting for a top-level domain and in particular a .com because this is the defacto extension that people think of (earlier browsers used to be programmed to use it when one wasn't provided too).

As the Internet is 24/7 365 days a year, you need a place to store your files that make up the website. Like domain registrars, there's plenty of choice for hosting providers. Quite often you can buy both products through the same provider, i.e. Namecheap, but you don't have to. They're independent products.

If you have the inclination to develop the website yourself, all of the costs above can be mitigated completetly to some extent.

How to get a "free" website

Website builders such as WordPress or the ones provided by hosting companies usually have a free tier where they provide you with a personalised domain name and just enough space to run a basic site.

One of the major limitations with these sites is when you out grow the initial requirements. You either end up having to pay for a premium plan that costs a lot more or worse, your site would have been constructed in such a way that they can't be ported to another supplier.

My recommended approach for getting as close to "free" as possible is to set up a GitHub account and upload your files to there. You can then choose one of the following paths:

  1. GitHub actually has a hosting feature built in called GitHub Pages. It uses a framework called Jekyll, which is powered by a technology called Ruby. If you follow the instructions on their site, you can have a fully functioning site with zero hosting cost. GitHub will provide you with a github.io address or you can choose to use a domain that you have bought elsewhere.

  2. Like the previous point, you use GitHub as your main datastore and use a provider like Netlify to deploy your code. Also like GitHub, Netlify provide you with a personalised netlify.com domain name or you're free to bring your own, but what's better (in my opinion) about this approach is that you're not limited to the technology you use.

    This website uses a framework called Gatsby, which is powered by a technology called JavaScript. It's the most popular technology at the time of writing according to the Stack Overflow Dev Survey with 67.8% respondants preferring it vs. 8.4% for Ruby, in example.

    This may not be an immediately important factor for something like a blog, but if you're building a website for a business you should be considering lifetime support for the product and how easy it is to get new developers working on it.

    Netlify also has other excellent features such as lambda functions, analytics, data collection, authentication and a CMS for managing the content in your site.

Either way, I would recommend buying a domain name and registering it with the preferred host. The benefit of this is that you will have a credible link that is recognisable to your customers and unique to you, all for a minimal annual cost.

So with all the essential parts of the website taken care of, the only thing left is content. This is the re-start of my blogging journey, what are you going to create?

Thanks for reading.