tests llm-fight

Result: Anthropic winsSEO with AIExperiment closed

Anthropic vs. OpenAI

Can SEO be fully automated with AI? The short answer is no, but I wanted to test it. Two fictional agencies, one run by Anthropic and the other by OpenAI, get the same brief and compete to build a website from scratch. Whoever brings organic acquisition first wins. I only orchestrate: every decision comes from the models.

period
Sep 28 to Oct 22, 2026
rounds
6 (R0 to R5)
niche
Service pricing
models
Claude 5.5 · GPT-5.6 → GPT-6 (Astra)
winner

Anthropic

// The result

Anthropic won: 13 organic clicks and 2,576 impressions against 0 clicks and 153 impressions for OpenAI. The gap came from the volume strategy and one anchor page, the per-km calculator, which drew 70% of the impressions.

13
organic clicks
0
2,576
impressions
153
17
GA4 sessions
11
directsocialorganic
/calculadora-km-rodado/1,804 impressions · pos 8.6
best page
/ferramentas/calculadora-valor-hora/105 impressions · pos 7

Source: Search Console (includes fresh data) and GA4 · updated on Oct 22, 2026

Presence in Google’s AI

From Oct 15, Anthropic’s site started showing up in Search’s generative AI features, such as AI Overviews and AI Mode. The per-km calculator, the same page that led in organic search, accounted for 3 out of every 4 appearances, and 70% of them came from mobile.

Anthropic

71

impressions in AI features

top pages

  • /calculadora-km-rodado/53
  • /tabela-de-precos/pintor/7
  • /tabela-de-precos/pedreiro/5
OpenAI

0

impressions in AI features

No data in Search Console’s AI features report.

Source: Search Console, performance in Search generative AI features · Oct 15 to Oct 20, 2026

What we tested

Each team gets the same AGENTS.MD, the document that defines its role, how to organize and what counts as a win. In short:

The setting
Two SEO agencies compete for a valuable contract. The test: build a site from scratch and generate organic acquisition as fast as possible.
The model’s role
Each model leads a squad. It designs the workflow, delegates to subagents, approves everything and can do hands-on work.
Organization
Organized folders and a log of conversations, decisions, concerns and next steps.
Data at the right time
Metrics like search volume, Search Console and Analytics are released by the client as the game moves on.

Anthropic used Claude 5.5 from start to finish. OpenAI started with GPT-5.6 and moved to GPT-6 (Astra), released in the middle of the test.

There is no world where we hand an entire operation to AI and it just works. This is a controlled test, judged from the perspective of someone who runs large SEO projects every day.

The teams

Anthropic

Company Alpha
live pages
29
stack
Astro

Initial strategy, in the model’s own words (translated from Portuguese):

  • In 30 days, a new domain doesn’t win an authority fight. It wins by the number of weak SERPs covered with the best page on the SERP.
  • Genuinely useful tools, each with supporting content on the same URL, connected in a flow (hourly rate → service price → quote → receipt).
  • No programmatic page goes live without distinct data.
  • No sign-up, no pop-ups, no ads in month 1.

OpenAI

Company Omega
live pages
10
stack
Static HTML

Initial strategy, in the model’s own words (translated from Portuguese):

  • A free, transparent, no-sign-up tool that calculates price/hour/project, explains the math and turns the result into a quote.
  • Publish 10–15 strong URLs, not dozens of thin pages.
  • One transparent central calculator; verticals only when they have their own fields and example.
  • Don’t chase overtime, hourly wage or CLT working-hours queries: despite the volume, the intent is labor-related and doesn’t match the product.

How each one prepared

Each model saved its steps and decisions in logs. This was the reasoning at each stage.

OrganizationSep 27–28
Anthropic

Kickoff with a folder structure, a numbered log per decision and a delegation table with an owner and a deliverable per role. Only the leader calls Ahrefs, and every call goes into a cost ledger.

OpenAI

Opened by reading AGENTS.MD and running three tracks in parallel (technical SEO, content and product). Each subagent writes its own report; the leader keeps a short coordination log.

ResearchSep 27–28
Anthropic

9,890 autocomplete suggestions, 19 SERPs mapped, 14 competitors audited, 70 domains checked and 4,769 Ahrefs units to build 183 keywords.

OpenAI

Free research grounded in primary sources (Google’s documentation, IBGE, SERP). In Ahrefs, three calls and 4,676 units, with the cost audited line by line.

StrategySep 27–28
Anthropic

Volume: 61 URLs on day zero, across tools, price tables by profession, guides and hubs, to cover many weak SERPs.

OpenAI

Depth: one central, transparent calculator, 10 to 15 strong URLs and a quote generator as the expansion.

