---
title: "Free GEO & AEO Score Checker: Audit Any URL for AI Search Visibility | App Stack Builder"
description: "Paste a URL and see what an AI retrieval crawler sees. 17 checks across crawl access, machine readability, structured data, answer shape and freshness — with the fix for every failure. Measures whether your page can be cited, not whether it was."
source: https://appstackbuilder.com/geo-score
retrieved: 2026-09-18
---

Free, no signup, nothing stored·[Run the SEO checker →](https://appstackbuilder.com/seo-checker)

# AEO & GEO Score Checker

See your page the way an AI answer engine does. Paste a URL and we fetch it the way a retrieval crawler does — no JavaScript — score the 17 things that decide whether an AI answer can quote you, and show you the context an agent actually walks away with.

17

scored checks

·

6

advisory notes

·

4

requests per scan

·

Zero

data kept

Try

We fetch the page the way a retrieval crawler does — no JavaScript — then request it again as a browser to see whether your edge treats the two differently. Nothing is stored.

Read this first

## What this measures, and what it cannot

One of these is a property of your HTML and can be checked exactly. The other needs prompt sampling against every assistant, and no amount of reading your page will produce it.

### It measures readiness to be cited

Can a retrieval crawler fetch this page, read its content without running JavaScript, tell what it is, and lift a clean passage out of it? Those are properties of your HTML, so they can be checked exactly rather than estimated.

### It cannot tell you whether you were cited

No amount of HTML reading reveals what ChatGPT said to someone yesterday. That needs prompt sampling against each assistant, which is what the paid AI visibility platforms do — we [compared the two worth paying for](https://appstackbuilder.com/blog/best-ai-visibility-geo-tools-2026) separately.

**A score is a starting point, not a verdict.** A page can pass all 17 checks and still go uncited because nobody asks about your category, or because the models learned the topic from somewhere with more authority. Treat a low score as a list of real defects and a high score as the absence of technical excuses — not as a prediction.

The rubric

## The five things we score

Twenty-five of the hundred points sit in crawl access, and failing any of it caps the score — a page a crawler cannot fetch is not a B-grade page.

### 1\. Crawl access

25 points · gates the score

Does the page return content to a plain crawler, or a bot challenge? Does robots.txt block the retrieval crawlers? Is there a noindex or a nosnippet? We also request the page a second time with a browser user agent and compare: if a browser gets your content and a crawler gets a challenge, that is an edge-level block, and it is invisible in every audit that only reads robots.txt.

### 2\. Machine readability

24 points

How much text is in the HTML response, before any JavaScript runs — plus whether the document has a single H1 inside a main or article element and enough headings to split it into passages. A page whose content is assembled in the browser is, to most of these crawlers, an empty page.

### 3\. Structured data

16 points

Valid JSON-LD, a type that says what kind of page this is, a named author or publisher, and dates. This is the one part of the page that requires no interpretation at all.

### 4\. Answer-shaped content

20 points

Lists and tables that can be lifted whole, headings phrased as the questions people actually ask, sections short enough to quote, and alt text on images. Retrieval works on passages, so the unit of optimisation is the section, not the page.

### 5\. Freshness & sourcing

15 points

A title and description that do their job, a machine-readable date, and outbound citations of your own. These are the tiebreakers between two pages that are equally relevant.

How it scores

## Three decisions that make this score different

Most checkers flag every AI bot in your robots.txt and score a file nobody has shown an assistant reads. These are the places we deliberately disagree.

### Blocking a training crawler costs you nothing

Most checkers flag any AI bot in your robots.txt as a problem. That is wrong. GPTBot, ClaudeBot, Google-Extended and CCBot collect training data; OAI-SearchBot, Claude-SearchBot and PerplexityBot fetch a page to answer a question and cite it. Opting out of training while staying eligible for citation is a coherent, common position — we report it and deduct nothing.

### A failed gate caps the score instead of nudging it

If a crawler cannot fetch or quote your page, the schema and the heading structure are irrelevant. A weighted score would hand a blocked page a respectable C for being well built behind the wall. Ours caps it and says so.

### Weak heuristics are reported, never scored

"Answer in the first 50 words" and "numbers per 1,000 words" sound rigorous and flag good pages — including ones on this site. They appear as observations with no points attached, alongside llms.txt, which is worth zero on purpose because nobody has shown an assistant reads it.

FAQ

## Questions people ask about GEO scores

### What is a GEO score?

A GEO score — generative engine optimization, also called AEO or answer engine optimization — measures how ready a page is to be read and quoted by the crawlers that feed AI answers in ChatGPT, Perplexity, Gemini and Google AI Overviews. This checker scores 17 things across five areas: whether retrieval crawlers can reach the page at all, whether the content exists in the HTML without JavaScript, whether structured data describes what the page is, whether the writing is shaped into quotable passages, and whether it carries freshness and sourcing signals.

### Does this tell me if ChatGPT cites my site?

No, and no tool that only reads your HTML can. Citation tracking requires running prompts against each assistant and parsing the answers, which is what paid AI visibility platforms do. This checker answers the question underneath that one: if an assistant did fetch your page, could it read and quote it? Fixing that is a prerequisite for citations, not a substitute for measuring them.

### Why did blocking GPTBot not lower my score?

Because blocking GPTBot is a legitimate choice, not a mistake. GPTBot collects training data; OAI-SearchBot, Claude-SearchBot and PerplexityBot fetch pages in order to answer a question with a citation. You can opt out of training and stay fully eligible to be cited, and plenty of publishers deliberately do. We report your training-crawler policy as an observation and deduct nothing for it. Blocking the retrieval crawlers is the one that costs you.

### Why is my score capped when I scored well elsewhere?

Crawl access is a gate, not a weighting. If a retrieval crawler gets a bot challenge, a 403, a noindex or a nosnippet, the page cannot be cited no matter how well structured the rest of it is — so a failure there caps the score rather than shaving a few points off it. A page that reads beautifully and cannot be fetched is not a B-grade page.

### Does llms.txt improve my score?

No. We check for it and report it, and it is worth zero points on purpose. There is no public evidence that any major assistant reads llms.txt as a retrieval or ranking input. It is cheap housekeeping that may matter later, and we are not going to score you on a file nobody has shown to be read.

### The checker says my content is missing, but the page looks fine.

That usually means the content is rendered by JavaScript in the browser and is not present in the HTML response. We fetch exactly what a retrieval crawler fetches and we do not execute scripts, which is the point of the test rather than a limitation of it — most crawlers that feed AI answers do not run your JavaScript either. Server-render or statically generate the main content and rerun.

### Is it safe to scan a URL here, and do you store anything?

We fetch the URL from our server, read the response, score it and return the report. Nothing is written to a database and no scan history is kept. Only public addresses can be scanned — local, private and cloud-metadata addresses are refused, and every redirect is re-checked before it is followed — because a tool that fetches arbitrary URLs is otherwise an easy way to probe someone else’s network.

Next

## Where to go from here

[Best AI Visibility & GEO Tools 2026Measuring whether you are actually cited](https://appstackbuilder.com/blog/best-ai-visibility-geo-tools-2026)[Programmatic SEO Guide 2026Building the pages worth checking](https://appstackbuilder.com/blog/programmatic-seo-guide-2026)[Top SEO Tools & Cheap AlternativesThe suites these checks sit alongside](https://appstackbuilder.com/blog/top-seo-tools-cheap-alternatives-2026)
