Marketing

Using an AI Agent to Audit a Topic's Search Results

Antonio Evans8 min read

A split-screen scene: on the left, a person at a desk with a printed checklist and a browser showing search results; on the right, an AI agent represented as a clean flowchart pulling page cards.
Key points

Key points

  1. 1An AI agent can pull the top 10 results for each query in a topic, summarize who ranks and why, and flag gaps fast, but the output is a first draft.
  2. 2Define 10 to 30 queries in your buyers' words before you prompt anything, because the agent can only audit the query set you hand it.
  3. 3Ask for structured fields (page type, angle, apparent ranking reason, whether the page body was read) so the output can be checked, scored and compared across runs.
  4. 4Trust the agent for extraction and coverage, and distrust it for freshness, intent reading and confident explanations of why a page ranks.

Define the query set before you touch the agent

The single biggest determinant of audit quality is the query list. An agent asked to "audit the search results for content marketing" returns a generic summary of one phrase. An agent asked to audit 18 specific queries, each written the way a buyer types it, returns something you can act on.

Start from your own data. A content marketing plan is supposed to document goals, audiences, key messages, brand voice and the approach to reaching them, and that plan is what ties each asset back to a defined audience question (Capsule CRM's content marketing plan guide). The query set is where that thinking becomes testable. Pull phrases from sales call notes, support tickets, site search logs and the "People also ask" boxes, since those boxes surface queries real people search and are useful for expanding a topic cluster (Surfer's guide to low competition keywords).

Group the queries into four buckets, because they fail differently and deserve separate reads:

BucketExample shapeWhat a good result looks likeAgent risk
Definition"what is X"Encyclopedia or vendor glossary in the top 3Agent confuses definition pages with product pages
Comparison"X vs Y"Independent reviews and vendor comparison pagesAgent misses that the results are mostly forum threads
Recommendation"best X for Y"Listicles, review sites, category pagesAgent over-weights whichever page it parses most easily
Use case"how do I solve X with Y"Tutorials, documentation, templatesAgent misreads intent and treats it as a recommendation query

Aim for 10 to 30 queries per topic. Fewer than 10 and you cannot see which patterns repeat. More than 30 and the manual spot-check becomes the bottleneck. For each query, record the search engine, the country, the device and the pull date, because those four fields decide whether the next run is comparable.

One more rule: use your buyers' phrasing, not internal jargon. "Best scheduling tool for a five-person agency" beats "workforce optimization solutions." If you cannot write the query the way a buyer types it, you do not yet know what you are auditing.

Prompt the agent to pull and score the top pages

The prompt does three jobs: it fixes the query set, it fixes the extraction fields, and it fixes the output format so two runs can be diffed. Write it once, save it, and change only the query list between runs.

You are auditing search results for a topic. Do not summarize the topic.

QUERIES (audit each one separately, in order):
1. <query>
2. <query>
...

For each query, retrieve the top 10 organic results. Exclude ads and
video carousels, but note them in a column called serp_features.

For each result, output one row with these fields:
- rank: integer 1 to 10
- url: full URL
- page_type: one of [definition, listicle, comparison, product page,
  documentation, forum thread, news, video, template]
