Agency

A content audit framework for SEO agencies

June 6, 20266 min readIntentFit

A repeatable, five-step content audit any agency can run on any client site — built on the client's own Search Console demand, ranked by traffic at stake, and packaged as a recurring deliverable.

Most agency content audits suffer from the same two problems. They take days to assemble by hand, and when the deliverable lands, the client has no idea whether the recommendations are real or just opinion. "Add more about pricing" sounds like a guess. It often is.

The fix is a framework that's repeatable across every client, fast to run, and grounded in data the client can't argue with — their own. Here's a five-step audit you can run on any site and turn into a recurring line item.

Why the client's own data changes the conversation

Traditional content optimization scores a page against a corpus: what the top-ranking competitors include, or a model of "a good page on this topic." That's useful for net-new content, but as an audit basis it has a soft spot. The client can always say that's just what some competitor did — and they're not wrong.

An intent-satisfaction audit measures something the client can't dismiss: the actual queries their actual pages already receive in Google Search Console, and how well the content answers the intent behind them. The demand is real, the source is theirs, and the gaps are specific. That's the difference between search-intent satisfaction and ranking — and it's what makes an audit defensible.

Defensibility is the whole game

A recommendation backed by the client's own impression data isn't an opinion. It's a measurement. That's what gets work approved instead of debated.

Step 1 — Connect Google Search Console

Every audit starts at the source. Get read access to the client's Search Console property — either delegated access to your agency account, or a connection through your audit tool.

This is also where you set scope. A 2,000-URL site doesn't need every page audited at once. Filter to the property, the date range (16 months if you want seasonal coverage, 3 months for a current snapshot), and the page set that matters — usually the money pages and the content hub, not the blog archive's long tail.

Step 2 — Pull the real demand per page

Now pull the queries each target page actually receives, with impressions and clicks attached. This is the raw material the rest of the audit runs on.

The goal here isn't a keyword list. It's the set of distinct intents behind the demand a page already gets. One URL ranking for "invoicing software" might also pull impressions for "invoicing software for freelancers," "free invoicing tools," "invoicing software with VAT," and "quickbooks alternative." Those are five different jobs landing on one page. Group them. See query clustering for how raw queries collapse into intents.

By the end of this step you have, per page, a list of the intents in real demand — each one weighted by impressions.

Step 3 — Score each page

With intents in hand, score how well each page satisfies them. The most actionable way to do this is to break the score into coverage, depth, and focus:

  • Coverage58

    How many of the distinct intents in real demand the page addresses at all.

  • Depth71

    For the intents it covers — how completely it answers them.

  • Focus84

    The opposite of over-serving — how little of the page is off-intent noise.

A typical client landing page: covers the headline intent well, but misses three sub-intents the demand clearly wants.
  • Coverage — Of the distinct intents in real demand, how many does the page address at all? Low coverage means searchers arrive with a question the page never touches.
  • Depth — For the intents it does cover, how completely? A page can name a feature in one line while the demand wants a full breakdown.
  • Focus — How much of the page is off-intent noise that dilutes the answer for readers and crawlers alike?

The value of splitting the score is that each component maps to a different action. Low coverage means add sections. Low depth means expand thin ones. Low focus means cut or split. That's already most of your recommendations, written for you.

Step 4 — Rank gaps by traffic at stake

This is the step that turns a long list into a worklist. Not every gap matters. A page missing an intent that draws twelve impressions a month isn't worth a paragraph. A page missing an intent that draws four thousand impressions is bleeding qualified traffic.

Sort every gap by traffic at stake — the impression volume behind each under-served intent. Now the audit has a spine: fix this gap first, because it's where the most demand goes unanswered. A vague "this content could be stronger" becomes "this page misses the pricing intent that draws 3,100 impressions a month, and here's what to add."

This is also the mechanism behind finding content gaps in Search Console — the same signal, applied across the whole property instead of one page.

Lead with the number, not the page

When you sort by traffic at stake, the top of your list is automatically the highest-leverage work on the site. That ordering is the single most persuasive thing in the deliverable.

Step 5 — Deliver the report

The audit isn't the scores. It's the worklist the scores produce. A strong deliverable ends with a ranked table: each row a page, its current score, the specific intent it under-serves, the impressions behind that intent, and the concrete fix — add a section, expand a thin answer, split off-intent content into its own page.

Keep the framing tight. The client doesn't need the methodology lecture; they need to see where demand is going unanswered and what it's worth to fix. For the full walkthrough of structuring and pitching that conversation, see how to present a content audit to clients.

Turning the audit into a retainer line item

The reason this framework matters commercially is that it's repeatable. Demand shifts every quarter — new queries surface, seasonal intents rise, competitors reshape what searchers expect. A one-off audit is a project. A recurring intent audit is a retainer.

The pitch writes itself: every month or quarter, you re-pull the client's demand, re-score the priority pages, and deliver a fresh worklist ranked by traffic at stake. The client sees scores move as fixes ship. You get a defensible, recurring deliverable that doesn't depend on your team manually assembling spreadsheets each cycle. That's how a content audit stops being a cost and starts being a packaged service for agencies.

The framework scales because the data does the heavy lifting. You connect the property once, the demand updates itself, and your job becomes the part clients actually pay for: judgment about which gaps to close and in what order.

Try it on your own site

Connect a client's Search Console and run the whole framework in one pass — scored pages, gaps ranked by traffic at stake, and a worklist you can hand straight to the client.

Put it into practice

Score your own pages

Connect Search Console and see exactly which pages miss the intent — and what to fix first.

Related reading