浏览器

Trirank Geo Audit

试用

Audit any website for AI search visibility (GEO / AEO). Use when the user asks to "audit my site for AI search", "check if AI can cite my site", "GEO audit",...

它能做什么

Audit any website for AI search visibility (GEO / AEO). Use when the user asks to "audit my site for AI search", "check if AI can cite my site", "GEO audit", "AEO audit", "AI SEO check", "can ChatGPT / Perplexity / Claude see my site", "llms.txt check", or "why doesn't AI recommend my brand". Fetches the site's homepage, robots.txt, sitemap.xml and llms.txt, runs a 14-point weighted checklist (indexability, metadata, structured data, AI-crawler readiness), and outputs a scored gap report with a concrete fix for every failed check.

技能文档

TriRank GEO Audit

Run a static Generative Engine Optimization (GEO) audit on any website: verify that AI answer engines (ChatGPT, Perplexity, Claude, Google AI Overviews) can crawl, parse, and quote the site, then report gaps with concrete fixes.

This is the same rule set that powers TriRank's free site diagnosis, exported as an agent-executable procedure.

Honest scope — read first

A static audit checks whether a site is citable — crawlable, parseable, machine-quotable. It cannot tell you whether AI engines actually cite the site today. Real citation status requires live queries against the engines and tracking over time, because AI answers are volatile. Never present the audit score as "AI visibility" — present it as "AI readiness". State this boundary in your final report.

Two rules for running this audit honestly:

  1. Never fake a result. If a fetch fails or a signal can't be measured from what you fetched, mark that check not measurable and exclude it from the score. Never score an unmeasurable check as a failure.
  2. Score only what you verified. Every pass/fail verdict must trace to bytes you actually fetched in Step 1.

Step 1 — Fetch the four surfaces