- angle: the promise the page makes, in one sentence, in your own words
- ranking_reason: your best evidence-based guess, tagged with why
  (e.g. "exact-match title", "matches a result feature", "reads as a
  direct answer to the query"). If you cannot tell, write "unclear"
  and say what evidence is missing.
- content_read: state whether you read the page body or only the snippet
- publish_or_update_date: as shown on the page, or "not shown"
- word_count_estimate: integer, or "unknown"

Then, for the query as a whole:
- dominant_page_type
- dominant_angle
- intent_read: what the searcher most likely wants, one sentence
- what_is_missing: gaps in coverage by the top 10, as a bullet list

Return a single markdown table per query. Do not invent fields. If a page
blocks retrieval, write "blocked" in content_read and leave other fields
as "unknown".

Two design choices matter more than the wording. First, content_read forces the agent to declare whether it read the page or only the snippet, which is the difference between an audit and a guess. Second, ranking_reason demands evidence and permits "unclear." An agent told it must explain every ranking will invent explanations. An agent allowed to say "unclear" hands you a list of things to check by hand, which is more useful than confident fiction.

If you run the agent through a search and extract pipeline, evaluate the whole stack end to end rather than judging the search layer in isolation, because the answer you care about is the product of model, search and extraction together (Parallel's guide to evaluating web search for agents). Before you build any automated scoring on top, read 20 to 50 real outputs by hand: reviewer time on real traces reveals failure patterns faster than any metric (LangChain's agent evaluation readiness checklist).

Turn the output into a gap checklist

The audit is only as useful as the checklist you score it against. Keep the checklist fixed across topics so results stay comparable, and score each query pass or fail rather than on a scale. A 1 to 5 scale invites arguments about whether a gap is a 3 or a 4.

A working checklist for a topic:

  1. Direct answer present. Does at least one top 3 page answer the query in the first two paragraphs, or does the reader have to scroll?
  2. Page type match. Does the dominant page type match what you can credibly build? If the top 10 are all forum threads, a polished guide may not be the shape that wins.
  3. Original evidence. Do ranking pages cite numbers, screenshots, tests or first-party data, or are they summarizing each other?
  4. Recency signal. Is there a visible update date on the ranking pages, and does the query reward freshness?
  5. Depth gap. Is there a subtopic the top 10 mentions but none covers properly? Ask the agent explicitly, then verify yourself.
  6. Format gap. Is there a template, calculator, checklist or comparison table the top 10 lacks?
  7. Follow-up coverage. Does the top 10 answer the question the searcher will ask next?

Then compute two numbers per topic. Coverage is the share of queries where at least one top 10 page clearly answers the query. Opportunity is the count of queries failing three or more checklist items. A topic with 18 queries, 4 covered and 5 opportunities is a different decision than one with 18 queries, 14 covered and none. Write both numbers down with the pull date, or the next audit will not be comparable.

This is where most teams fall down. CMI's survey of 1,015 B2B marketers found that 37% of B2B marketers have a documented content marketing strategy, while 62% of organizations successful at content marketing have one (Content Marketing Institute's B2B trends research). The audit checklist is the documented part of competitive research that most teams skip, and it is the part that makes the next content cycle a decision instead of a mood.

Where to distrust the agent

The agent is reliable for extraction and coverage. It is unreliable in four specific ways, and each has a cheap test.

Stale or partial index data. The search layer behind your agent is not the search engine your buyers use, and the two drift. A study comparing AI answers to Google rankings found that roughly 80% of URLs cited in AI responses do not rank in Google's top 100 (OutreachBloom's AI visibility audit checklist). Treat any single source of ranking data as one sample, and re-pull from a second source before you act on a gap.

Surface-level summaries. If the agent read snippets rather than page bodies, its angle field is a restatement of the meta description. The content_read column tells you which rows are affected. Open every snippet-only row for the queries that decide your next content bet.