Decisions and vetoesSep 27–28
Anthropic

Vetoed HowTo and Dataset schema, cut programmatic pages from 30–50 to 32, removed the year from URLs and added gates: a profession page with no source or fewer than 8 services does not go live.

OpenAI

Decisions recorded by the tech lead: static site, local calculation, a single calculator to avoid cannibalization, no price benchmark and no tax advice. Dropped employment-law queries.

ChallengesSep 28–29
Anthropic

Five agents in parallel left a branch that did not build. The leader shipped only the stable base and kept the rest as a backup. An unregistered domain blocked the deploy, and a real author and reviewer were missing.

OpenAI

Subagents edited the same files at the same time, and one deleted the calculator script. With the agents at their operating limit, the leader took over back-end developer and tech lead.

MeasurementSep 29
Anthropic

GA4 with Consent Mode v2 and denied by default: cookieless signals before the banner is accepted.

OpenAI

Opt-in GA4: the tag only loads after consent, with no calculator events and no typed values sent.

First dataOct 10
Anthropic

671 impressions, 84% on a single page (per-km). Diagnosis: the site was too small. Plan ranked by expected clicks in 3 weeks: double down on per-km and publish the quote template and spreadsheet.

OpenAI

5 impressions and only the homepage indexed. Diagnosis: pages discovered but not crawled. Plan: fix discovery and measure the calculator before growing; the quote generator is the only new product.

AuditOct 11
Anthropic

Broad: went through the spreadsheet block by block, adopted llms.txt and an AI crawler policy and suggested an AI channel group in GA4, which the client turned down.

OpenAI

Selective: fixed only what had evidence in the HTTP responses (duplicate variants, headers, accessibility) and turned down llms.txt and AI crawler rules.

reading · Anthropic

Anthropic behaved like an agency with a process. The leader split the work, chased deliverables and settled disagreements between subagents, always with written rules: no price without a source, nothing on main without a green build. When something broke, like the branch that did not build, it isolated the problem and moved on with what was stable.

When the data arrived, it read the per-km calculator’s traction as confirmation of the volume thesis and sped up. Every decision was ranked by what would bring the most clicks within the challenge deadline.

reading · OpenAI

OpenAI behaved like a cautious consultancy. Each specialist documented its own reasoning in depth, with sources, and the leader recorded only the essentials. Technical decisions became formal records before any code, and risk (legal, trademark, privacy) weighed as much as traffic.

When the data arrived, it read the lack of impressions as a warning and investigated the foundation before growing. It turned down anything without evidence, even when that meant passing on bets Anthropic made.

→ Anthropic prepared to scale through process. OpenAI prepared to make few mistakes.

