// methodology

What the instant audit checks, and how it decides.

The Synapse instant audit reads one URL from our server and runs up to 18checks on what comes back. Each result shows the evidence it was decided from. There is no score. This page describes the tool as it runs today.

Last reviewed 23 September 2026Checks: 18Score: none

The short version

We read your robots.txt, fetch your page and ask for an llms.txt. That happens on our server, not in your browser, and we read the HTML without running any of its JavaScript. Every check comes back as pass, needs work, fail or for information, with what we saw. We do not add them up into a number, because a number would imply a model of search we do not have.

How we fetch

Requests made
Three, normally, in this order: /robots.txt, the URL, and/llms.txt. If the URL redirects to another host, we read that host's robots.txt as well. We do not fetch your sitemap and we do not crawl your site. One URL per run.
Redirects and size
We follow up to four redirects and check every hop against the same address rules. We ask for the page uncompressed and read up to about 2 MB of it. If less than the whole page arrives, the report says so.
Who we say we are
SynapseAuditBot/1.0 (+https://synapsereality.io/tools/instant-audit/methodology/). The URL in it is this page. We never send a browser user agent. To block us, disallowSynapseAuditBot in robots.txt.
Rules we obey
Your robots.txt, for our own agent. If you disallow us, the run stops and says so. We do not go around it. Rate-limited per address, and requests to private, loopback and link-local addresses are refused outright. An audit tool that will fetch any URL you hand it is a server-side request forgery machine pointed at its own network.
What we keep
The findings, for 24 hours. A run stores the URL you gave us, the findings and a keyed hash of your IP address that we use for rate limiting. After 24 hours the whole record is deleted and the result link stops working. We do not store your page's HTML. The findings quote only short extracts, such as your title and headings.
What we do not do
No login, no form filling, no JavaScript execution, no screenshots, nothing behind a paywall or a geo-block. We read what an answer engine would read, which is the point.

How a result is decided

  1. 01

    Every check returns pass, needs work, fail or for information. The rule for each is in the tables below.

  2. 02

    Every check carries the evidence it was decided from where there is any, such as the title we found or the agents a rule blocks. You can disagree with us line by line.

  3. 03

    If only part of the page arrived, any check that needs the whole page is marked needs work and says it could not be established. It never passes on missing bytes.

  4. 04

    An unreadable robots.txt is reported as unreadable. It is a different fact from a permissive one, and the access checks are not run on it.

  5. 05

    There is no total. The report counts passes, needs-work, fails and information results, and stops there.

The answer-engine agents we check are OAI-SearchBot, ChatGPT-User, Claude-SearchBot, Claude-User, PerplexityBot, Perplexity-User, Googlebot, Bingbot, Applebot, DuckAssistBot, MistralAI-User. The training crawlers we report on are GPTBot, ClaudeBot, Google-Extended, CCBot, Applebot-Extended, Amazonbot, meta-externalagent, Bytespider.

Every check

The basics

The elements every engine reads first to decide what the page is and how to show it.

The basics, 6 checks
CheckHow it is decidedEvidence shown
Title elementFail if there is no <title>. Pass at 15 to 65 characters. Needs work outside that range, where titles are usually cut off or too thin.The title text
Meta descriptionNeeds work if missing, because engines then write their own summary. Pass at 50 to 165 characters, needs work outside it.The description text
Primary headingPass for exactly one <h1>. Fail for none. Needs work for more than one.The heading text, up to three of them
Document languagePass if the <html> element declares a lang attribute, fail if not. WCAG 2.2 requires it (3.1.1).The language code
Responsive viewportPass if a viewport meta tag is present, fail if not. Without one a phone renders the page at desktop width.The tag content
Canonical URLPass if rel=canonical is declared on the same host. Needs work if it points at another host, or if there is none.The canonical, resolved to an absolute URL

Indexability

A noindex removes the page from results outright. It is usually left behind by a staging setup or a CDN rule.

Indexability, 1 check
CheckHow it is decidedEvidence shown
IndexabilityFail if the robots meta tag or the X-Robots-Tag header says noindex or none, for every crawler or for one this tool names. Pass otherwise.The directive and where it was found

Content in the HTML

Vercel and MERJ found that none of the OpenAI, Anthropic, Meta, ByteDance or Perplexity crawlers render JavaScript. Gemini and Applebot do. Copy painted by a script is invisible to the rest.

Content in the HTML, 2 checks
CheckHow it is decidedEvidence shown
Content in the initial HTMLFail if fewer than about 600 characters of text arrive alongside three or more scripts. Pass otherwise. We run none of the JavaScript.None. The detail gives the character and script counts.
Image alternativesRun only when the page has images. Pass if every <img> carries an alt attribute, fail if any has none.None. The detail gives the count.

Structured data and sharing

Schema buys entity disambiguation and a few rich results. Google states that there is no special structured data for AI Overviews or AI Mode.

Structured data and sharing, 3 checks
CheckHow it is decidedEvidence shown
Structured dataNeeds work if there is no JSON-LD. Fail if any block does not parse, since engines then ignore it entirely. Pass otherwise.The @type values found
FAQPage markupReported only when FAQPage is found, as needs work. The FAQ rich result was deprecated on 7 May 2026, so the markup is inert.None
Share previewPass if og:title, og:description and og:image are all present. Needs work if any is missing.None. The detail gives how many of the three were found.

Answer-engine access

Access control is the one answer-engine lever with unambiguous primary-source evidence behind it. An engine that is blocked cannot cite you.

Answer-engine access, 5 checks
CheckHow it is decidedEvidence shown
robots.txtNeeds work if robots.txt could not be read: any answer other than 200 or 404. A 404 means no rules, which allows everything. This result replaces the next three.The HTTP status
Answer-engine accessFail if robots.txt blocks any answer-engine agent below from this path. Needs work if only part of the file was read. Pass otherwise.The agents that are blocked
Training-crawler accessReported for information, and only when a training crawler below is blocked. That is a policy choice with no effect on citation.The agents that are blocked
Sitemap declarationPass if robots.txt has a Sitemap line, needs work if not. We read the line. We do not fetch the sitemap.The first sitemap URL named
llms.txtReported for information whether or not one exists. It is never a pass or a fail, because no production answer engine is documented as reading it.None

Delivery

One fetch from our server cannot measure your Core Web Vitals. It can say how much HTML there is and how long it took to arrive here.

Delivery, 1 check
CheckHow it is decidedEvidence shown
HTML weight and responseReported for information. The bytes of HTML received and the time the fetch took, from our server. We ask for the page uncompressed, so this is not the size on the wire.None. The detail gives both numbers.

Why there is no citation probe

This tool does not query any answer engine today. It checks whether an engine can reach and read your page, which you can fix, and stops there. People ask about citation tracking more than anything else. If we add a probe that puts fixed questions to the engines, it will be reported apart from the checks, for three reasons.

Want first-party citation data instead of a probe? The only free source that exists is Bing Webmaster Tools' AI Performance report, which shows real Copilot citations per URL. Google Search Console reports generative-AI impressions, but impressions only.

Four things this audit is not

  1. 01

    Not your Core Web Vitals. One fetch runs no browser, so it measures none of LCP, INP or CLS. Real numbers come from the Chrome UX Report.

  2. 02

    Not a ranking prediction. We report obstacles. What removing one does to a ranking depends on a competitive set we did not measure.

  3. 03

    Not a site audit. One URL, normally three requests. A template problem on a thousand pages looks identical to a problem on one.

  4. 04

    Not a Google or OpenAI product. It is our reading of their published documentation, linked below so you can check our reading against it.

Sources

Every non-obvious claim above, with the document it comes from.

Citing this page

It is written to be quoted, so quote it instead of paraphrasing it. If something here is wrong, tell us. We will correct it and date the correction. The review date at the top is maintained, not decorative.

Synapse, "Instant audit methodology: every check it runs", https://synapsereality.io/tools/instant-audit/methodology/, last reviewed 23 September 2026.

Want this done on your site?

Book a strategy call