Feb 8, 2024

How to Write a Blog Post: Guidelines for my clients and the general public

As a web developer I create blogs for many of my clients and constantly send out a list of guidelines to help them on their journey to successfully write blog posts. The guidelines consist of tips, advice, and criteria. In these guidelines I consolidated all of my learnings into a single referenceable source of information for myself, my clients, and the general public.

I sourced the tips, advice, and criteria from renowned sources such as the Google SEO team and my own expertise after 4 years of writing various blogs. I follow the same set of guidelines when I write my own blog posts.

Below I added a concise list of all of my guidelines with more in depth explanations further down the page:

The blog title: clear, concise, and descriptive

Want to know the best title to write so that your blog post receives the highest number of views? I’m sorry but the answer might provide little gratification… no perfect method exists. Countless people on the internet attempt to sell the perfect method to get to the top of Google with the most optimised title but in reality they just want to sell their online SEO sales pack. My tip here follows the advice actually provided by Google as seen on their official SEO website in a section called influence how your site looks in Google Search.

I also wrote a blog post about this for ecommerce product titles but the same technique applies for all types of website titles: Write descriptive, clear, and concise titles for your blog posts. It’s as simple as that. To further expand on this I wrote below my advice split into two clear sections, things to avoid and general tips to follow.

Avoid the Following:

  • No Keyword Stuffing: Never write excessive keywords in the title of your blog in an attempt to “rank higher”. Google will punish this type of blog title, flag it as spam, and potentially remove the page or entire website from Google.
  • No Emojis: Never use emojis or an excessive use of special symbols, they unnecessarily bloat a blog title and Google will most likely ignore them.
  • No CAPS LOCK: Never write the title of your blog in all UPPERCASE. Google will most likely ignore it as many people interpret it as yelling or attention seeking.
  • No Clickbait Titles: Never create a title in an attempt to deceive or mislead potential readers, instead write an authentic title that matches the content of the post.
  • No Pricing or Money: If you put pricing or monetary values in the title of the post Google will remove it as they do not update titles in real time.

General tips to follow:

  • Write First, Title Later: An old trick I learnt in highschool. Write the blog post first and at the very end create a clear and concise title. Focus on writing a blog post instead of stressing on the best title upfront, I promise the title will become clear at the end.
  • Never Set In Stone: Pick a title and move on, you can always update and change it in the future. Remember the word soft in software, things in the software world are changeable by design.
  • Descriptive, Clear, and Concise: Write what the blog post really discusses in the most clear and concise way.

Never write about topics or posts that you dislike

Do not write blog posts just for the sake of optimising or targeting SEO, getting views, gaining followers or anything else along those lines. Those are secondary objectives that happen to a blog when an author writes something that they enjoy. If someone puts those things as the primary objective I promise they will run out of steam and eventually dislike the writing experience.

I learnt this lesson at the start of my blog writing journey. I tried to pick some posts that I thought would get clicks and traffic to my website. A valid goal but one that leads to distaste and fatigue. I eventually found the posts difficult to write to the point that I lacked the desire to write another one.

Instead, I changed my mentality and focused on writing about posts that I found interesting and enjoyed to write. After the switch up I now finish posts at lightning speed and look forward to writing the next ones. Not only that, the traffic to my website increased dramatically and I received a multitude of enquiries that led to actual clients for my business. The amount of indirect sales made from the posts more than outweighs the “free” time I put into writing them. Definitely a fantastic and appreciated outcome but not the main objective.

One of my top favourite authors Nassim Taleb wrote that he never writes something by force or something that he lacks the desire to write. He claims that it offends his readers. Nassim is right, have you ever read something where you felt the author lacked the passion to write? I know I have.

Write what you want to write.

Never rely on automatic image optimisation, always crop and optimise images by hand

Many tools exist to automate the process of image optimisation such as Cloudinary, Imgix, ImageKit, Optimole, and many others. However, although useful for certain contexts they are overkill in many cases. Instead, I highly recommend to optimise an image as it guarantees a relatively small file size without the reliance on an automatic image optimisation service.

I follow the steps below for every image I create which allows me to take an image from a size of 15mb to 80kb. In other words, 188 times smaller than the unoptimised version without a noticeable reduction in the quality of the image.

Manual image optimisation provides several benefits:

  • The webpage loads faster for a reader of the blog.
  • Possibly improved Google rankings through faster page speeds.
  • Less long term bloat if you choose to migrate to another blog service provider in the future.

To perform manual image optimisation, follow the steps below:

  1. Select your desired image.
  2. Crop the image to a size of 1280px width and 720px height with a free cropping tool such as Canva or a native photo app built into your PC.
  3. Convert the cropped image into a webp file with use of the free website Tinify or another free tool found on Google, simply search “image to webp converter”.
  4. Rename the file with a concise and expressive name for example: dog-wearing-a-hat.webp. For more information I wrote another blog post on renaming your image file names.

