AISEOLab
FeaturesPricingBlogDocs
Sign inStart free
OverviewGetting startedFAQWhat is AEO?Agent readinessScanner checksAPI reference

Docs

  • Get started

    • Overview
    • Getting started
    • FAQ
  • Concepts

    • What is AEO?
    • Agent readiness
  • Reference

    • Scanner checks
    • API reference

Reference

All 17 scanner checks

Every check AISEOLab runs against a site, what it looks for, and how to fix a failure. Use this as the canonical reference \u2014 it's what we score against.

Where this list lives in code

The runtime implementation of each check lives in packages/scanner/src/checks/*.ts. This page is the human reference; the scanner is the source of truth.

Categories

Checks fall into three categories:

  • AEO \u2014 makes AI answer engines (ChatGPT, Gemini, Claude, Grok) able to find and cite your content.
  • Agent Readiness \u2014 makes AI agents able to navigate and act on your site programmatically.
  • Agentic Commerce \u2014 makes AI agents able to discover and purchase from your site.

llms.txtAEOhigh weight

The de-facto standard discovery file for AI engines — a markdown index of your most important pages with a brief summary.

What it checks: A valid llms.txt at the root of your site (/llms.txt). It checks for proper markdown structure, a blockquote summary, sectioned links, and reasonable length.

How to fix: Use our llms.txt generator at /dashboard/generators/llms-txt to create one for your site, then upload to your web root. WordPress users can auto-deploy via the AISEOLab plugin.

llms-full.txtAEOmedium weight

The full-text companion to llms.txt — the actual content of key pages embedded inline, not just links.

What it checks: A valid llms-full.txt at /llms-full.txt with the same header as llms.txt plus embedded content for the linked pages.

How to fix: Generate one in the dashboard. Lets AI engines ingest your entire knowledge base in a single fetch — especially valuable for documentation sites.

Agent skills indexAgent Readinesshigh weight

Declares the machine-readable capabilities AI agents can use on your site — search, booking, quoting, checkout actions — each with endpoint, method, and parameters.

What it checks: A valid agent-skills.json at /.well-known/agent-skills.json (or the alias /.well-known/agent-skills/index.json).

How to fix: Use our agent-skills generator. It auto-detects API endpoints from your sitemap, then lets you edit the JSON before deploying.

MCP server cardAgent Readinessmedium weight

The Model Context Protocol discovery file. Lets MCP-aware AI clients (Claude Desktop, etc.) find and connect to your tools and resources.

What it checks: A valid MCP server card at /.well-known/mcp.json (or /.well-known/mcp/server-card.json).

How to fix: Generate one via our MCP generator. Even a static manifest declaring planned capabilities scores partial credit.

robots.txt (AI bots)Agent Readinesshigh weight

Explicit rules covering 20+ known AI crawlers. An implicit policy via "User-agent: *" no longer cuts it — agents look for their named user-agent.

What it checks: robots.txt mentions GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Google-Extended, Applebot-Extended, Bingbot, and several others.

How to fix: Use our robots.txt generator. It gives you per-bot rules and outputs a clean, valid robots.txt covering every known AI crawler.

sitemap.xmlAEOhigh weight

Required for AI engines to discover all pages on your site without crawling every link.

What it checks: A valid sitemap.xml at /sitemap.xml. Confirms it is valid XML, references reachable URLs, and is referenced from robots.txt.

How to fix: Most static-site generators and CMSes (Next.js, Astro, WordPress, Hugo) produce sitemaps automatically. If yours doesn't, our generator can build one from a URL list.

Schema.org JSON-LDAEOhigh weight

Structured data as JSON-LD. AI engines rely heavily on schema for entity disambiguation — Organization, WebSite, Product, FAQPage, Article, BreadcrumbList.

What it checks: A <script type="application/ld+json"> block in your HTML head that includes at least Organization and WebSite schemas.

How to fix: Use our schema-jsonld generator. It assembles the schemas relevant to your site type (org, software, product, FAQ, article).

Structured data validityAEOmedium weight

Validates that detected JSON-LD is well-formed, references real Schema.org types, and uses the recommended fields for each type.

What it checks: Parses every JSON-LD block on the page, validates against the Schema.org type registry, and flags missing recommended fields.

How to fix: Run our generator to produce reference JSON-LD, or validate manually at validator.schema.org.

Page metadataAEOmedium weight

Title, meta description, canonical URL, and Open Graph tags. The basics still matter — AI engines cite the meta description verbatim in many answers.

What it checks: A <title> under 60 characters, a meta description under 160 characters, a canonical link, and Open Graph title/description/image tags.

How to fix: Every CMS supports these fields out of the box. Make sure each page has a unique title and description.

Content hierarchyAEOmedium weight

Pages should have exactly one H1 and a sensible H2/H3 outline. Heading structure is how AI engines build their internal map of what your page is "about".

What it checks: Exactly one H1 per page, no level-skipping (H2 then H4 with no H3), and headings that contain real content (not empty or single-word).

How to fix: Audit each template. The most common mistake is using H1 for the site name and H1 again for the page title — make the site name an H2 or move it out of the heading hierarchy entirely.

Content signalAEOhigh weight

Detects whether the page has substantial textual content unique to that URL. AI engines won't cite empty or duplicate pages.

What it checks: Minimum word count, presence of non-boilerplate text, and uniqueness against other pages on the same domain.

How to fix: Add real content. Pages with only a hero image, video, or app-shell will fail this check. AI engines need actual words to cite.

Markdown content negotiationAEOlow weight

Whether your site serves a Markdown version when an AI client sends Accept: text/markdown. Several AI fetchers prefer Markdown over HTML.

What it checks: A second fetch with an Accept: text/markdown header should return Markdown content, not HTML. Either via content negotiation on the same URL or a .md alias.

How to fix: Add a middleware or edge function that returns Markdown for matching Accept headers. Or serve every page at both /path and /path.md.

HTTP Link headersAgent Readinesslow weight

HTTP Link headers for canonical, alternate (Markdown), and rel="describedby" pointers. Lets agents discover related resources without parsing the body.

What it checks: Presence of Link headers in the HTTP response, with rel values from the IANA registry.

How to fix: Most servers and CDNs let you add custom response headers. Add canonical and alternate Markdown links at minimum.

API catalog (RFC 9727)Agent Readinessmedium weight

Points AI agents at your OpenAPI specification so they can register your endpoints as tools.

What it checks: A valid linkset+json document at /.well-known/api-catalog referencing your OpenAPI spec.

How to fix: If you have any kind of public API, publish an api-catalog. If you don't, this check is informational only — it won't hurt your score.

OAuth discovery (RFC 8414/9728)Agent Readinesslow weight

Required for AI agents to authenticate against protected endpoints on your site.

What it checks: Presence of /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource for sites that expose OAuth-protected APIs.

How to fix: Only applies if you have authenticated endpoints. If so, publish the discovery files — most OAuth libraries emit them automatically.

Agentic commerce signalsAgentic Commercelow weight

Emerging signals for agent-initiated purchases: payment-method discoverability, product schema, structured pricing.

What it checks: Detects e-commerce platforms, looks for Product/Offer schema, payment-method declarations, and add-to-cart endpoints.

How to fix: Only applies to e-commerce sites. Add Product and Offer schema to product pages — we generate examples in the dashboard.

AI bot rules coverageAgent Readinessmedium weight

Cross-references robots.txt against a maintained list of known AI crawler user-agents. Flags any that aren't explicitly addressed.

What it checks: Every major AI bot user-agent has an explicit User-agent rule in robots.txt, not just falls under "*".

How to fix: Use our robots.txt generator. It addresses all 21+ known AI bots explicitly.

FAQ

How often are checks updated?

The check list is updated whenever a new spec is published or an AI engine announces a new crawler user-agent. We aim for monthly review cycles. The current list of 17 checks reflects late-2026 standards.

Why do some checks score higher than others?

Each check has a weight (high, medium, low) based on how much impact it has on AI visibility. High-weight checks like llms.txt and schema.org JSON-LD contribute most to the overall score. The exact formula is in lib/scanner/scoring.ts.

Can I skip checks that don't apply to my site?

Yes — informational checks (like oauth-discovery for sites without authenticated APIs) score as N/A rather than failing. Your overall score is computed only over the checks that actually apply to your site type.

How do I see check results for a specific scan?

Every scan results page shows per-check results with status, evidence, and remediation. Public scans are shareable; authenticated scans are listed at /dashboard/scans.

Run a scan

Want to see how your site scores against every check?

Run a free scanSee pricing

Next

API reference

Trigger scans, list results, and check citations from your own code.

AISEOLab

Make your site visible to AI engines, navigable by AI agents.

hello@aiseolab.ai

Product

  • Features
  • Pricing
  • Compared with
  • AEO & GEOOptimization
  • Agent Readiness
  • Agentic Commerce

Resources

  • Blog
  • Docs
  • API reference
  • Scanner checks
  • Changelog
  • llms.txt

Company

  • About
  • Contact
  • Security
  • Status

Legal

  • Privacy
  • Terms
  • Cookies
  • DPA

\u00A9 2026 AISEOLab. All rights reserved.

Built for the AI era \u00B7 v1.0