How it went, round by round

  1. R0done

    Debate and niche selection

    Before any website, both companies had to agree on where to compete. No external information, only each model’s own knowledge, in up to 12 turns.

    1. 01Both models were put into a conversation via API, with a simple app acting as the intermediary.
    2. 02The general prompt laid out the challenge and stated that each company had to reach consensus with its competitor.
    3. 03Each model also got the same individual prompt: talk, defend its points and push back on the other.
    4. 04OpenAI opened in a friendlier tone and got a firm rebuttal from Anthropic.
    5. 05In the end, they landed on a niche both agreed would be the easiest to hit the main goal.
    Anthropic
    • Firmer: pointed out the flaw before suggesting
    OpenAI
    • Friendlier and more diplomatic

    → Consensus: a pricing tool for service providers.

  2. R1done2026-09-28

    Strategy, domain and initial site

    Each squad researched keywords in Ahrefs, picked a name and domain, defined the architecture and started building.

    Anthropic
    • Picked cobrarbem.com.br out of 70 names checked at registro.br
    • Planned 61 URLs at launch; home and hourly-rate calculator on main
    • Vetoed HowTo and Dataset schema for lack of real benefit
    OpenAI
    • Picked contadopreco.com.br (Conta do Preço)
    • Published the calculator, 3 guides and institutional pages
    • Cent-precise formula with automated tests
    side by side
    AnthropicOpenAI
    ThesisBreadth: many weak SERPsDepth: a few strong pages
    Initial scope61 URLs10–15 URLs
    ProgrammaticYes, controlled and sourcedOnly after GSC signals
    Labor-law queriesConditional, pending approvalDropped
    StackAstro SSGStatic HTML
    Ahrefs budget4,769 / 5,0004,676 / 5,000
  3. R2done2026-10-01

    The sites go live

    With the niche and strategy set, each team had to put its own site into production, simulating the work of an entire SEO team. Both got the same instructions:

    1. 01Up to 5,000 Ahrefs credits via MCP for keyword research.
    2. 02Unlimited research of SERP competitors.
    3. 03Research available domains and recommend one to connect to the site.
    4. 04Build with any technology they wanted and push everything to a repository.
    5. 05Deliver the site fully optimized for SEO basics, ready for production.
    Anthropic
    • Shipped cobrarbem.com.br with Disallow: / in robots.txt, blocking crawling
    • Built with Astro, 20 URLs in the sitemap
    • GA4 with Consent Mode v2 and a cookie banner
    OpenAI
    • Shipped contadopreco.com.br in HTML and JavaScript, no framework
    • 9 pages live, within its lean plan of about 15 URLs
    • GA4 only loads after the visitor accepts cookies
    how each one handled it
    Anthropic

    It went for volume, with a lot of process. In about two days it put 20 URLs live: calculators, guides and price tables, on the way to the 61 it planned. Every step got a numbered log, a shift handoff and a validator that blocks unsourced or thin pages before deploy.

    The robots.txt slip came from a safeguard left half done: the team built a lock so only production would be indexable and previews would never show up on Google, but production didn’t switch the lock off. The fix was fast and went to the root. Production deploys now open indexing on their own, while previews stay blocked.

    For GA4 it used Consent Mode v2, which sends cookieless signals even before the visitor accepts the banner. That means more data for the next rounds.

    OpenAI

    It went for depth, with caution. It stayed at 9 pages, with no framework and no build step, and invested in calculator accuracy: values in cents with integer arithmetic, input limits, automated tests and an accessible form.

    It turned down SEO shortcuts. No fictional author, no FAQ markup just to chase a rich result, no empty hub pages and no second copy of the calculator on another URL that would cannibalize the home page.

    The squad hit friction. Subagents edited the same files at the same time, and one deleted the calculator script while another was working on it. The lead took over the back-end dev and tech lead roles when the agents hit their operating limit. For GA4 it was the strictest: nothing is sent before consent, which protects privacy but tends to yield less data.

    side by side
    AnthropicOpenAI
    StackAstroHTML + JavaScript
    LighthouseTechnical tieTechnical tie
    Live pages209
    URL planUp to 61About 15
    Robots.txt at launchBlocked everything (fixed)Open

    → A technical tie on Lighthouse. The robots.txt slip goes on Anthropic’s tab.

  4. R3done2026-10-08

    Results preview

    With the sites live for just over a week, Search Console and GA4 finally had data. Same strategy, same autonomy, and Anthropic pulled ahead.

    Anthropic
    • 472 impressions in Search Console
    • 13 of 20 pages indexed
    • Best URL: /calculadora-km-rodado/, with 401 impressions and an average position of 9.6
    OpenAI
    • Only 3 impressions in Search Console
    • Only the homepage indexed, out of 9 submitted pages
    • Homepage average position: 44.3
    how each one handled it
    Anthropic

    The best page is straightforward: the calculator sits above the fold, no fluff, with the methodology explained right below. A format that works well for AI Overviews, which may explain part of the impressions.

    OpenAI

    The site is still live, but almost invisible. Bad luck with indexing, or a technical issue blocking crawling? The next round should tell.

    side by side
    AnthropicOpenAI
    Impressions4723
    Indexed / submitted13 / 201 / 9
    Best page/calculadora-km-rodado// (home)
    Clicks20

    → Anthropic’s first real lead in the data. If it keeps up, it wins by a wide margin.

  5. R4done2026-10-11

    Data released and audit

    Both teams got access to Search Console and GA4, another 5,000 Ahrefs credits and a technical audit template with a predefined scope. The task: read the data, rebuild the strategy from it and fix whatever the audit flagged in the same session.

    Anthropic
    • Read Search Console by page and device and inspected all 20 URLs one by one
    • Used about 2,100 Ahrefs credits to map the per-km cluster and analyze the SERPs
    • Shipped 11 new pages through a PR and adopted llms.txt and an AI crawler policy
    OpenAI
    • Split the analysis into three reports: Search Console, GA4 and Ahrefs
    • Used about 2,300 Ahrefs credits, with a usage audit, and picked the quote generator
    • Fixed duplicate URLs and headers and turned down llms.txt and AI crawler rules
    how each one handled it
    Anthropic

    It used the data to confirm its breadth thesis. Search Console showed one page, the per-km calculator, held almost all impressions. Instead of calling it luck, it went to Ahrefs to map the whole cluster (freight, towing, reimbursement, per-km tables) and checked that the top 10 had blogs with few links. Conclusion: double down where there was already traction.

    It cross-checked GA4 against Search Console and saw the consent banner hides part of the traffic, so it made GSC clicks the official acquisition metric. In GA4 it also found an organic visit landing on a 404, and that page became a priority.

    It turned the analysis into a prioritized plan, ranked by expected clicks in three weeks: hygiene, per-km satellites, quote template and pricing spreadsheet (the two biggest topics with no page), generator and indexing. It shipped everything in the same session with parallel subagents, taking the site from 20 to 31 pages.

    On the audit it went broad: it worked through the template block by block, justified what didn’t apply and adopted the GEO recommendations. It also suggested GA4 changes, like an AI channel group, which was turned down.

    OpenAI

    It used the data to diagnose before acting. With almost no impressions, it stressed the sample’s limits and left titles and CTR alone. It asked for Search Console screenshots to understand indexing and concluded Google simply hadn’t crawled the pages yet. It wasn’t a rejection.

    In GA4 it noticed the calculator had no usage events, so there was no way to know if anyone actually calculated anything. It added three minimal events, consent-only and with no financial values. The priority became fixing discovery and measuring the product before expanding.

    In Ahrefs it went keyword by keyword and warned that the top page’s traffic potential is not a forecast. It reviewed the queue and dropped per-profession pages for low volume. It picked a single new product, the quote generator, tied to the existing calculator, and shipped it. The site went to 10 URLs.

    On the audit it was selective: it treated the template as a checklist and fixed only what HTTP responses proved (duplicate variants, headers, accessibility, privacy contact). It turned down llms.txt, an AI crawler policy and mandatory FAQ schema, and called the AI-citation claims hypotheses.

    side by side
    AnthropicOpenAI
    Reading the dataFound traction and chased itFound the bottleneck and paused expansion
    Acquisition metricSearch Console clicksSearch Console + calculator events
    Ahrefs (new round)~2,100 credits, by cluster and SERP~2,300 credits, by keyword
    Content decisionPer-km satellites, quote template, spreadsheetOnly the quote generator
    Live pages20 → 319 → 10
    AuditBroad, adopted GEOSelective, evidence only

    → The same kinds of data led to opposite paths. Anthropic read them as confirmation and sped up. OpenAI read them as a warning and checked the foundation before growing.

  6. R5done2026-10-22
    Wrap-up and takeaways

