How to write a good article for a blog. A 7-step guide.

Learn to write accessible and SEO-optimized blog posts that people love. The ultimate guide to going viral.

How to write a good article for a blog. A 7-step guide.

I needed an actionable guide I could share with our blog authors to teach them how to write better. I haven't found one, so I created it myself. Its purpose is to give practical directions to creating content loved by people and search engines. This guide will help your article to go viral and take top positions in search results.

Usually, you come across tutorials like "How to write a good title?", "How to start writing articles?" etc. They will describe a general structure and give some title ideas but nothing more. Writing successful articles requires a holistic approach. I wish I could have made the guide smaller, but nothing good comes easy. Use these in-depth strategies and the results will impress you.

1. Structure your process

Having a structured process will streamline your writing and save you a lot of time. Moreover, it will boost your motivation if you struggle to keep going till the finish line. Follow the process you are comfortable with and be open to experiments. Take a look at my process, maybe you'll find something for yourself:

My writing process is structured
  1. Define goals and the target audience – determine what you want to achieve by posting your article. Is it to teach certain skills or to inform readers about something? Define your audience to better tailor the content to the readers' needs.
  2. Write the title and the outline – having the title from the very beginning will focus your attention on the right thing. You might rewrite the title later but the idea stays the same. Quickly draft key sections of the article by adding headings. This will give you a clear direction and the roadmap to move forward. 
  3. Write the introduction and the body text – again, it doesn't have to be perfect straight away. Lay out your thoughts, pick images and other media. Go with the flow and observe how the article is coming together.
  4. Write the conclusion – having the whole article done you will be able to conclude it. Tell readers what to do next. Point them to the previous article from your series or nudge them to take any other action you would prefer. 
  5. Revise, proofread, and preview – revise the whole article and finalise it. Reviewing the complete draft all at once is much easier than doing it in small bits. Is everything essential, should something be improved? Preview how it would look to the reader and fix your grammar.
  6. Optimise and make it accessible – now that your content is set in stone you are ready to reduce the size of your images. Give them meaningful names before the upload. Add alt text. It's the most boring step, but very rewarding and will make your article rank much higher.
  7. Get published and promote it – Too much content is posted every day, and your article will get lost if you don't promote it. Think about what social media platforms your target audience is using. For OSINT & InfoSec people, Facebook and Twitter are good platforms to focus on.
A defined process helps to avoid doing the same actions many times. For example, asset optimisation has to be done at the end, as your pictures might change later on.

Uncertainty makes the task appear much more complicated. Creating an outline for the article gives you a sense of definition. The writing process is less daunting with the roadmap. You can observe how the article is coming together and know exactly how much is left. Don't be a perfectionist as you can get stuck on one chapter for a while. Create a quick draft and edit it later. It is easier to make corrections than to figure out stuff from zero.

2. Write a compelling title

The title is the first thing readers pay attention to, they won't click if it's not compelling. Write a strong hook that will evoke an emotion and appeal to your audience's needs. For example, short titles like "OSINT tools for Dark Web" sound dry. What do people want when browsing the Dark Web? Probably anonymity and safety. Thus, titles like "5 Best OSINT tools for safely browsing the Dark Web" will receive much more engagement.

Sometimes, it’s not what you say but how you say it. Active voice feels more engaging than passive. For example, "techniques that are used by experts" should be rephrased to "techniques experts are using". For more title ideas read the research from Conductor and tips from Sproutsocial.

2.1 Title should evoke emotions

Evoke emotions and feelings with your title to capture people's attention. Boring titles are indifferent and emotional ones are impossible to ignore. Additionally, use adjectives (power words). There are many: simple, effortless, quick, essential, etc.

  • Curiosity: "5 simple investigative techniques you didn't know about"
  • Excitement: "The Future is Here: Explore these Cutting-Edge OSINT tools"
  • Urgency: "Critical Vulnerability Discovered: Protect Your Systems Now!"
  • Confidence: "Mastering Python: Advanced Tips to Help You Become a Developer Quickly"
  • Inspiration: "Innovators Changing the World: Inspiring Stories from Cybersecurity Leaders"
  • Anticipation: "What's Next in OSINT: Essential Trends to Watch in 2024"
  • Surprise: "8 Unexpected Uses of WayBackMachine. Number 4 will blow your mind"
  • Challenge: "Are You Ready to Tackle These Top Programming Challenges?"
Reader needs + emotion + power word = irresistible title

2.2 Don't do clickbaits

