There’s this one question that I always get asked that I really hate. It’s a question that I’m guessing a lot of professional writers get asked and I’m guessing they all hate it.

“How do you write the perfect blog post?”

First off, I knew the answer to “how do you write the perfect blog post” I’d be writing this on a newer laptop, in a beachfront villa somewhere really hot. You can add it to the list with “can you make us a viral video.”

Honestly, when it comes down to it, they’re very similar concepts because really, when you ask, “how do you write the perfect blog post” what you’re actually asking is, “how can I make a blog post go viral.”

The conversation really is broken into two pieces. On one side of the coin you have, “how can I write really great content” and on the other side you have, “how can I promote content really well.”

I’ll write another post soon on the importance of marketing your content well. For now, let’s start with how to do the actual writing.

The blog posts that are really interesting tend to find the balance between personal and professional, speaking to an audience as though a great friend, who needed to have some knowledge dropped.

Start with a strong title. There are those that push numbers in titles but I’d much rather have an interesting title than another “5 ways to blah blah blah”.

The kicker for me is whether you can hook somebody within the first 50-100 words. Because if you can’t, the next 500-1000 don’t really matter. Attentions spans are short and they’re getting shorter so you’d better have some payoff early and often. Say something startling. Say something ridiculous. Don’t be coy. Don’t be mysterious. You’re not in the club, seeing your readers across the dance floor. You’re on the internet. People have shit to do.

I’m not suggesting that you open with the conclusion or tell them you know where Jimmy Hoffa is buried but if after 50-100 words I don’t thinking you’re particularly intelligent or particularly interesting, we’re done here.

A lot of people ask me about length and there is a lot of data out there on how long is too long and how long is just right, but I take a little bit of issue with a lot of that advice. Statistically speaking, the “sweet spot” for a blog is 7 minutes. According to research, that’s how long people want to spend reading a blog and 7 minutes comes in somewhere around 1200 words. But.

My experience has been that if you’re going to hold attention for 1200 words and 7 minutes with a blog post you’d better be either DAMNED interesting or popular enough already that they would have read your grocery list for 7 minutes. I’m sure Gary V gets a million hits off of a 7 minute long post. But again. This is the internet. People have shit to do.

For my money, the sweet spot is around 600-700 words. Once you go PAST that, you’ve still got a chance but it gets harder and harder. Of course, Seth Godin, one of the most read thought leaders in the world writes blogs that are often under 100 words. So what do I know.

Finish strong. People remember your opening and your closing. There’s a lot of grey area in the middle. So finish with something that makes them remember you. I often repeat a phrase a few times throughout a post and close with that same phrase. Or I’ll give a definitive call to action like, “when you finish reading this, go do ….”

The rest has to do with two things. Do you know what you’re talking about and are you any good at saying it? I know some great thinkers that can’t write for shit and I know some elegant writers who don’t know what they’re writing about and it comes off terribly.

The real secret to writing the perfect blog post is to WRITE.


Half of the people who ask me this have written less than a dozen blog posts in their life. I’ve written hundreds. Some of them have been awful. Some of them have been great, but for me the key has always been that the more you write, the better writer you will become.

So stop trying to write the perfect blog post and work on writing the best blog post you can write. They’re sort of the same thing.