What this means for SEO

Claude won the challenge comfortably, but that does not mean it is definitively the best model in this context. SEO strategies do not always need to follow the same path.

ChatGPT was more cautious and validation-driven, and avoided publishing changes it had no proven confidence in. Claude took risks and, in a test that rewarded bringing acquisition first, that paid off. But in which situations would you apply that strategy in real life, for your business or your client’s?

Maybe the best approach is a bit of both. Inertia has its price. So does recklessness.

Technically speaking, it is impossible to leave the operation to either model. Both built their sites with the same guidance, and we ran into problems such as:

  • crawling blocked in robots.txt;
  • subagents overwriting each other’s work, adding extra token cost;
  • misconfigured GA4 events.

So where do we gain in an SEO operation? Speed. The models are great at covering the technical gaps we all have in some area, running tasks in parallel, automating research and interpreting data quickly. If you know how to orchestrate it all, with solid theory and hands-on experience, AI can speed up the routine A LOT.

Does AI replace operational work in SEO? Absolutely. Does AI replace people in SEO? No. Not yet in 2026.

Methodology

01

Same brief

Both teams get identical instructions. The niche, pricing tools for service providers, was chosen by consensus between the models.

02

Full autonomy

Domain, layout, strategy, content and code are the models’ decisions. I only bridge them and release resources at the right time.

03

One squad per company

Each lead manages subagents: technical SEO, content strategist, writer, front-end dev, back-end dev, tech lead and PM.

04

Data on demand

Each team gets the same Ahrefs unit quota via MCP. Search Console and Analytics are released and data analysis becomes part of the game.

05

Win condition

Most organic acquisition within 1 month wins. The deadline may change.

06

Golden rule

Follow the guidelines. Buying links, spam and deceptive content are banned.

Data sources

  • Search Console: clicks, impressions and best page per domain property, including fresh data.
  • GA4: sessions by channel. Both sites use a consent banner, so GA4 undercounts real traffic.
  • Indexing: pages submitted in the sitemap and indexed according to Search Console.
  • AI features: Search Console report on performance in Search generative AI features.
// follow on linkedin
  1. 01The challenge: can SEO be fully automated? (pt-BR)
  2. 02The debate and the niche (pt-BR)
  3. 03Who built the better site? (pt-BR)
  4. 04Habemus data: the first numbers (pt-BR)
  5. 05Data released and audit: two opposite paths (pt-BR)

updated on Oct 22, 2026