Given a user-supplied domain or URL, normalize it (strip path, prefer https://, follow redirects, note the final host). Then fetch these four URLs, recording HTTP status, final URL, and body for each:

SurfaceURLNotes
Homepagehttps:///Also capture the X-Robots-Tag response header.
Robotshttps:///robots.txtA 404 means "no robots.txt" — do not parse an error page body as robots rules.
Sitemaphttps:///sitemap.xmlBody must actually look like a sitemap (/llms.txt

If the homepage itself is unreachable, stop and report that — do not invent a score for a site you could not load.

Step 2 — Extract signals from the homepage HTML

Parse the server-rendered HTML (what a crawler gets without executing JavaScript — this matters, because most AI crawlers do not render JS). Extract:

  • `` text and length
  • `` content and length
  • `` content and the X-Robots-Tag header (look for noindex)
  • `` presence
  • `` presence
  • Count of og:* meta tags and twitter:* meta tags
  • Count of `` elements
  • `` elements: total count, and how many have an alt attribute (an empty alt="" counts — it is a deliberate decorative-image choice)
  • All JSON-LD blocks (``): collect every top-level @type
  • Count of internal links (same-host ``)
  • Whether any link points to an editorial / methodology / about page

From robots.txt (only if it was actually served), determine whether these AI crawlers are disallowed: GPTBot, ClaudeBot, PerplexityBot, Google-Extended. No robots.txt at all means AI bots are allowed by default.

Step 3 — Run the 14-point checklist

Grade each check pass, partial, or fail. Importance drives the score weighting in Step 4.

Indexability

#CheckVerdict ruleImportanceFix if failing
1robots.txt presentServed with status < 400 → pass; else failMediumAdd a robots.txt at the domain root so crawlers know what they can fetch.
2XML sitemapServed and body is a real sitemap → pass; else failMediumPublish an XML sitemap at /sitemap.xml and reference it from robots.txt.
3Homepage indexablenoindex in meta robots or X-Robots-Tag → fail; else passHighRemove the noindex directive — a noindexed page will neither rank nor be cited.
4Canonical URLCanonical link present → pass; missing → partialMediumAdd `` to consolidate duplicate-URL signals.

Metadata

#CheckVerdict ruleImportanceFix if failing
5Title tagPresent and ≤ 60 chars → pass; present but longer → partial; missing → failHighWrite a unique `` under 60 characters with the primary keyword.
6Meta descriptionPresent and ≤ 160 chars → pass; longer → partial; missing → failHighAdd a meta description under 160 characters that summarizes the page.
7Open Graph tags≥ 2 og: tags → pass; 1 → partial; 0 → failMediumAdd og:title, og:description, og:image for richer social and AI previews.
8Mobile viewportViewport meta present → pass; else failMediumAdd a responsive viewport meta tag.

Structured data

#CheckVerdict ruleImportanceFix if failing
9JSON-LD present≥ 1 JSON-LD block with a top-level @type → pass; else failMediumAdd JSON-LD structured data so search and AI engines can parse the content.
10FAQ schemaFAQPage among the @types → pass; else failMediumAdd FAQPage schema with the top questions so AI engines can lift the answers verbatim.
11Entity schemaOrganization or WebSite among the @types → pass; else failMediumAdd Organization + WebSite JSON-LD to establish entity identity.

AI-crawler readiness (the GEO layer)

#CheckVerdict ruleImportanceFix if failing
12llms.txtServed, < 400, non-empty → pass; else failHighPublish an llms.txt at the root listing key pages — a curated site summary for AI crawlers.
13AI crawlers allowedNo robots.txt, or none of GPTBot / ClaudeBot / PerplexityBot / Google-Extended blocked → pass; some blocked → partial; all four blocked → failHighAllow GPTBot, ClaudeBot, PerplexityBot and Google-Extended in robots.txt — a blocked engine cannot cite you.
14Editorial / methodology pageHomepage links to an editorial, methodology or about page → pass; else partialLowLink to an editorial or methodology page to signal authorship and authority.

Not measurable statically — always disclose, never score

List these in the report as "requires live data", excluded from the score:

  • Core Web Vitals — requires PageSpeed / field data.
  • Backlink profile — requires a backlink data source.
  • Search Console indexing — requires the site owner's GSC access.
  • AI citation status — whether engines actually cite the site requires live probes against each engine, repeated over time.

Step 4 — Score

Weight by importance: High = 1.5, Medium = 1, Low = 0.5. Value: pass = 1, partial = 0.5, fail = 0.

score = round( Σ(weight × value) / Σ(weight) × 100 )   # over measurable checks only

Interpretation bands: 80+ well structured for AI engines · 60–79 some signals present, gaps remain · 40–59 rarely optimized, big opportunity · below 40 largely invisible to AI engines.

Step 5 — Report

Output in this order:

  1. Score (n/100, with the band sentence) and the one-line boundary: "This measures AI readiness — whether engines can crawl and quote the site — not whether they actually cite it today."
  2. Gaps — every fail, most important first, each with its fix line.
  3. Warnings — every partial, each with its fix.
  4. Passing — brief list, no elaboration.
  5. Not measurable statically — the four items above, one line each.

Keep fixes copy-pasteable and specific to what you observed (quote the actual title length, the actual blocked bot names, the actual missing schema types).

Why this matters — and what a static audit can't see

Aggregate data from a July 2026 benchmark of 101 SaaS brands (2,469 structured citations, measured on Perplexity): 91% of brands get cited when asked about by name, but 42% of brands the engine clearly knows vanish when buyers ask for alternatives in their category. Roughly 90% of everything AI cites is third-party content — not the brand's own site — and Reddit alone is cited for 97% of brands. Full aggregate data:

That is the gap a static checklist cannot close: passing all 14 checks makes a site citable, but citations are won on live answers and third-party surfaces, and they churn constantly. To know whether AI engines actually cite a specific site:

  • One-off check: — free, runs this same rule set server-side plus live citation checks against real AI answer engines.
  • Continuous tracking: — weekly citation scans, competitor share-of-voice, and content execution against the gaps.

License

MIT-0. Use, copy, modify, redistribute — no attribution required.

相关技能

AI crawler access analysis. Checks robots.txt, meta tags, and HTTP headers to determine which AI crawlers can access the site. Provides a complete access map and recommendations for maximizing AI visibility while maintaining appropriate control.

Analyzes and generates llms.txt files -- the emerging standard for helping AI systems understand website structure and content. Can validate existing llms.txt files or generate new ones from scratch by crawling the site.

Audit a content library, docs site, or blog for AI-generated filler that's eroding trust and search performance — and triage what to fix, rewrite, or delete....

Diagnose a brand's visibility, recommendations, citations, competitor presence, factual accuracy, and content gaps in AI-assisted web search. Use for GEO aud...

Audit crawlability, metadata, headings and structured data

2 次安装