Why doesn't ChatGPT recommend my company?
By Saroj Jha · August 3, 2026 · 8 min read
Ask an AI engine this and you get a visibility checklist: fix your Google Business Profile, get consistent NAP details, collect reviews, earn backlinks, add schema. All true, all worth doing, and none of it explains the actual failure.
The checklist ceiling
out of 100 — agent-readiness score
"Contact us" is a non-answer to a machine.
Ask an AI engine this and you get a visibility checklist: fix your Google Business Profile, get consistent NAP details, collect reviews, earn backlinks, add schema. All true, all worth doing, and none of it explains the actual failure.
You can complete every item on that checklist and still score 52 out of 100 on whether an AI agent can do anything with you.
That is not a rhetorical number. It is what the agent-readiness engine returns when you pass every visibility and markup check and nothing else.
The reason the checklist tops out so low is that roughly half the score has nothing to do with being found. It is about what your business has decided to publish, and what it will let a stranger do without talking to a human. No amount of structured data fixes a pricing page that says “contact us.”
None of this is specific to ChatGPT: the same gap applies to Perplexity, Claude and Google’s AI Overviews. Here is the arithmetic, run on a real audit, with the output shown, using the same reproducible engine-output method as My LTV:CAC Is Below 3:1. Which Number Should I Fix First? The same discipline applied to quarterly reporting metrics is in How do I know if marketing is working?
When an assistant can find you and still leaves you out, the gap is usually what you publish, not your markup. On AAJ’s agent-readiness audit, a site that passes every visibility check and nothing else scores 52 of 100. The other 48 points are publishing decisions: a price a machine can read, specs in tables, comparison facts, and one path that completes without a human.
In three numbers
- 52/100 for a site that passes all eight visibility and markup checks and nothing else, on AAJ’s open-source agent-readiness engine[1]
- 12 points the largest gap on that site: prices a machine can’t read. Publishing them lifts the score to 64[1]
- 41% more of a GPT-3.5 answer went to sources rewritten with added quotations, the best of nine rewrites tested in the 2024 GEO study[2]
The visibility half of the problem
The engine scores fifteen checks across five dimensions. Eight of them cover findability and machine-readability, which the standard advice already handles:
- Content renders without JavaScript: 14 points
- Structured data on key pages: 8
- llms.txt published: 5. That is this engine’s weight. llms.txt is a 2024 proposal by Jeremy Howard, not a standard[3]; Google says Google Search doesn’t use such files[4], and AAJ’s SEO & GEO Readiness Scorer, a different rubric, gives it 2 of 100
- Clean heading hierarchy: 3
- Organization schema, consistent identity: 6
- AI crawlers permitted in robots.txt: 6
- No blanket bot-blocking at the edge: 4
- Key actions aren’t CAPTCHA-walled: 6
That is 52 points. Every one of them is on the usual “get recommended by AI” checklists, and they are all worth doing. The crawler check is the one most often half done, because each assistant reads pages for its answers with a different crawler from the one that trains its models. Blocking GPTBot keeps your pages out of OpenAI’s training; ChatGPT search reads them through OAI-SearchBot, and blocking that one keeps you out of its answers[5],[6].
- Assistant Reads pages for answers Collects training data Block the answer crawler and
- ChatGPT OpenAI OAI-SearchBot GPTBot Your pages aren’t shown in ChatGPT search answers, though they can still appear as navigational links
- AI Overviews and AI Mode Google Googlebot The page must be indexed and eligible for a snippet Google-Extended Covers Google’s other AI systems, not Search You leave Google Search altogether; nosnippet and max-snippet limit what is shown instead
- Perplexity PerplexityBot None: PerplexityBot is not used to collect content for training Perplexity tells sites to allow it in order to appear in its search results
- Claude Anthropic Claude-SearchBot ClaudeBot Your visibility and accuracy in Claude’s search results may drop
A person’s request is different. ChatGPT-User, Perplexity-User and Claude-User fetch a page when someone asks. OpenAI and Perplexity say robots.txt may not apply to theirs; Anthropic says blocking Claude-User stops Claude retrieving your pages for users.
OpenAI, Overview of OpenAI Crawlers[5]; Google Search Central, AI features and your website[7] and its generative AI guide[4]; Perplexity, Perplexity Crawlers[8]; Anthropic Help Center, on ClaudeBot, Claude-User and Claude-SearchBot[9]. All checked October 14, 2026. Robots.txt changes take about 24 hours to apply at OpenAI and Perplexity.
The other 48 points are different in kind:
- Pricing published and parseable: 12
- Self-serve path exists: 8
- Specs and features in structured form: 7
- Comparison facts available: 6
- Public API or documented integration: 6
- Claims sourced and verifiable: 5
- Facts consistent across surfaces: 4
None of those are visibility. Publishing your prices is a commercial decision. Offering a route that completes without a sales call is a go-to-market decision. Documenting an API is a roadmap decision. No amount of directory listings or review volume moves any of them.
What a perfect visibility score actually looks like
Pass all eight findability checks, fail everything else:
52 of 100
52 earned: all eight visibility and markup checks 48 missing: the seven publishing checks
- Machine-readable content of 30
- Evaluable facts of 25
- Action surface of 20
- Identity and trust of 15
- Agent access policy of 10
Verdict: weak “An agent can read the site but can’t reliably evaluate or transact.”
Show the numbers as a table| Dimension | Earned | Max |
|---|---|---|
| Machine-readable content | ||
| Evaluable facts | ||
| Action surface | ||
| Identity and trust | ||
| Agent access policy | ||
| Total | 100 |
AAJ agent-readiness engine, run with the eight visibility and markup flags in “Run it on your own site”. Each track is drawn to the dimension’s maximum, so longer tracks carry more of the 100 points. The verdict line is the engine’s own wording.
Two dimensions at full marks. The verdict is still “weak”, and the engine’s one-line summary is the whole problem: an agent can read the site but can’t reliably evaluate or transact.
Being found is the part everyone optimizes. It is also the part that no longer differentiates anything, because it is the part that is easy.
The single most expensive line item is your pricing page
The largest deduction on that site is not schema, or reviews, or backlinks. It is twelve points for pricing a machine cannot parse. The engine’s reasoning is blunt:
An agent comparing options cannot include you. ‘Contact us’ is a non-answer to a machine — it will return your competitor’s number instead.
That is worth sitting with, because it explains the original question better than any visibility answer does. An agent asked to shortlist three vendors does not pause at a contact form. It does not email you. It returns the two vendors whose numbers it could read, and you are not rejected or ranked lower. You are simply absent.
Publishing prices moves the same site from 52 to . One change, no code, worth more than structured data and a clean heading hierarchy combined.
AAJ’s own site scores 75
I ran this on aajconsult.com. Prices are published, specs are in tables, facts are consistent across pages. It scored 75 of 100, a “partial” verdict, with four gaps left: a self-serve path (8 points), comparison facts (6), a public API (6) and sourced claims (5).
Action surface: 6 out of 20. That is the number that matters, and it is the worst score on AAJ’s site.
Every one of the four remaining gaps is a business-model decision. A consultancy selling sprints has no self-serve path because the product is a person’s attention. Nor is there an API through which an agent could buy one. Those are defensible choices, but they are choices, and the engine correctly refuses to let markup compensate for them.
The engine’s closing summary, set beside the visibility-only site, is the part worth printing out:
- Visibility-only site: aajconsult.com:
- Machine-readable content of 30 of 30
- Evaluable facts of 25 of 25
- Action surface of 20 of 20
- Identity and trust of 15 of 15
- Agent access policy of 10 of 10
What an agent can do today
- Read your content Yes Yes
- Compare you on price No Yes
- Take an action No No: every path needs a human
- Reach you at all Yes Yes
| Dimension | Visibility only | AAJ site | Max |
|---|---|---|---|
| Machine-readable content | |||
| Evaluable facts | |||
| Action surface | |||
| Identity and trust | |||
| Agent access policy | |||
| Total | 100 |
AAJ agent-readiness engine. aajconsult.com was self-assessed as passing the eight visibility checks plus published pricing, structured specs and consistent facts; its verdict is partial, with four gaps: a self-serve path (8 points), comparison facts (6), a public API (6) and sourced claims (5).
Three out of four. The one that fails is the one where revenue happens.
The comparison gets built whether you supply the facts or not
The six-point deduction for missing comparison data carries the sharpest line in the rubric:
Agents build comparisons whether or not you supply the facts. Absent yours, they use a competitor’s framing.
This inverts the usual instinct. The conventional reason not to publish comparison pages is that you would rather not draw attention to alternatives. In an agent-mediated market that stops working, because the comparison happens regardless, assembled from whatever the agent can find, which will be your competitor’s page about you, not your page about you.
The same logic applies to unsourced claims. An agent that cannot verify “3.2× pipeline growth” does not simply believe it less. It discounts it against a source it trusts more, and that source is rarely you. Research on AI answers points the same way: in the GEO study, rewriting a source to add quotations, statistics or citations gave it 27% to 41% more of GPT-3.5’s answers, while keyword stuffing gave it 8% less[2]. This is also why review volume and backlinks help less than the checklist implies: they establish that you exist, not what you cost or what you do.
- Quotation addition Evidence 27.2 +41%
- Statistics addition Evidence 25.2 +31%
- Fluency optimization 24.7 +28%
- Cite sources Evidence 24.6 +27%
- Technical terms 22.7 +18%
- Easy-to-understand 22.0 +14%
- Authoritative tone 21.3 +10%
- Unique words 20.5 +6%
- No optimization 19.3 Baseline
- Keyword stuffing 17.7 −8%
- Adds evidence: quotations, statistics or citations
- The unedited source
- Other rewrites
| Rewrite method | Score | Change |
|---|---|---|
| Quotation addition | 27.2 | +41% |
| Statistics addition | 25.2 | +31% |
| Fluency optimization | 24.7 | +28% |
| Cite sources | 24.6 | +27% |
| Technical terms | 22.7 | +18% |
| Easy-to-understand | 22.0 | +14% |
| Authoritative tone | 21.3 | +10% |
| Unique words | 20.5 | +6% |
| No optimization | 19.3 | Baseline |
| Keyword stuffing | 17.7 | −8% |
Aggarwal and colleagues (2024), “GEO: Generative Engine Optimization”, KDD 2024, Table 1: position-adjusted word count, the share of the generated answer drawn from a source, weighted toward the top, with GPT-3.5 answering queries from GEO-bench (10,000 queries). The table’s score is that measure; the percentage changes against the unedited source are my arithmetic. The paper reports gains of up to 37% on Perplexity.ai.
Run it on your own site
Two commands, no account. The installer asks which coding agent to install for; the paths below assume its shared .agents/skills/ folder:
npx skills add sarojkjha/aaj-marketing-skills --skill agent-readiness-audit
node .agents/skills/agent-readiness-audit/resources/agent-readiness.js --help
Then add one flag for each check you pass. To reproduce the 52-point visibility-only score above:
node .agents/skills/agent-readiness-audit/resources/agent-readiness.js \
--ssr --schema --llms-txt --clean-headings \
--org-schema --allows-ai-crawlers --no-agent-blocking --no-captcha
Add --json for machine-readable output, or --all to see what a perfect score looks like.
One caveat the engine states about itself: this is a self-assessment.
Do this
Verify each answer against the live site: view-source for rendering, robots.txt for access, and an actual agent attempt for the action surface. To measure the reach, read and understand layers on a live URL instead of self-reporting them, use the SEO & GEO Readiness Scorer.
Free tool
Run the fifteen checks in your browser
The free Agent Buyability Check scores the same fifteen checks across five dimensions in the browser, with nothing to install, and lists what to fix first.
Open the checkWhat to do with the result
If you scored in the fifties with good visibility, you do not have a discoverability problem. You have a publishing problem, and the order is:
- Publish prices. Twelve points, and the only gap that removes you from comparisons entirely rather than ranking you lower within them. Put them in the page text with the currency and unit. If you also mark them up with schema.org’s Offer type[10], Google’s guidelines require the marked-up price to be visible on the page[11].
- Structure your specs. Seven points. Tables with consistent labels. Say what it does, not how transformative it is.
- Open one self-serve path. Eight points. A trial, a purchase, or a booking that completes without a human.
- Publish your own comparison facts. Six points, including what you don’t do.
- Weak 40 to 64
- Partial 65 to 84
- Ready 85 and above
| Step | Points | Score | Verdict |
|---|---|---|---|
| Visibility and markup checks only | Weak | ||
| Publish prices | +12 | Weak | |
| Structure your specs | +7 | Partial | |
| Open one self-serve path | +8 | Partial | |
| Publish your own comparison facts | +6 | Ready |
AAJ agent-readiness engine, adding one flag at a time in the order of “What to do with the result”. The verdict bands are the engine’s own; below 40 it calls a site invisible.
The first two are copy changes. The third is a real decision, and for some businesses the right answer is to accept the deduction knowingly, which is a different thing from not knowing it exists. AAJ’s published rates, including the AI visibility work, are on the pricing page: the first fix in this list, applied to AAJ itself.
If you want me to look at your own funnel, positioning and channels, my Growth Audit ends with three prioritized fixes and a 30-day action plan.
Related on AAJ
Articles
- What Is GEO? What the Evidence Actually Says About AI CitationsThe other half of the question: what research says about being cited in AI answers.12 min read
- How AI Agents Are Changing Marketing: How to Stay DiscoverableThe wider shift from people searching to agents shortlisting for them.11 min read
- SEO for Startups: When to Start and What to Do FirstThe technical basics behind the eight visibility checks.15 min read
- My LTV:CAC Is Below 3:1. Which Number Should I Fix First?The same reproducible engine-output method, applied to unit economics.8 min read
Playbooks
- GEO & AEO PlaybookThe full method for getting found and cited by AI search engines.
- Pricing, Packaging & Monetization PlaybookDecide what price to publish before you make the first fix.
- Agentic AI Marketing PlaybookPilot agentic AI in your own marketing, with governance.
Reports
- Agent Readiness Study 2026295 startup websites checked for what an agent needs to find, compare and buy.
- AI Answer Visibility IndexHow often AI engines search, and whom they cite, across 40 founder questions.
Templates and tools
- Agent Buyability CheckThe same fifteen checks across five dimensions, in your browser.Free tool
- SEO & GEO Readiness ScorerMeasure the reach, read and understand layers on a live URL.Free tool
- Pricing Page Teardown & Price-Test LogScore your pricing page and three competitors before you publish.Free template
- Agent Readiness Audit skillThe open-source engine behind every score in this article.AAJ skill
References
The superscript numbers in the article match this list.
- Jha, S. (2026). agent-readiness-audit engine, agent-readiness.js, in the AAJ Marketing Skills repository (MIT licence). The open-source engine that produced the 52, 64 and 75 scores in this article; checked against version ed2501f, October 12, 2026. github.com
- Aggarwal, P., Murahari, V., Rajpurohit, T., Kalyan, A., Narasimhan, K. and Deshpande, A. (2024). GEO: Generative Engine Optimization. Proceedings of the 30th ACM SIGKDD Conference on Knowledge Discovery and Data Mining (KDD 2024), pp. 5–16. GEO-bench, 10,000 queries; answers generated with GPT-3.5, with a further test on Perplexity.ai. doi:10.1145/3637528.3671900
- Howard, J. (2024). The /llms.txt file: a proposal to standardise on using an /llms.txt file to provide information to help agents use a website. Published September 3, 2024. llmstxt.org
- Google Search Central (2026). Optimizing your website for generative AI features on Google Search. Last updated July 10, 2026. developers.google.com
- OpenAI (2026). Overview of OpenAI Crawlers. OAI-SearchBot, GPTBot, ChatGPT-User and what each robots.txt setting does. developers.openai.com
- OpenAI Help Center (2026). Publishers and Developers FAQ. help.openai.com
- Google Search Central (2025). AI features and your website. Last updated December 10, 2025. developers.google.com
- Perplexity (2026). Perplexity Crawlers. PerplexityBot and Perplexity-User. docs.perplexity.ai
- Anthropic (2026). Does Anthropic crawl data from the web, and how can site owners block the crawler? ClaudeBot, Claude-User and Claude-SearchBot. support.claude.com
- schema.org. Offer. The vocabulary for publishing a machine-parseable price and currency. schema.org
- Google Search Central (2026). General structured data guidelines. Last updated July 10, 2026. developers.google.com
- schema.org. Product. Specifications, features and limits in structured form rather than prose. schema.org
- Agent Skills (2026). Agent Skills Overview. The open skill format, originally developed by Anthropic, that the agent-readiness engine ships in. agentskills.io
- Model Context Protocol (2026). Specification, version 2026-07-28. The open protocol agents use to call tools and read structured data, maintained under LF Projects. modelcontextprotocol.io
More in AI Search & Agent Readiness
Part of the AI Search & Agent Readiness hub - see all 19 resources on this topic.
- Free tool: Agent Buyability Check
- AI agent skill: Agent Readiness Audit
- Report: Agent Readiness Study 2026
- Report: AI Answer Visibility Index