Misread intent. Agents flatten query intent. A "how do I" query can be informational or commercial depending on the modifier, and the page features are the tell. Ahrefs data cited by CXL puts Google AI Overviews on about 21% of keywords, with informational searches driving nearly all of them, which means the agent may be auditing a summary rather than the pages beneath it (CXL's AI Overview gap analysis). Note the result features yourself for the five most important queries in the set.

False confidence. The most dangerous output is a clean table with a plausible ranking_reason on every row. Run a calibration: pick 10 rows at random, read the pages yourself, and score whether the stated reason holds up. If it is right on 8 of 10, use the table. If it is right on 5 of 10, use only the URL list and do the rest by hand. Calibrate once per agent configuration, not per topic, and recalibrate whenever the model or the search tool changes.

There is one more limit worth naming. The agent judges pages, not outcomes. It cannot tell you whether a trending query will still matter in a quarter, or whether a ranking page converts. That judgment stays with you.

A worked example with numbers

Suppose you sell scheduling software and you audit the topic "team scheduling." You define 16 queries: 4 definition, 4 comparison, 4 recommendation, 4 use case. The agent returns 160 rows.

The first run shows 13 of 16 queries covered by a page that answers the query in the first two paragraphs, and 9 of 16 where the dominant page type is a comparison page. The content_read column marks 22 rows as snippet-only, all of them listicles where the snippet was long enough to look complete. You open those 22 by hand and find that 6 have an original pricing table the snippet did not reveal. The agent's angle for those six was too generic to use.

Final score: coverage 13 of 16 (81%), opportunity 4 queries failing three or more checklist items, and 2 queries where the top 10 are dominated by forum threads, meaning a polished guide is the wrong format.

The decision rule most first search results will not give you: spend the next content cycle only on queries where coverage is low, the dominant page type matches what you can credibly build, and at least one ranking page lacks original evidence. That is usually 2 to 4 queries out of 16, not 10. The rest of the list is not a to-do list. It is evidence that you should not write there yet.

If the audit has to run across several topics every month, the cost is mostly orchestration and model calls. Quanta Inference (https://quantaintelligence.ai/inference) puts text, embedding and other model types behind one OpenAI-compatible key, which keeps a multi-query audit run simple to schedule and cheap to repeat.

Re-run after any index change

An audit is a snapshot. Re-run it, do not extend it. Keep the query set and the prompt identical, change nothing but the pull date, and diff the output. The diff is the signal: pages that dropped, pages that appeared, and rows where ranking_reason flipped from "exact-match title" to "unclear."

Three rules keep re-runs honest:

  • Re-run after a confirmed change in how the target engine selects and ranks sources, not on a calendar alone. If the answer surface changes what it cites, your stored audit describes a world that no longer exists.
  • Recalibrate your 10-row sample on every re-run that changes the agent's model or tools. A better model can shift from "unclear" to confident, and confident is not the same as correct.
  • Store the raw output, including the unknown and blocked rows. The rows the agent could not read are often the pages that matter most, and deleting them hides the gap.

For teams with limited resources, the pressure to produce more content without lowering the bar is real, and repurposing what already performs is one answer to it (Multiview's guide to content repurposing). The audit tells you which assets are worth repurposing into the page types the results reward, which is cheaper than starting from zero on every query.

The workflow that survives a real calendar is small: pick the queries, run the agent, score the checklist, open a sample by hand, write down two numbers and the pull date, and repeat only when the index moves. If the manual scoring and write-up is the part that keeps slipping, Quanta (https://quantaintelligence.ai/) is a place to hand the build out: describe the audit report you need, and a specialist builds it with you.

FAQ

FAQ

How many queries should I include in one audit?

Ten to thirty per topic is the practical range. Below ten you cannot see which patterns repeat, and above thirty the manual spot-check of snippet-only rows becomes the bottleneck. Split a large topic into two audits rather than padding one list.

How do I know the agent read the actual page and not just the snippet?

Make it declare this in the output. The prompt in this article forces a content_read field with values for page body, snippet only or blocked. Any row that does not say it read the body gets opened by a human before it influences a content decision.

What should I do when the agent cannot explain why a page ranks?

Leave it as unclear and treat it as a research task, not a failure. An agent that invents a reason for every row is more dangerous than one that flags a gap. Check the title match, the result features, internal links and citation counts yourself.

How often should I re-run the audit?

Re-run after a confirmed change in how the target engine selects and ranks sources, rather than on a fixed schedule. Keep the query set and prompt identical between runs so the diff reflects the index, not your prompt edits.

Can I trust the agent's list of content gaps?

Use it as a hypothesis list, not a finding. Verify each claimed gap by reading the top three pages for that query. The agent is strong at noticing that a subtopic appears in the top 10 but is thin somewhere, and weak at judging whether the gap is worth filling.

Sources

Sources

  1. Ultimate guide to creating a content marketing plan - Capsule CRM
  2. 7 Ways To Find Low Competition Keywords
  3. How to Evaluate Web Search for AI Agents - Parallel.ai
  4. Agent Evaluation Readiness Checklist - LangChain
  5. B2B Content and Marketing Trends: Insights for 2026
  6. AI Visibility Audit: The Free 7-Step Checklist for 2026
  7. How to run an AI Overview gap analysis
  8. Content Repurposing: Maximize Reach and Reduce Pressure on ...
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles