Most blog posts are written front-to-back and hope for the best. The ones that convert are engineered. Below is the skeleton I use for nearly every piece — and a demonstration of how this blog renders rich content.
1. The hook
Your first two sentences decide whether the rest gets read. A good hook does one of three things:
- Names a problem the reader already feels.
- Promises a specific, believable outcome.
- Challenges a belief they hold.
If the opening could be deleted without anyone noticing, it wasn't a hook.
2. The promise
Right after the hook, tell the reader exactly what they'll walk away with. No mystery, no "keep reading to find out." Clarity beats curiosity for content that needs to convert.
3. The body — one idea per section
Each section should make exactly one point, and the heading alone should telegraph it. Here's the rule of thumb I apply when editing:
- Read only the headings, top to bottom.
- If that outline tells the whole story, the structure is sound.
- If it doesn't, the post is hiding its argument inside paragraphs.
Inline formatting still matters
You can lean on emphasis, strong emphasis, and inline code to guide the
eye — just don't overdo it. A link to a relevant resource
should feel earned, not sprinkled.
Show, don't just tell
When a point is technical, a short code sample lands harder than a paragraph:
// A headline formula that consistently tests well:
const headline = `${outcome} without ${painPoint}`;
// e.g. "Rank on page one without writing more"
4. The proof
Claims need backing — data, examples, a screenshot, a quote. This is where you earn the trust that the call to action will spend.
5. The call to action
End with one obvious next step. The fastest way to lose a ready-to-act reader is to offer them five doors at once.
That's the whole skeleton. If you're reading this on the site, every heading,
list, quote, and code block above is plain MDX in a file under content/blog/ —
no database, no CMS dashboard, just text in Git.