Home / Articles / Blog

AI Visibility Checkers, Explained: How geo.new and Is Agentic Score Your Website
AI visibilityGEOAEOSEOAI agents

AI Visibility Checkers, Explained: How geo.new and Is Agentic Score Your Website

What geo.new and Is Agentic actually check, how their scores are built, a 30-line script that does a rough version of the same thing, and a fix-then-recheck loop for your own site.

Shrey Vijayvargiya

Primary keyword: AI visibility checker · Long-tail: free GEO audit tool, check if website is agent ready, AI crawler robots.txt rules, llms.txt checker, how AI search reads websites

You can rank #1 on Google and still be invisible when someone asks ChatGPT the same question. That gap is what "AI visibility" means, and a new type of tool has appeared to measure it.

I picked two of them, geo.new and Is Agentic, read their docs and scraped their public pages to find out what they actually check. This post covers what's under the hood, how the scores are built, a 30-line script that does a rough version of the same thing, and the fix-then-recheck loop to run on your own site.

Why AI visibility is now a separate problem

Classic SEO asks one question: will Google rank this page? AI visibility asks two more. Can an AI crawler read this page at all? And when it does, is there anything worth quoting?

Ahrefs compared 300,000 keywords and found that when an AI Overview shows up, the top-ranking page gets about 58% fewer clicks. The answer now sits on the results page, and fewer people click through.

There's also a second visitor: agents, such as ChatGPT agent or Claude, that open your site, read it and try to do something on it. I explained this "second customer" idea in the WebMCP sweet-shop post. The checkers below measure both audiences.

geo.new: 176 checks on one page

geo.new is free, needs no signup, and audits one URL at a time, not a whole site. Built by the SEOmator team, it splits the score into weighted buckets, according to its published methodology:

CategoryWeightWhat it looks at
AI Citability22%Answer-first openings, question headings, tables/lists, stats, source attribution, freshness
Content & E-E-A-T22%Author bios, dates, About/contact pages, external links, readability
Brand & Entity20%Consistent name, sameAs profiles, Wikipedia/Wikidata, how AI answers describe the brand
AI Access & Rendering15%robots.txt per bot, server-rendered content, headers, sitemap, llms.txt
Schema13%Valid JSON-LD, Article/author, WebSite, Breadcrumb, FAQ/Product
Browser LabUnscoredRaw HTML vs rendered DOM

Under the hood, four things stand out:

  • It reads robots.txt bot by bot. It doesn't just ask "is crawling allowed". It sorts bots into groups: search (Googlebot, bingbot), AI search indexers (OAI-SearchBot, PerplexityBot, Claude-SearchBot), user-triggered fetchers (ChatGPT-User, Claude-User) and training-only crawlers (GPTBot, ClaudeBot, CCBot). Blocking GPTBot for training is a choice. Blocking OAI-SearchBot by accident means ChatGPT search can't cite you.
  • It compares raw HTML with the rendered page. The Browser Lab loads the page in a real browser and diffs it against the first HTML response. If your main text only shows up after JavaScript runs, many AI fetchers never see it.
  • It checks llms.txt with a simple bar. The file passes with at least five non-empty lines and at least one link.
  • "Platform Readiness" reuses existing checks. It's a pass rate for AI Overviews, ChatGPT search, Perplexity, Gemini and Copilot, built from checks already counted elsewhere. The docs openly call this a double count.

geo.new is also built for agents. Its geo-new npm package works as a CLI and an MCP server. You can run npx -y geo-new audit <url> --min-score 70 in CI to fail a build if the score drops, or add it to Claude Code and let the agent audit, fix and re-audit on its own.

Is Agentic: can an agent use your site?

Is Agentic comes from Vercel, with the scans run by Ora. It asks a different question from geo.new: not "will AI quote this page?" but "can an agent find, read and use this site?"

The score is out of 100, and a ScriptByAI walkthrough lays out how it splits:

  • Essential (80 points): server-rendered content, correct HTTP status codes, clear document structure, recoverable errors, usable buttons and forms, and identity metadata (canonical URL, language, Open Graph).
  • Recommended (20 points): APIs, OAuth, MCP servers, developer docs, commerce. These only switch on if the scan finds that capability, so a blog isn't penalized for having no OAuth flow.
  • Bonus (up to 5 points): newer formats such as Markdown content negotiation.

