You finished the draft. It reads fine. You hit publish and move on to the next one. Two months later, the post is buried on page three, getting no clicks, and quietly dragging the rest of the archive down with it.
The post wasn't bad. The pre-flight was missing.
Most blog posts don't fail because the writing is weak. They fail because the operator skipped the same ten checks before hitting publish — the checks that turn a draft into a post that compounds, ranks, and feeds the next ten posts in the cluster. The good news: the whole pre-flight is about 90 seconds once it's a checklist.
This is the checklist. Ten items. Every item has a single test you can run in seconds. Run it on every draft, and the archive stops being a graveyard of one-off posts and starts being a body of work.
If your archive is already flatlining, the 30-minute blog audit is the longer version of this — the system-level scan that catches what the pre-flight misses. Run the pre-flight on every draft, run the audit monthly, and the system holds.
1. The hook lands in the first three lines
Open the draft. Read the first three lines. If a skimmer can't tell what the post is about, who it's for, and why it matters, the post is already losing.
No "In today's digital landscape." No "Let's dive in." No "Have you ever wondered…" The answer goes first. The reader typed a question; the post answers it in the first paragraph or the reader is gone. A 2024–2025 Backlinko analysis of Google search results found that answer-first intros consistently outranked throat-clearing intros, and answer engines reward the same pattern: lead with the direct answer, then earn the rest of the click (Backlinko content strategy hub).
Test: copy the first paragraph into a Slack message. If a teammate can't summarize the post from that paragraph alone, rewrite the opening.
2. The title names the hook, not the category
A title that says "Blog Pre-Publish Guide" tells the reader what the post is. A title that says "10 Things Every Blog Post Needs Before It Goes Live (Operator's Pre-Flight Checklist)" tells the reader what they'll get. The second one wins every time because the count, the audience, and the moment are visible in the title.
Generic titles get scrolled past. Specific titles get clicked. The H1 should match the title, not paraphrase it.
Test: show the title to one person who hasn't read the post. If they can't tell you what the 10 things are, the title is too vague.
3. Scannable structure: H2s that read like promises
Open the outline. Read the H2s out loud, in order, with no body in between. If the H2s alone don't tell the story, the structure is wrong.
H2s should be promises, not topics. "Why this matters" is a topic. "Why most articles die by week three" is a promise. Short paragraphs — 1–3 sentences. One idea per sentence. A list or table wherever the content is parallel. The reader should be able to scan the H2s and walk away with 80% of the value.
Test: print the H2s only. Hand the page to someone who's never read the post. If they can summarize the argument, the structure works.
4. Two fresh stats from the last 12 months, each with a named source
A post without evidence is an opinion piece. A post with two fresh stats and a named source is a reference piece. The reader trusts the latter; Google ranks the latter.
The floor: two stats from 2024 or 2025, each with an inline link to the source. The bar: one of those stats comes from a high-authority source the reader is likely to recognize (HubSpot, Ahrefs, Backlinko, Orbit Media, an academic paper, a government dataset). The "trust me, bro" zone: stats with no date, no source, or a source older than 12 months on a time-sensitive point.
Test: highlight every number, percentage, and "study shows" in the post. If any of them lack a date and an inline source link, fix or remove.
5. At least two contextual internal links to other posts in the archive
Not a "related posts" block at the bottom. Two links woven into the body where the topic naturally calls for them. These links are the rail the cluster runs on; without them, the post is an island.
The newer post passes authority and context to the older post. The older post deepens the topic the newer post is introducing. The reader (and Google) sees a graph, not a sequence of orphans. A 2025 Orbit Media survey of working bloggers found that teams publishing on a real cluster rhythm — and interlinking as they go — outpaced teams publishing more posts in isolation, because the cluster multiplies the value of each new piece (Orbit Media 2025 blogging survey).
Test: open the post. Count the contextual internal links. If the count is below two, the post is leaving authority on the table. Add them.
6. Meta title, meta description, slug, and one featured image set
Most platforms auto-generate these from the title and description, but the operator still confirms them. Meta title ≤ 60 characters. Meta description 120–160 characters and answers the core question. Slug short, human, no stop-words. One featured image that actually illustrates the post, not a stock photo of a laptop.
The meta description is the last thing the reader reads before deciding to click. Treat it like a one-sentence pitch, not a summary.
Test: paste the title and meta into Google's preview tool. If the title truncates or the description gets cut off mid-sentence, shorten them.
7. Schema and structured data that match the visible content
The platform auto-generates the basic Article and List schema. The operator's only job is to confirm that any supplemental schema — FAQPage, HowTo, Product — matches visible content 1:1.
A FAQPage schema block that doesn't have a visible Q&A on the page is a spam signal. A HowTo schema that doesn't list the actual steps is the same. The rule is brutal and simple: no visible content, no schema. The platform handles the rest.
Test: open the post as Google would see it. If any schema block refers to content that isn't on the page, remove the schema or add the matching content.
8. One clear CTA tied to the topic
Not "Contact us." Not a footer. Not a stack of buttons at the bottom fighting each other. One CTA inline, late in the post, that matches the reader's state at the end of the piece.
For a pre-publish checklist, the natural next step is the system that runs the checklist for you — so the reader doesn't have to do it by hand on every post. The CTA is the bridge from the article to the next action. If the reader can't tell what to do next, the post underperforms, no matter how good the writing is.
Test: read the closing paragraph. If a reader can't name the next step in five seconds, the CTA isn't there yet. Add it.
9. A distribution hook: the one sentence that survives being copy-pasted
Every good post has one line — usually in the closing — that survives being copy-pasted into Slack, a newsletter forward, or a reply to a friend. It's the line that does the work after the post is closed.
Write the post with that line in mind. If you can't find it, the post isn't done. The line is the seed of the social post, the newsletter intro, and the sales conversation that follows the post. The best posts ship a one-sentence payload the reader can carry.
Test: copy three sentences from the post into a blank doc. Could any of them live as a standalone social post? If not, the distribution hook is missing. Write it.
10. The human-approval check before hitting publish
Nothing publishes without the operator signing off. Read the post once for voice. Read it once for claim accuracy. Read it once for broken links and missing meta.
This step is not a bottleneck. It is the system. The agent drafts, plans, and links; the operator approves. The pre-flight exists to make the approval fast, not to skip it. A blog that runs on autopilot and a blog that runs on a system are not the same thing. The first one ships bad posts. The second one ships good posts faster.
Test: if you can't read the post three times in 90 seconds, the draft is too long, the structure is off, or both. Tighten until the approval loop is fast enough to actually run on every post.
Run the pre-flight on every draft
Ten items. Ninety seconds. Run it on every draft, and the archive stops being a sequence of posts and starts being a body of work. The cluster deepens. The pillar pages stop being islands. The compounding math starts to work in your favor.
A blog that doesn't run a pre-flight ships inconsistently and decays. A blog that does stops at post #5, then keeps going past post #50 because the system holds when the founder doesn't. For a deeper look at the article-level workflow this pre-flight sits inside, the operator's article playbook walks through the 90-minute loop this checklist protects.
The pre-flight isn't overhead. It's the system that keeps the system running.
Start your free blog → lots.blog. One checklist, one agent, one archive that clears the same bar on every post.