How CiteCore scoring
actually works.
CiteCore publishes no client outcome it cannot show the evidence for, so this page describes the method instead. The Core AEO score grades five control files at 20 points each, in code rather than in a language model, and every rule below is enforced by the platform on every audit it runs.
5
Control Files Graded
20
Points Per File
5
AI Engines Queried
0
Numbers From A Model
The Core AEO Scan
Five files decide whether an AI can read you
Each of the five is worth 20 points, and each answers one question an answer engine asks before it can cite a site. CiteCore reads the live file over plain HTTP and grades what it finds.
robots.txt
20 points
Is an AI crawler allowed to read the site at all?
A single disallow line aimed at GPTBot, ClaudeBot or PerplexityBot removes a site from the answer set entirely. CiteCore reads the live file and reports which named agents are permitted, which are blocked, and which are blocked by a managed default the owner never set.
llms.txt
20 points
Does the site state what it is, in a form a model can read?
A short, structured summary at a fixed path. CiteCore checks that it exists, resolves with a 200, declares a single top-level heading, and describes the same entity the rest of the site describes.
llms-full.txt
20 points
Is the long-form version complete and consistent?
The expanded companion file. CiteCore grades structure — one H1, sectioned body, no contradiction with llms.txt — because a file that disagrees with itself gives a model a reason to discard both.
sitemap.xml
20 points
Does the sitemap describe every page, with freshness?
CiteCore compares the URLs the sitemap advertises against the URLs that actually resolve, and checks for lastmod. A sitemap listing four URLs for a seven-page site hides three pages from every crawler that trusts it.
schema
20 points
Does structured data identify the entity and the page topic?
CiteCore reads the JSON-LD each page emits and checks that the organization is identified once sitewide and that individual pages declare their own topic. Identical markup on every URL tells a model no page is about anything in particular.
Engine Coverage
CiteCore queries five AI engines by name
These are the engines the platform actually sends a question to and records an answer from. CiteCore does not count engines it cannot query.
An engine joins that list when the platform can send it a question and read a real answer back. Naming a platform CiteCore cannot query would inflate the coverage number without changing what a client learns, so the roster stays at the five engines above and the reports say which of them answered.
What The Score Will Not Do
Four rules that hold on every audit
Each of these makes a score harder to produce and easier to trust. They are enforced in the platform, not left to the operator running the audit.
The same site produces the same score
Scoring is deterministic and runs in code, not in a model. No completion decides a number. Re-run an audit on an unchanged site and the score is identical, which is what makes a change in the score mean something happened on the site.
A file we could not read is removed from the denominator
An unreachable control file does not score zero. It leaves the calculation, and the report says so. Scoring a file we never read would put a number on our own network failure and hand it to a client as their result.
Below three measured files, no score is published
If fewer than three of the five control files could be read, CiteCore withholds the Core AEO score rather than publishing one built on two data points. A withheld score is honest; a thin one is not.
History is never re-graded
Scoring formulas live in a versioned registry. When a formula changes it becomes a new version and past audits keep the score their own run produced. A number in a report you received last quarter still means what it meant when you received it.
Reading A Second Scan
What it means when the score moves
A deterministic score is worth having because of what a change in it proves. These are the four things a second scan can tell you, and the one thing it cannot.
The score went up and you changed a file
The change worked, and the report names which of the five files gained points and by how much. Because the formula did not move between the two scans, the difference is attributable to the site rather than to the method.
The score went up and you changed nothing
Something changed that you did not do. The usual causes are a platform or host updating a managed robots.txt, a CDN beginning to serve a file that previously timed out, or a CMS plugin adding structured data. The report shows the file, so the cause is findable rather than mysterious.
The score went down and you changed nothing
The same list in reverse, and it is the case worth catching early. A managed robots.txt that starts blocking AI crawlers by default will remove a site from answer engines without any visible change to the site itself, and nothing in a traditional analytics dashboard reports it.
The score is withheld this time and was not last time
Fewer than three of the five files could be read on this run. That is a fact about reachability, not about quality, and the report says which files failed and what the request returned. A score is not published to fill the gap.
What a score change does not tell you
It does not tell you that citation frequency changed. Those move on each engine's own re-crawl schedule, which no vendor controls and CiteCore does not forecast. The Core AEO score measures whether the site is readable; the recorded engine answers measure whether it is being cited. They are reported separately because they are different claims.
See your own five files graded
A CiteCore audit reads your live robots.txt, llms.txt, llms-full.txt, sitemap.xml and structured data, grades each one, and returns the score with the evidence behind every point. If a file cannot be read, the report says which one and why.
Request Your Audit