Each report also includes an observed agent journey: an agent tries to navigate your site, and the report records where it got stuck. It doesn't count toward the score, but it shows you the friction directly instead of as a number.

Cloudflare launched a similar score at isitagentready.com, and its adoption data shows how early this all is. Across the top 200,000 domains, about 78% have a robots.txt, but only around 4% declare AI usage preferences in it, and about 3.9% serve Markdown when an agent asks for it.

How to build a rough checker yourself

Most of the access layer is plain HTTP requests. Here's a quick version I scraped together:

python
import re, requests

URL = "https://ihatereading.in"
AI_BOTS = ["GPTBot", "OAI-SearchBot", "ChatGPT-User",
           "ClaudeBot", "Claude-SearchBot", "PerplexityBot"]

robots = requests.get(f"{URL}/robots.txt", timeout=10).text
for bot in AI_BOTS:
    blocked = re.search(rf"User-agent:\s*{bot}\s*\nDisallow:\s*/\s*$",
                        robots, re.I | re.M)
    print(f"{bot:18} {'BLOCKED' if blocked else 'allowed'}")

llms = requests.get(f"{URL}/llms.txt", timeout=10)
print("llms.txt:", llms.status_code, len(llms.text.splitlines()), "lines")

md = requests.get(URL, headers={"Accept": "text/markdown"}, timeout=10)
print("Markdown negotiation:", md.headers.get("content-type"))

html = requests.get(URL, timeout=10).text
print("JSON-LD blocks:", html.count("application/ld+json"))
text = re.sub(r"<[^>]+>", " ", html)
print("Words in raw HTML:", len(text.split()))

If "words in raw HTML" comes back near zero while the page looks full in a browser, you have a client-rendering problem, and that's the AI access issue to fix first. The robots regex is deliberately naive (proper parsers handle grouped user-agents and wildcards). The citability and brand checks are harder to copy, because geo.new's visibility checks look at how AI Overviews, ChatGPT and Google AI Mode describe your brand.

How to improve, then re-check

This is the order I'd fix things in, cheapest first:

  • Unblock the right bots. Allow AI search and user fetchers (OAI-SearchBot, ChatGPT-User, Claude-SearchBot, PerplexityBot) even if you block training crawlers. Two lines in robots.txt.
  • Server-render the content. Static generation or SSR for every page you want cited. This also helps cost and speed, as covered in why our websites are slow.
  • Write answer-first. Open each section with the claim in one sentence, then explain. Use question-style H2s, tables and real numbers. The full playbook is in our AEO guide for technical founders.
  • Add JSON-LD. Article with author and date on posts, Organization with sameAs links on the homepage.
  • Publish llms.txt with a summary and links to your key pages.
  • Make the brand consistent everywhere. Same name, same one-line description, across directories and profiles. Listing on SaaS directories helps here, and our 393-directory breakdown covers which ones are worth it.
  • Serve Markdown on Accept: text/markdown if you're on Vercel or Cloudflare, where it's a small middleware change.

Then re-check the same URL. Both tools are built for this: Is Agentic keeps the share link stable when you rescan, and geo.new's CLI has a compare command that diffs two audits and returns a non-zero exit code if the score dropped. Save the "before" report first, or you won't be able to prove anything moved.

What these scores can't tell you

A high score means AI can read and quote you, not that it will. Both tools say this plainly: results are a snapshot of one URL at one moment, and bot defenses, logins and geography can change what an agent sees. Treat the score like Lighthouse. It's a checklist for removing blockers, not a ranking guarantee.

The content still has to be worth citing. If you're publishing at volume, the quality guardrails in how we write 100+ SEO blogs a day matter more than any score.

Where to start

Run your homepage and your best blog post through both tools. geo.new tells you whether AI search will quote the page; Is Agentic tells you whether an agent can use the site. Fix the blockers, rescan, and keep the before/after reports.

More teardowns like this go out on the blog every week, and the monthly magazine collects the best SEO and AI tooling links in one place.

External Links (7)

Explore topics

More in

Weekly letter

Subscribe to iHateReading

Our once-a-week newsletter on programming, jobs, AI, and building products online.

Our once a week newsletter on Programming, Jobs, AI, and Business