It might seem laborious to perform image optimisations when so many automated tools exist today but I assure it will pay off in the long term as images will appear as intended, load fast for readers of the blog, and create a lower footprint over time.

Never, ever, ever use generative AI to write posts

A blog serves as a platform to write informative, reflective, interesting, and unique perspectives from individuals, organisations, and communities. I recommend to all my clients to never utilise generative AI such as ChatGPT, Bard, Grok or any others to generate blog posts. To use generative AI to write entire blog posts defeats the purpose of a blog as I discussed in a previous blog post.

Generative AI provides utility in many fields but writing blog posts is not one of them for several reasons:

In my professional opinion focus on human written blog posts on topics that interest the author. I recommend to all of my clients and any readers out there to never, ever, ever utilise generative AI to write blog posts. Some people argue its use for inspiration or drafting small sections of a blog post but it’s just not worth it. Write authentic human written blog posts.

Never use Heading 1, only Heading 2

Many CMS (content management system) and word processor applications give the ability to utilise a range of heading sizes usually in numeric descending order. For example,

  • Heading 1
  • Heading 2
  • Heading 3
  • Heading 4
  • Heading 5 

In my professional experience this confuses the blog author which leads to a misuse in heading choice. I highly recommend to all blog authors to avoid this issue through only using Heading 2 in the contents of the post.

I recommend only using Heading 2 for several reasons. Firstly, the CMS application automatically uses Heading 1 for the title of the blog post, therefore the selection of a second Heading 1 will risk to confuse the reader. Secondly, the use of Heading 3, Heading 4, and Heading 5 creates an overly and unnecessarily complex blog structure. Keep it simple and stick with Heading 2 only.

Prefer using headings over bolding

I notice many of my clients who write blog posts use bolding instead of headings. From a technical SEO perspective it provides much more clarity to Google to utilise headings instead of bolding. This is because if an author clearly marks something as a heading it helps Google understand the structure and different sections of the blog post.

In the CMS application used to publish a blog post when an author wants to use a heading they must use the button that says Heading or Tt instead of using the bolding B button. Usually CMS applications bold headings therefore it still achieves the intended effect of the author but with the added benefit of signalling the structural intent clearly to Google.

Never draft a blog post in the application where you publish it

I learnt this lesson the hard way.

I used to write my blog posts in a basic text file without spell check enabled. I said to myself “I’ve got a pretty good eye, I’ll pick up any mistakes”. Oh how time proved me a fool. Every post I wrote for the first few months contained countless spelling and grammatical errors. My “pretty good eye” turned out to be worse than the drunken sailor.

Many people publish blog posts in various CMS applications and websites such as WordPress, TinaCMS, Medium.com, blogger.com, and a slew of others. I highly recommend to evade this habit and instead use a proper industry grade word processor such as Microsoft Word, Google Docs, or LibreOffice.

As soon as I utilised a proper word processor I minimised the number of spelling and grammatical errors. Of course a few errors creep through but much less than the days without my trusty spell checker.

The utilisation of the word processor not only provides the benefit of an industrial grade spell check but also ensures an external backup of every written post and additionally helps the author focus on writing a post instead of wrangling with a CMS application.

Organise well from the start

I recommend that all of my clients organise their blog posts into folders. The folder should possess the name or topic of the post in lowercase with words separated with dashes instead of spaces. A draft folder should contain the following items:

  • Images used in the post, optimised and named properly as mentioned earlier.
  • A draft of the post in the desired word processor of the author.
  • Any other relevant resources used in the blog post.

For example, say I write a post about butterflies with the title: “How butterflies are born”

  • Step 1: I create a folder called “how-butterflies-are-born”
  • Step 2: Inside that folder put all my images, optimised and named, e.g. dog-in-the-yard.webp
  • Step 3: Inside the same folder I add a document in Google Docs where I write the post with the same name as the folder, e.g. “how-butterflies-are-born.gdoc”.

I recommend to organise blog posts in this manner for several reasons. Firstly, a backup always exists of the blog post. Secondly, it helps focus on the writing of the blog post instead of messing with the CMS application used by a blog. Thirdly, it ensures if an author wants to change the blog CMS platform one day they possess a portable copy ready to go.


In my professional opinion the guidelines I wrote help create a sustainable, enjoyable, and maintainable blog over the long term. I wrote these guidelines to consolidate my learnings and help my clients and other blog authors start their own blogs. I am sure over time they will discover their own guidelines which I hope they also share with others one day. Remember, they are not rules set in stone, hence why I called them guidelines. Just like Barbossa said in the Pirates of the Caribbean, for any movie buffs out there.