New Search Bytes — every confirmed Google update & AI-search move on one timeline. Zero noise. Track it →

Which LLM Is Best for Content Audits at Scale? I Tested 6 OpenAI Models on 100 Pages

I audited the same 100-page content through six different OpenAI models and scored every finding for accuracy and cost. GPT-5.4 won on value: 717 real issues at 4.2 cents a page, with low hallucination. The full benchmark, with tables and charts.

Content-audit model benchmark leaderboard: six OpenAI models ranked by real findings, hallucination rate and cost per page
Contents

    TL;DR

    I wanted to answer one question: if you hand the same content audit to six different OpenAI models, which one finds the most real problems for the least money, without making things up? So I ran the test. Same 100 pages, same brief, six models, and every single finding checked against the page it came from.

    • Best value: GPT-5.4. It found 717 real issues at 4.2 cents per page with a 3.4% hallucination rate. The best mix of recall, accuracy and price.

    • Highest recall: GPT-5.6 Sol. It caught the most real issues (767) but cost 18.1 cents per page, more than 4x GPT-5.4.

    • Cleanest: GPT-5.5. It hallucinated 0.0% of its findings, but at 20.4 cents per page it is the priciest way to audit.

    • Avoid for volume: GPT-5.4 mini and GPT-5.6 Luna. Cheap and fast, but they invented 16.9% and 19.4% of what they reported.

    • The whole run: 100 pages, 6 models, 2,717 findings pooled, 53.33 dollars in total spend.

    Why I ran a six-model content audit benchmark

    Content audits do not scale by hand. I have spent 14 years in SEO and the last two deep in GEO, and the biggest bottleneck I keep hitting is the one every content team hits: reading every page closely enough to catch what is actually wrong. On a 40-page site you can do it. On a 4,000-page site you cannot, so most audits quietly collapse into crawler reports: broken links, missing titles, thin-content flags. A crawler can tell you a page is 300 words. It cannot tell you the page never answers its own question, or that it contradicts itself three paragraphs apart. That gap is exactly where rankings and AI citations are won and lost.

    Large language models read for meaning, which makes them the obvious tool for the job. But two worries stop most people trusting them at scale: which model is actually good at this, and how much of what it reports is invented? I did not want a hunch, so I treated it like an experiment. I built a controlled test, ran six models through the exact same task, and scored every finding they produced. This is the kind of AI SEO automation work I now lean on for clients, and the results surprised me in a few places.

    How the test worked, in plain English

    The setup is simple to describe. I took 100 pages, a deliberate mix of transactional pages (product, pricing, checkout) and informational pages (guides, FAQs, support articles). I gave all six models the identical brief: read each page, report every content problem you find, and for each one, quote the exact text on the page that proves it.

    Then I did the part most people skip. Instead of trusting any single model, I pooled every finding from all six into one master list, and checked each finding against the page it came from. If a model claimed a page contradicted itself, the quoted evidence had to actually exist on that page. Findings that passed became real findings. Findings whose evidence could not be verified were marked as hallucinations. This pool-and-adjudicate design is borrowed from how search engines are scored in academic information retrieval (the TREC pooling method), and it is the only honest way to measure recall and accuracy at the same time.

    Three numbers do most of the work in this study:

    • Real findings. Problems a model reported whose quoted evidence checked out. My proxy for recall, or how much a model catches.

    • Hallucination rate. The share of a model’s findings where the evidence was fabricated or could not be verified. My proxy for how much it makes up.

    • Cost per page. Total API spend for that model divided by 100 pages, using published OpenAI API pricing.

    One caveat before the numbers: these figures come from a controlled run and are scaled proportionally. Treat them as a snapshot of these specific model versions, not a permanent ranking. Model quality shifts with every release, so the method matters more than any single row in the table.

    I have kept this part short on purpose. If you want the full mechanics, exactly how I scored hallucination, where the pooling maths comes from, and where the numbers stop being reliable, it is all written out in the methodology, hallucination, and limitations sections near the end.

    The leaderboard: six models, one value winner

    Sorted by real findings kept, here is the full board. GPT-5.6 Sol caught the most problems. Then look at the cost column, and look at what GPT-5.4 did right next to it.

    Leaderboard of six OpenAI models on a 100-page content audit, ranked by real findings kept, hallucination rate, cost per page and cost per finding. GPT-5.4 is the best-value winner.

    #

    Model

    Type

    Real findings

    Hallucination

    Cost / page

    Cost / finding

    % unique

    Verdict

    1

    GPT-5.6 Sol

    reasoning

    767

    1.1%

    18.1c

    2.36c

    66%

    Top recall

    2

    GPT-5.4 ★

    fast, non-reasoning

    717

    3.4%

    4.2c

    0.58c

    79%

    Best value

    3

    GPT-5.5

    reasoning

    550

    0.0%

    20.4c

    3.71c

    71%

    Accurate, pricey

    4

    GPT-5.4 mini

    fast, non-reasoning

    533

    16.9%

    1.5c

    0.28c

    84%

    Too noisy

    5

    GPT-5.6 Luna

    fast, non-reasoning

    417

    19.4%

    3.3c

    0.78c

    56%

    Too noisy

    6

    GPT-5.6 Terra

    fast, non-reasoning

    325

    4.9%

    5.9c

    1.82c

    49%

    Low recall

    GPT-5.4 is the one I would put into production. It found 717 real issues, within 7% of the top model, at 4.2 cents a page. That works out to 0.58 cents per real finding, more than 4x cheaper than Sol and nearly 7x cheaper than GPT-5.5. It hallucinated only 3.4% of its findings, low enough to trust with a light human review. And 79% of its findings were unique to it, meaning it was not simply repeating what the cheaper models had already flagged. High recall, low noise, low price, and it pulls its own weight in the pool. That is the whole scorecard.

    Findings versus cost: the value quadrant

    The leaderboard hides one thing: the trade-off between how much a model catches and what it charges you to catch it. Plot those two against each other and the decision gets obvious.

    Value quadrant scatter plot of real findings kept versus cost per page for six OpenAI models. GPT-5.4 sits alone in the best-value top-left corner.

    The sweet spot is the top-left corner: lots of real findings for very little money. GPT-5.4 sits alone in it. The two reasoning models, Sol and GPT-5.5, deliver excellent accuracy but live far to the right, four to five times the cost per page. The two amber bubbles, mini and Luna, look cheap until you remember they invented roughly one in six of their findings, so their raw counts are inflated by noise. For a one-off audit of a handful of critical pages, a reasoning model’s premium can be worth it. For auditing thousands of pages on a schedule, it is the difference between a project you can afford and one you cannot.

    Signal versus noise: hallucination, agreement and severity

    Raw finding counts lie. A model that reports a thousand issues looks impressive until you learn a fifth of them are made up. Three checks separate the signal from the noise.

    Three panels: hallucination rate by model, how many models agreed on each finding, and the severity breakdown of 2,717 content-audit findings.

    Hallucination: how much each model makes up

    Every finding had to prove itself with a quote from the page. Here is how often each model’s evidence failed that check, sorted from cleanest to noisiest.

    Model

    Hallucination rate

    Real findings kept

    GPT-5.5

    0.0%

    550

    GPT-5.6 Sol

    1.1%

    767

    GPT-5.4

    3.4%

    717

    GPT-5.6 Terra

    4.9%

    325

    GPT-5.4 mini

    16.9%

    533

    GPT-5.6 Luna

    19.4%

    417

    The split is stark. The reasoning models and GPT-5.4 all stayed under 5%. The two cheapest fast models, mini and Luna, invented close to one in five of their findings. That is the trap with the cheapest models: the price per finding looks unbeatable until you realise you are paying a human to delete the fabrications. Past roughly 15% hallucination, the noise costs you more than the model saves.

    Agreement: how many models found the same thing

    I also tracked how often models agreed. When several independent models flag the same problem, you can trust it without re-checking. When only one does, you have to look.

    Consensus

    Findings

    What it means

    3+ models agreed

    125

    High confidence. Fix these first.

    2 models agreed

    292

    Solid. Worth a quick look.

    1 model only

    2,300

    Needs a human review.

    85% of all real findings came from a single model. That sounds alarming, but it is the entire reason a benchmark like this matters: no single model sees everything. Run only one model and you would have missed most of what the others caught. Pooling several models and then adjudicating is what turns a pile of maybe-issues into a ranked, trustworthy fix-list. It is also why I never rely on one model for a client audit that matters.

    Severity: how bad were the problems

    Not every issue deserves your time. I graded each real finding by how much it could hurt rankings, AI citations or conversions.

    Severity

    Findings

    Critical

    83

    High

    1,408

    Medium

    992

    Low

    233

    1,491 findings, more than half the total, were high or critical. These are not cosmetic. They are the contradictions, coverage gaps and wrong-entity errors that make a page lose a ranking or get skipped by an AI answer engine. That is the payoff of auditing for meaning instead of crawling for structure.

    What 100 pages actually got wrong

    Across all six models, the pooled findings fell into ten recurring problems. Two of them dominated everything else.

    Horizontal bar chart of ten content-issue types found across 100 pages. Coverage gaps (825) and internal contradictions (808) dominate.

    Issue type

    Findings

    What it is

    Coverage gaps

    825

    The page never answers the question a user or AI actually asked.

    Internal contradictions

    808

    The page states two different facts about the same thing.

    Payment & checkout

    317

    Wrong, missing or conflicting pricing, fees or checkout detail.

    Wrong-entity content

    175

    Text describing a different product, page or brand entirely.

    Availability & logistics

    133

    Stock, dates or delivery details that do not match reality.

    Price accuracy

    125

    A headline price that conflicts with the real one elsewhere.

    Stale content

    117

    Dates, offers or claims that have quietly expired.

    Terms & contract

    92

    Returns, eligibility or contract detail that is unclear or wrong.

    Feature & spec claims

    83

    Feature or specification claims the page cannot back up.

    Policy detail

    42

    Small print that contradicts the main copy on the page.

    Coverage gaps and internal contradictions were 60% of everything found. Neither shows up in a crawler. A crawler cannot tell that a page never answers its own headline question, or that the shipping time in the hero contradicts the shipping time in the FAQ. Those are precisely the errors that AI answer engines punish, because a model reading your page for a citation hits the contradiction and moves on to a cleaner source. If you want the deeper version of why this matters for AI search, I wrote it up in my guide to GEO.

    The cost math at scale

    Here is why the value winner matters. Four cents a page sounds trivial at 100 pages. Multiply it across a real site and the models separate hard.

    Site size

    GPT-5.4 (4.2c)

    GPT-5.6 Sol (18.1c)

    GPT-5.5 (20.4c)

    100 pages

    4.20 dollars

    18.10 dollars

    20.40 dollars

    1,000 pages

    42 dollars

    181 dollars

    204 dollars

    10,000 pages

    420 dollars

    1,810 dollars

    2,040 dollars

    50,000 pages

    2,100 dollars

    9,050 dollars

    10,200 dollars

    At enterprise scale, the model choice becomes a four-figure decision every time you re-audit. GPT-5.4 gets you 94% of the top model’s recall for less than a quarter of the price. That is the definition of the right tool for volume work. If you are auditing a small, high-stakes set of pages once, a reasoning model’s near-zero hallucination can justify the premium. For everything else, value wins.

    How to run this audit yourself

    You do not need my exact setup to get most of the benefit. The workflow is what matters, and it is repeatable:

    • Use a value model for the first pass. A GPT-5.4-class model reads every page and reports findings with quoted evidence, cheaply enough to run across the whole site.

    • Always demand evidence. The single most important instruction is "quote the exact text that proves each finding." It is what lets you catch hallucinations automatically instead of by hand.

    • Pool, then adjudicate. For high-value pages, run more than one model, pool the findings, and verify each quote against the page. Agreement between models is your confidence signal.

    • Rank by severity, not volume. A list of 2,700 issues is noise. A list of 83 critical and 1,408 high issues, sorted, is a roadmap.

    • Re-run on a schedule. Content decays. Contradictions and stale claims creep back in. An audit you can afford to re-run monthly beats a perfect one you run once a year.

    This is the workflow I now run for clients auditing content at scale, and it is a large part of what AI has actually changed about SEO. The bottleneck was never really the writing. It was the reading. The teams that win in AI search are the ones who can check 10,000 pages for meaning as cheaply as they used to check them for broken links. If you want this run on your site and turned into a ranked fix-list, that is exactly what I do under AI search consulting and GEO consulting.

    How I ran it: methodology and technical nuances

    The short version above is enough to trust the results. This is the long version, for anyone who wants to run the same test or poke holes in mine. The pipeline has four parts: a deterministic pre-check that every model shares, a single model pass that produces findings with quoted evidence, a pooling step that merges those findings into distinct claims, and one human pass that decides what is real. Each part exists to remove a specific way the numbers could lie.

    Pool and adjudicate: one pass, two outputs

    Every model reviewed the same page and returned structured findings. I pooled all of those findings into distinct claims, keyed by page, section, issue category, and the normalized evidence quote, so the same problem spotted by three models collapses into one claim. Then a human accepted or rejected each distinct claim exactly once. That single accepted set does two jobs at once: it is the ground-truth key I score every model against, and it is the actual fix-list for the site. Scoring six models the naive way would mean re-reading every page six times over. Pooling first, then judging once, is the shortcut, and it is the same pooling method academic search evaluations have used for decades to score retrieval systems without re-reading the entire web.

    Fair retrieval: every model got the same head start

    Before any model saw a page, that page went through a deterministic pipeline: fetch and render, extract the readable content, then run a fixed set of mechanical checkers. The output of those checkers was handed to every model as known findings. This matters for fairness. It stops a model padding its score with the easy mechanical stuff a script already caught, so the benchmark measures the judgement a model adds on top, not its luck at re-spotting a broken link. The extracted page content was always treated as data, never as instructions, which is the basic guard against prompt injection when you feed scraped pages into a model.

    What is measured, and what is still provisional

    Three things are measured directly and I stand behind them: real findings kept after the evidence check, the hallucination rate, and cost metered from provider-reported tokens. Two things are provisional and I want to be clear about it: precision and recall in the strict academic sense. A single human accept-or-reject pass is a strong ground truth, but it is not the same as a full multi-rater adjudication with a second reviewer resolving disagreements. Read the recall numbers as a well-controlled proxy, not a laboratory-grade measurement.

    Throughput: why tokens, not workers, set the ceiling

    When you scale this to thousands of pages, the bottleneck is not how many jobs you run in parallel. Each page costs roughly 14,000 tokens to audit, and every provider caps you on tokens per minute, not pages per minute. So the rate limit becomes the real ceiling: adding more workers past that point just makes them queue. Planning a large audit is therefore a token-budget exercise, which is another quiet reason the cheaper, lighter models are attractive for volume work.

    How I measured hallucination

    Hallucination in this study has one precise meaning: a finding whose cited evidence cannot be found on the page. I call it the grounding drop-rate. There is no vibe check and no manual skim here. Every single finding had to pass a mechanical test before it was allowed to count.

    The evidence check, step by step

    The brief forced every model to quote the exact text on the page that proves each finding. That quote is what makes the check possible. Here is what happened to each finding:

    • Quote required. A finding with no supporting quote was rejected outright. No evidence, no finding.

    • Normalize both sides. I stripped whitespace and casing differences from the quote and from the page’s extracted text, so a real match is never missed on a stray space.

    • Locate the quote. I searched the page text for the quote. If it was there, the finding was grounded and kept. If it was not, the model had invented or distorted its evidence, and the finding was dropped as a hallucination before it ever counted.

    This check is deliberately strict in one direction and deliberately humble in another. It is strict because it catches both wholesale fabrications and the sneakier case where a model lightly rewrites a quote to fit its argument. It is humble because it only proves the evidence exists, not that the model’s conclusion about that evidence is objectively correct. That second limit matters enough that I spell it out in the limitations below.

    The evidence-check funnel

    Run every model’s output through that check and you get a clean funnel from raw findings to real ones. The gap between emitted and kept is the noise each model added.

    Model

    Emitted

    Dropped as hallucinated

    Kept as real

    GPT-5.6 Sol

    775

    8

    767

    GPT-5.4

    742

    25

    717

    GPT-5.5

    550

    0

    550

    GPT-5.4 mini

    641

    108

    533

    GPT-5.6 Luna

    517

    100

    417

    GPT-5.6 Terra

    342

    17

    325

    All six pooled

    3,567

    258

    3,309

    The six models emitted 3,567 findings between them. 258 failed the evidence check and were dropped. That leaves 3,309 grounded findings, which still contain duplicates because several models often catch the same problem. De-duplicating those into distinct claims removes 592 overlaps and leaves the 2,717 unique issues the rest of this study is built on.

    Limitations and honesty

    A benchmark is only as trustworthy as the caveats attached to it. Here is where the edges of this one are, so you can weigh the numbers properly rather than take them on faith.

    • The figures are scaled and rounded. This was a controlled run, scaled proportionally to a clean 100-page basis and rounded to whole findings. A given row can sit a fraction of a percent off its underlying rate.

    • Grounding is not fact-checking. The evidence check proves a quoted line exists on the page. It does not prove the model’s interpretation of that line is objectively right. A model can quote real text and still reason poorly about it.

    • Precision and recall are provisional. One human accept-or-reject pass is a solid ground truth, not a multi-rater gold standard. Treat recall as a strong proxy.

    • It is a snapshot. These are specific model versions from one week of testing. Model quality shifts with every release, so the ranking will age faster than the method.

    • The page mix is mine, not yours. 100 pages weighted toward transactional and informational content. Your site’s error profile, and therefore the model that suits it, may differ.

    • One model, run alone, misses most of the list. 85% of real findings came from a single model, so the pooling is not a nicety, it is the whole point. Do not read any single model’s recall as complete coverage.

    • Use it as a decision aid. Pick a starting model and a workflow from this, then validate on a sample of your own pages before you trust it at scale.

    Appendix: definitions and the full funnel

    For readers who want the raw scaffolding, here are the exact terms and the complete tables behind every chart above.

    Metric definitions

    Term

    What it means

    Emitted

    Every finding a model reported, before any check.

    Dropped

    Findings whose quoted evidence could not be located on the page. Counted as hallucinations.

    Kept, or real findings

    Findings whose evidence was verified against the page. The recall proxy.

    Hallucination rate

    Dropped divided by emitted, for a single model.

    Distinct claims

    Kept findings after pooling and removing the same problem caught by more than one model.

    Cost per page

    Total metered API spend for a model, divided by 100 pages.

    Cost per finding

    Cost per page divided by that model’s real findings per page.

    The full funnel, model by model

    Model

    Emitted

    Dropped

    Kept

    Hallucination

    GPT-5.6 Sol

    775

    8

    767

    1.1%

    GPT-5.4

    742

    25

    717

    3.4%

    GPT-5.5

    550

    0

    550

    0.0%

    GPT-5.4 mini

    641

    108

    533

    16.9%

    GPT-5.6 Luna

    517

    100

    417

    19.4%

    GPT-5.6 Terra

    342

    17

    325

    4.9%

    All six pooled

    3,567

    258

    3,309

    7.2%

    Agreement in full

    How many of the six models independently caught each distinct finding. This is the full version of the agreement summary further up.

    Models that agreed

    Distinct findings

    Share

    6 of 6

    0

    0%

    5 of 6

    17

    0.6%

    4 of 6

    8

    0.3%

    3 of 6

    100

    3.7%

    2 of 6

    292

    10.7%

    1 of 6

    2,300

    84.7%

    Add the top four rows, every finding that three or more models independently agreed on, and you get the 125 highest-confidence issues, the ones worth fixing first. The long tail of 2,300 single-model findings is exactly why running one model alone is a mistake, and why pooling several is worth the extra spend on the pages that matter.

    FAQ

    Which LLM is best for content audits at scale?

    In this benchmark, GPT-5.4 gave the best value: 717 real findings at 4.2 cents per page with a 3.4% hallucination rate. It caught 94% of what the top reasoning model caught for less than a quarter of the cost, which makes it the most cost-effective choice for auditing large sites.

    Which model hallucinated the least?

    GPT-5.5 hallucinated 0.0% of its findings, followed by GPT-5.6 Sol at 1.1% and GPT-5.4 at 3.4%. The cheapest fast models, GPT-5.4 mini and GPT-5.6 Luna, were the worst at 16.9% and 19.4%.

    Do reasoning models find more issues than non-reasoning models?

    Sometimes, but not reliably. The top-recall model here was a reasoning model (GPT-5.6 Sol, 767 findings), but second place went to a fast non-reasoning model (GPT-5.4, 717). Reasoning helped accuracy more than raw recall, and it came at four to five times the cost per page.

    How do you stop an LLM from making up audit findings?

    Require evidence. Tell the model to quote the exact text from the page that proves each finding, then check every quote against the page automatically. Findings whose evidence does not exist are hallucinations and get dropped. This single step is what makes an LLM audit trustworthy.

    Why not just use a crawler for a content audit?

    A crawler checks structure: titles, links, status codes, word counts. It cannot read for meaning. The two biggest problems in this study, coverage gaps and internal contradictions, were 60% of all findings and are invisible to a crawler. They are also exactly what AI answer engines penalise.

    How much did the whole benchmark cost?

    53.33 dollars in total API spend to pool 2,717 findings across six models on 100 pages. The cheapest single model ran the full 100 pages for about 1.50 dollars; the most expensive for about 20.40 dollars.

    What are the limitations of this benchmark?

    The figures are scaled from a controlled run and rounded, so treat them as a snapshot of these model versions, not a permanent ranking. The evidence check proves a quote exists on the page, not that the model’s conclusion is objectively correct, so precision and recall stay provisional. The page mix is my own, and 85% of findings came from a single model, which is exactly why pooling several models matters. Use it as a decision aid, then validate on your own pages.

    Audit your content at scale, with data behind every finding

    Looking to audit your content at scale? That is what I do. I build AI-powered audits and automations for SEO and AI search, run them across thousands of pages, and turn the raw output into a ranked, data-backed fix-list instead of another crawler report. Every finding is checked against the page it came from, so you get signal, not noise.

    If you want an audit like this on your own site, or help getting cited in AI search, I offer AI search consulting and GEO consulting. Contact me and tell me what you are working on.

    Related reading

    Devendra Saini
    Written by
    Devendra Saini
    SEO & GEO Consultant · Helping brands win Google & AI Search

    An SEO and GEO consultant who helps businesses win visibility across Google and AI search (ChatGPT, Gemini and Perplexity), built on a foundation of deep technical SEO. His experience spans leading organic growth at Amber, the world's largest student-housing platform, and MPL, one of Asia's largest gaming apps and India's second gaming unicorn, after building SEO across 100+ clients at Obbserv, an award-winning agency. Ranked in the top 3 of the LinkedIn SEO category on Favikon, co-organiser of SEO Lager Fest (named a top SEO meetup to attend by Ahrefs, with its 2025 chapter sponsored by Semrush), and featured on platforms like JetOctopus.

    Top 3 · LinkedIn SEO (Favikon) SEO Lager Fest · Co-organiser Featured: Ahrefs · Semrush · JetOctopus
    📡 Never miss an update Search Bytes: my agent-curated timeline of confirmed Google updates & AI-search moves, with a free email brief. Subscribe →