Deliver the promise from your title. For example, having the title "The most powerful search technique" shouldn't involve showing only a couple of simple Google Dorks. Make sure the techniques you are showing are scarce and not well known. Remember, once you break the promise readers are not going to come back. Why? Because the market is over-saturated with content creators, so safeguard your reputation.

2.3 Keep it concise

A recommended title length is 55 characters. If your title exceeds 60 characters, Google will truncate it with an ellipsis. Analyse every word, is everything necessary? If you remove something, will it still make sense?

2.4 Include target keywords

Determine what keywords your article should rank for. Align them with users' search intent. For example, the title "debunk disinformation" needs techniques and tips journalists can apply in their work. Don't just talk about its importance. Note, that "debunking" would signify a learning intent (ie. something practical). Understand your reader's intent.

Do keywords research and determine which ones have high volume and low competition. The success of this step depends on your skills and available software. You might be a seasoned marketer with MOZ subscription or starting to learn SEO concepts. For beginners I would recommend using Semrush, AnswerThePublic and Google Trends to search for popular keywords.

Looking for popular keywords in Google Trends
Looking for popular keywords in Google Trends

Keywords "write good articles" has the highest search volume (red bar on the left). Thus, I'm going with it for this blog post title. Note that keywords with high volume are very competitive. You have to create a good article to beat up those that are already ranking.

3. Add an excerpt

The excerpt compliments the title and further explains the topic of the article. It should be short and catchy. Don't go over 200 characters. The title below mentions investigative methods. The excerpt clarifies it teaches how to avoid biases and analyse collected data.

  • Title: Cutting-Edge Methods for Modern Investigations.
  • Excerpt: Discover how to avoid biases. Analyse collected data from public sources to unlock new insights.
You should add an excerpt in the post setting
You should add an excerpt in the post setting

4. Use proper images

The cover image helps to catch attention. Make it relevant and ensure the image is of good quality. Source high-quality stock photos from Unsplash and Pexels. Also try Midjourney, Leonardo AI, Ideogram, and Microsoft Copilot for image generation.

4.1 Use correct aspect ratio

Use 2:1 aspect ratio for cover images, meaning the width of the image has to be about twice as large than the height. Incorrect proportions result in the content being pushed down. The image takes over the viewport and it doesn't look good.

DON'T: 1000 x 1000 px, 500 x 1500 px

DO: 1200 x 600 px

For the article body you can be flexible about dimensions. Just be mindful how it affects your content.

4.2 No low-quality images

Don't use obvious and cliche stock images. Be more creative and try to explore different options. For example, when writing about hacking don't use stereotypical images. The "hacked" message and out of context masks don't look original.

Stereotypical and staged stock images should be avoided
Stereotypical and staged stock images should be avoided

Be careful about AI-generated images, as they are not perfect. Often AI messes up written texthands, and faces. Adjust your prompts to make hands and faces look natural.

An example of an image with poorly generated text by AI. Words are completely unreadable.
Don't use AI to generate images with text, as it currently does a poor job.

4.3 Give images meaningful names

Naming your images before uploading has a great SEO benefit. It allows the image to be indexed in search engines. Since you have already done title keyword research, reuse it for the cover image. It will save you time. Note that the name has to be meaningful, don't stuff keywords in.

DON'T: resized_image.jpeg

DO: Cutting-Edge Methods for Modern Investigations.jpeg

Images in the article body should have descriptive names as well. You can reuse alt text for naming them.

4.4 Images should be below 100KB

Make your images less than 100KB, unless there is a serious impact on quality. If you see a quality drop, increase the size by 50KB until you are satisfied. Here is an example of a badly compressed image, look at those stripes on the background.

This particular image has visible defects being sized below 100KB
This particular image has visible defects being sized below 100KB

Colour transition should be smooth. I increased the image size up to 200KB and got a noticeable difference:

194KB size image has much better colour transition
194KB size image has much better colour transition

Loading time impacts search engine rankings. Make sure your article is lightweight. It prevents unnecessary bandwidth consumption and streamlines loading speed.

Balance size / quality to serve good looking images and be mindful about page load speed

4.5 GIFs should be below 1MB

Optimise GIFs to ensure they load quickly. There are many free online services. Some of them are Ezgif and Tinypng (which also does image compression). A good tool to install locally is ImageOptim. I prefer to compress my GIFs in a Terminal using FFMPEG and I wrote a comprehensive tutorial on it.

Also, don't pack the page with GIFs, so everything is moving and distracts the reader. Learn to balance static text and animations.

4.6 Add "alt text"

An image’s alt text is used either when the image doesn’t load, or is read by screen readers. It acts as a replacement for your image under certain conditions. Thus, it must be highly descriptive.

Alt text button is available when you click on the image
Alt text button is available when you click on the image

4.7 Don't overuse images

Use images sparingly. Make sure they add value and support your body copy. Don't add random images all over the place, as done in the example below.

Irrelevant images take space and distract the reader
Irrelevant images take space and distract the reader

5. Use headings hierarchy

Headings define the organisation of content and help to navigate through the page. Usage of headings is the most important rule to make your article easily readable. Looking at the heading, people don't even need to read paragraph text, they already know what it is about. It also optimises the article for search engines. Most text editors have H1 and H2 options. They wrap the heading in the corresponding HTML tag to signify its importance. This marketing article has the correct structure. Google featured it straight after being published:

An example of correctly applied headings. Google feature snippet.
Articles with correct headings hierarchy appear at the top of search results
People don't read, they skim. Define your key points and distinguish them using headings.
Applying headings make monotone blocks of text more readable
Applying headings make monotone blocks of text more readable

5.1 Headings should be short and clear

A reader has to understand what the paragraph is about just by reading the heading. Your headings shouldn't exceed 50 characters. Many blogs, including ours, have a table of contents to give an outline of the page content. Readers use it to quickly jump to the relevant section and get a quick grasp of your article.

A table of contents is generated based on your heading structure. Always put the H2 heading before H3 to maintain the proper hierarchy. 

6. Format wisely

Formatting is the way you style and structure your paragraphs. It can make or break your article. Style it properly to reduce cognitive load and increase readability. Ask yourself: "What do I want to communicate to the reader and make them pay attention to?". Don't make monotone paragraphs, mix text with images and other media. Vary the sentence length to avoid sounding boring.

Snippet from "100 Ways to Improve Your Writing" by Gary Provost
Snippet from "100 Ways to Improve Your Writing" by Gary Provost

Use text styling sparingly, as applying too many styles makes the text difficult to read. The main reason people use bold text is to make it stand out and to call attention to it. Thus, if all copy on a page is bold it all has equal importance and nothing stands out.

The paragraph on the left breaks formatting rules.
The paragraph on the left breaks formatting rules.
Large areas of bold, italic, or underlined text are hard to read, especially for people with dyslexia.

6.1 Highlight what's important

Logically highlight words in the sentence. For example, the way words are highlighted in the first sentence is done without purpose. The second sentence highlights a logically connected group (tool names).

DON'T: Explore various resources such as Nmap, Metasploit, and Burp Suite. Get insights into their application in cybersecurity tasks.

DO: Explore various resources such as NmapMetasploit, and Burp Suite. Get insights into their application in cybersecurity tasks.

6.2 Use lists to structure short content

Don't put huge paragraphs into lists. Keep list items concise and ensure it answers the question people are likely to search for. It will help you to get search engine features like “people also ask” or featured snippets. At the beginning of "10 OSINT blogs you should follow" article I listed blogs as a quick summary. Google has featured it:

An example of the Google feature snippet

Hyperlinking the whole sentence is not an effective strategy to make users click. Determine the main call-to-action (only several key words) and hyperlink it.

DON'T: You can find more tools on my GitHub.

DO: You can find more tools on my GitHub.

There are two big reasons not to place the whole link: readability and accessibility. If you put large URLs it creates too much noise and the article becomes less readable. It is more difficult to scan through it to find what's important, as paragraphs are getting bulky.

Accessibility determines if disabled people can read your text. They might use assistive technology (like screen readers). Now imagine the screen reader is going to read through the link. The person will get bored and forget the tool name until the reader gets to the description.

DON'T: PurifyCSS ( returns only the used CSS. PurifyCSS does not modify the original CSS files.

DO: PurifyCSS - returns only the used CSS. PurifyCSS does not modify the original CSS files.

Use screen reader or read your article out laud to understand how other people will perceive it

It's not only the visually impaired who use screen readers. Many social media platforms (including Medium and Substack) have audio articles embedded. Text to speech features are getting popular and used in all sorts of circumstances.

Use HTTPS (Hypertext Transfer Protocol Secure) unless you have solid reasons not to do it. HTTPS ensures the connection between user's browser and the website is secure. Browsers will warn about a non-secure page. This can damage user experience and website authority.

6.6 HTML tables instead of images

Using HTML tables has many benefits. They are much faster to load than images. The text inside a table can be indexed by search engines and read by screen readers. So why negatively impact SEO and degrade accessibility when you can use HTML instead?

HTML table Table as an image
Performance 🚀 Fast to load 🐢 Much slower to load
Accessibility 🙂 Screen readers can read tables easily. People with eyesight problems can scale the font to their preference. ☹️ Other that "alt" text, assistive technology can't read what the image is about.
Indexability 📈 All content is accessible in plain HTML, and search engines properly index it. 📉 Other than "alt" text, search engines can't pick up keywords from the image.
Structured Data ⭐️ The data is structured, which can lead to feature snippets. 🤨 Search engine crawlers don't understand images.
Responsive Design 👍 HTML tables can be made responsive, adjusting to different screen sizes and devices. 👎 Images of tables do not adapt well to different screen sizes and can be hard to read on smaller devices.

6.7 Use inline code

Inline code is a type of Markdown styling. It is typically used to highlight technical terms and short code snippets. Insert markdown section and wrap the text in backticks (`) to achieve this effect.

Use inline code to style short code snippets
Use inline code to style short code snippets

DON'T: Use zip filename to compress .PDF, .TXT or any other file.

DO: Use zip filename to compress .PDF, .TXT or any other file.

6.8 Use code injection for styling

Beautify your code snippets with Prism, a free and open-source syntax highlighter. Not only your code will be easier to read, but the article will look more professional. Open article settings and add core CSS files into post header injection:

<link href="" rel="stylesheet" />

Add the following code into post footer injection:

<script src=""></script>
<script src=""></script>

Now when all the necessary files are loaded you are ready to add your code snippets. Use + to add markdown or type /markdown on the new line to access it even quicker. Insert the markdown section and wrap your code into three backticks ```. At the beginning you can specify the language by adding its name, like ```javascript. Done. Your code looks beautiful now.

6.9 Use quotes properly

Don't use quotes for headings, lists or anything else excerpt for key messages. Whatever is being put inside the quote will appear more prominent than the body text.

An example of misused quotes

Image above has misused quotes. Any styling, including quotes generates HTML. It affects how screen readers and search engines perceive your content. Screen readers will do weird pauses. Search engines might not get what is really important. Secondly, the way you apply styles forms a visual rhythm. The rhythm helps readers' eyes to follow your article. Misusing styles breaks it.

7. Make it engaging

Write what you are passionate about and readers will feel it. You can be an expert in a particular topic, but it's no good if you don't enjoy writing about it. You won't have the motivation to publish the best article out there. A passionate person (even with worse skills than yours) will have your article for dinner. The passionate person will deeply research the topic and validate discoveries, all from angles you haven't thought were possible. Because that someone is ready to go an extra mile and you'll settle for "good enough".

The best articles come from experts who love what they do. Passion + skills makes your writing process seamless and very rewarding.

Engage your readers. Ask questions, make them think, use analogies, add a bit of humour or other positive emotions. When possible, tell the story and immerse readers in it. Don't leave your readers indifferent.

7.1 Understand your audience

Understand your audience before you write a single word. Why would people read your article? Empathise with their problems, let them know you understand. People always want easy and practical solutions. Can you deliver? Even if the solution is not easy - make it look easier than others do.

Our brains demand a lot of energy and we save it by choosing simpler things. Did someone make a tutorial with dozens of images? Pack it in a GIF. Did someone use a hundred word to describe a technique? Visualise it in one image. Be simpler and you'll be preferable.

7.2 Give people value

Ask yourself: "What is the one thing reader can learn by reading my piece?", "Is there a problem a potential reader is trying to solve and how can I assist in solving it?". You can publish research, a guide, or an opinion. Feel free to write what you want, as long as you can give useful and practical advice.

  • Theory – theoretical articles, like "What is SOCMINT?" or "How Intelligence process is changing in 2024" are interesting to read. Especially if they provide valid points. However, don't write too much theory, as readers prefer practical content.
  • Tools – articles about tools have a short-term lifecycle, but are well-received by the audience. Think of them as a short popularity boost, as they don't work in the long-term. New tools are coming out and old tools get deprecated. Therefore, you are left with an outdated article that has broken links.
  • Techniques – they have more value and include tools, explaining how to use them to achieve certain goals. Sharing practical knowledge works better in the long-term. Often people can use the same techniques with alternative tools, even if the tools you wrote about are no longer working.
  • Mindset and intelligence process – these are the hardest and you have to be an expert to confidently write on the topic. These articles will stay relevant for a long time. Once they are indexed by search engines - you have got a jackpot. People will keep coming to read your article and you don't have to worry about it getting outdated. At least not as quickly as articles about tools.

7.3 Write an engaging introduction

You have captured attention with your compelling title, now don't loose it. Complement it with a good introduction. Think how you can intrigue the reader. Maybe mention the most interesting part of your content. Remember, less is more. The introduction has to be short.

7.4 Write an informative body text

The article body has to be informative, that's where you teach the reader something new. Think how best to lay out the information and make your content digestible. Mix text with images and various embeds. Rich content will make people want to read more. Make it easily scannable. Can readers scroll through and pick the main points? No? Revise. Rewrite.

7.5 Write impactful conclusion

Leave a good impression on the readers with your conclusion. Compliment them on finishing the article and intrigue them about what's coming next. Don't introduce new information in the conclusion, only summarise key insights. Dropping relevant links might be good as well.

7.6 Do better than your competitors

Your competitors are every article that ranks for similar keywords. Find articles on a same topic, analyse the ones that are ranking at the top and make your article better. Provide more insights, cover things your competitors didn't mention. Your competition is already ranking high, to beat them you have to make an extra effort, but it's worth it. You have already spent some time writing, so why not go an extra mile to make sure it really pays off?

Once I decided to create an OSINT guide and made sure it would be the most complete out there. It took me a while to finish, but now it's the most popular OSINT article on Medium. It ranks well in search engines and drives a lot of traffic. Now I leverage this guide to embed in-depth tutorials on each topic separately. That is a clever strategy to drive traffic to other articles.

7.7 Write from your own experience

People are less likely to believe you, unless you are talking from your own experience. Provide solid examples to back up your words. As an expert, you might not have to do it that much, but for someone without strong authority it is a must. Show how you have used the technique and describe the experience you had with a tool. Give credible references where you have got that information from.

7.8 Don't sound salesy

It doesn't matter how cool the product is or how much self-promotion you put into the article. People won't believe it. Think from your personal experience. What's your natural reaction when someone tries to convince you? You put your guard up.

If you ask for something: first provide valuable information or teach a scarce skill. Then readers will be tuned in for your request and be ready to give back.

Describe the value of your product and share an expert advice first. And only then it is ok to put a promotional message at the end of your article. When readers get something useful in exchange at the beginning - they will reach out to you. They will be ready to check what you offer after you convince them you are good enough, not before.

7.9 Write simple and concise

Simple language uses words that your audience is likely to understand. Simple language has simple structure. It avoids long sentences and jargon. It is written in short paragraphs. Readers don't like the fluff.

DON'T: In today's digitally interconnected world, security updates play a crucial role in maintaining the integrity, confidentiality, and availability of information systems.

DO: Security updates are crucial in maintaining the integrity and confidentiality of information systems.

You article might be read by non-native speakers or beginners in this field. It might be read by neurodivergent people. Are you sure ADHD people can finish your piece without getting bored and distracted? Even people with high concentration sometimes have trouble reading, especially when they are tired or in a busy environment. Think how people in different environments and cognitive states perceive your article.

It's hard to explain the complex topic. Explaining it in plain language is even harder. Do it! You'll get amazing insights and grow your skills.

Recently I have tried Hemingway app and it was a game changer for me! The ability to measure the complexity of language and get suggestions improved my writing. Don't think it is about dumbing down your content. It is simplifying it, which still keeps it intelligent but much easier to read.

A snippet from the Hemingway app. It shows how I improved the readability.
A snippet from the Hemingway app. It shows how I improved the readability.

7.10 Use AI responsibly

AI can't replace humans. Whatever model you are using it was trained on a particular dataset. Was that dataset reliable? Up-to-date? Most likely not, especially if you are writing about technology. Thing change quickly and AI is not keeping pace. Use it for editing and improvements, rather than content creation.

What's next?

Congratulations on finishing the guide! You have learnt practical techniques to make your article go viral. Now it's time to apply them. If you want to become a better writer and expand your audience - contact us. Having experienced advice is much better than going through all of this yourself.

Interested in writing with us or have any other queries? Contact us at

Technology and the way people consume content are constantly changing. Save this article to be up-to-date on the latest copywriting tips and tricks. I will be regularly updating the article to provide the latest insights. Thank your for attention!