Scan summary

Needs work

admintoolkit.io

Scanned
CachedRe-check after fixes to refresh the report.
Pages scanned12 / 111
Priority fixes4
Checks passing56 / 66
82/100

Score verdict

Needs focused fixes

Level 3

See something off? Mention @kordugg on X.

Findable

10025/25 pts
25 of 25 answer engine points

Quotable

8521.3/25 pts
21.3 of 25 answer engine points

Understandable

7819.6/25 pts
19.6 of 25 answer engine points

Trustworthy

7518.8/25 pts
18.8 of 25 answer engine points

AI Readiness

677/12
7 of 12 passing

Technical SEO

8018/26
18 of 26 passing

Security

1008/10
8 of 10 passing

Performance

No signal
No public signal

Production Quality

1005/14
5 of 14 passing

Report brief

What stands out

admintoolkit.io scored 82/100 on this public readiness scan. 12 pages were sampled from 111 discovered URLs.

Top findings

  1. Needs workStructured DataTechnical SEO

    7 sampled page(s) publish FAQPage JSON-LD without matching visible FAQ questions.

    /a2a-agent-card-validator/, /ai-crawler-robots-checker/, /arc-chain-validator/, /bimi-checker-generator/ (+3 more)
  2. Needs workContent Depth and DuplicationTechnical SEO

    1 page(s) are under 100 words; 1 page(s) are between 100 and 300 words; 0 duplicate-content fingerprint group(s) were detected.

    /contact/, /accessibility/
  3. Needs workMarkdown negotiationAI Readiness

    No markdown response for Accept: text/markdown

  4. Needs workIndexability DirectivesTechnical SEO

    2 sampled public page(s) are marked noindex.

    /contact/, /cookies/

Category context

  • AI Readiness: 67/100
  • Technical SEO: 80/100
  • Security: 100/100
  • Performance: no signal
  • Production Quality: 100/100

admintoolkit.io/sitemap.xml returned 200 with 106 URLs declared.

Coverage evidence

What this scan proved

12 representative pages were fetched from 111 discovered URLs.

Checked
12
Found
111
Mode
Sampled
Non-200
0

Sitemap sources

Saved-site dashboard

Keep the full public URL map alive.

Save the site when you need URL, sitemap, and robots changes tracked between scans.

  • URL inventorySource, status, canonical, and indexability for discovered public pages.
  • Sitemap healthParent indexes, child sitemaps, parse errors, and missing URL coverage.
  • Robots policyCrawler access, AI bot rules, and implementation-ready robots.txt output.

AI Readiness

Markdown negotiation

Needs work
Goal

Return a markdown version of HTML pages when agents request it via Accept: text/markdown so LLMs ingest your content cleanly.

Issue

No markdown response for Accept: text/markdown

How to fix

Enable Markdown for Agents so requests with `Accept: text/markdown` return a markdown version of your HTML response while HTML stays the default for browsers. Set `Content-Type: text/markdown` on the markdown variant and add `Vary: Accept` so caches differentiate the two representations. Verify with `curl -H "Accept: text/markdown" https://yoursite.com/`.

Fix guide

Agent Skills

Needs work
Goal

Publish a discoverable agent-skills index so AI agents can find and load your structured skill bundles.

Issue

Agent Skills index exists but does not list any SKILL.md paths

How to fix

Publish a skills discovery index at /.well-known/agent-skills/index.json (per the Agent Skills Discovery RFC v0.2.0) with a `$schema` field and a `skills` array. Each entry should have `name`, `type`, `description`, `url`, and a `sha256` digest of the SKILL.md so agents can verify integrity. Make sure each `url` resolves to a reachable SKILL.md.

MCP Server Card

Needs work
Goal

Serve an MCP Server Card so agents can discover your Model Context Protocol surface and connect with the right capabilities.

Issue

MCP server card exists but is missing serverInfo, transport, or capability metadata

How to fix

Serve an MCP Server Card at /.well-known/mcp/server-card.json with `serverInfo` (name, version), the transport endpoint URL, and the `capabilities` you support. Accept /.well-known/mcp.json as a fallback for clients on the legacy path. The schema is being standardized — track the active proposal at github.com/modelcontextprotocol/modelcontextprotocol/pull/2127.

Fix guide

OAuth discovery

Info
Goal

Expose OAuth/OIDC discovery metadata so agents can authenticate against your APIs programmatically.

Result

No public login, signup, or protected API surface was detected, so OAuth/OIDC discovery may not apply

How to fix

If your site has protected APIs, publish /.well-known/openid-configuration (for OpenID Connect) or /.well-known/oauth-authorization-server (for OAuth 2.0) with `issuer`, `authorization_endpoint`, `token_endpoint`, `jwks_uri`, and `grant_types_supported`. This lets agents discover how to authenticate without parsing your docs.

Resources

OAuth Protected Resource

Info
Goal

Publish OAuth Protected Resource metadata so agents know which auth servers issue valid tokens for your APIs.

Result

No protected API surface was detected, so OAuth protected-resource metadata may not apply

How to fix

Publish /.well-known/oauth-protected-resource (per RFC 9728) with your `resource` identifier, `authorization_servers` (the list of OAuth/OIDC issuer URLs that can issue tokens for this resource), and `scopes_supported`. This tells agents which auth server to obtain access tokens from and which scopes to request.

Resources

Technical SEO

Structured Data

Needs work
Goal

Pages publish JSON-LD structured data so search engines and AI agents can extract entities, products, FAQs, and offers reliably.

Issue

7 sampled page(s) publish FAQPage JSON-LD without matching visible FAQ questions.

How to fix

Embed JSON-LD `<script type="application/ld+json">` blocks in the head describing the page's primary entity — Article, Product, FAQPage, Organization, etc. — using schema.org types and required fields per Google's structured data guidelines. Validate with the Rich Results Test before shipping, and keep the JSON strictly parseable (no trailing commas, no comments).

Content Depth and Duplication

Needs work
Goal

Each indexable page carries enough unique, substantive content to merit indexing on its own without overlapping siblings.

Issue

1 page(s) are under 100 words; 1 page(s) are between 100 and 300 words; 0 duplicate-content fingerprint group(s) were detected.

How to fix

Audit indexable pages for substantive, unique content — at minimum a few hundred words of original copy that delivers on the title and description. Consolidate near-duplicate pages with canonical tags or merge them into a single richer page. Don't ship placeholder "Coming soon" pages to production indexable URLs.

Affected pages (2)

Indexability Directives

Needs work
Goal

Robots meta tags and X-Robots-Tag headers align with which pages should actually be crawled and ranked.

Issue

2 sampled public page(s) are marked noindex.

How to fix

Audit `<meta name="robots">` tags and `X-Robots-Tag` response headers across the site. Remove `noindex` and `nofollow` from any page meant to appear in search, especially on staging templates that leaked into production. For pages that genuinely should be excluded (admin, internal tools), keep the directive but verify the URL isn't also linked from a sitemap.

Affected pages (2)

FAQ Content

Needs work
Goal

FAQPage schema is treated as a bonus only when it matches visible question-and-answer content.

Issue

7 page(s) publish FAQPage schema without matching visible FAQ questions.

How to fix

Keep FAQ sections visible and useful. Only add FAQPage JSON-LD when the same questions and answers are present in the page body; remove FAQ schema for hidden, fabricated, or irrelevant questions.

Internal Link Quality

Watch
Goal

Internal links use descriptive anchor text and form a reachable graph so crawlers, readers, and AI agents can navigate context.

Issue

1 link crawlability or anchor-text warning(s) were detected.

How to fix

Use real `<a href="...">` elements for navigation — never `<div onclick>` or button-styled spans, which crawlers can't follow. Write descriptive anchor text that summarizes the destination (avoid "click here", "read more", or naked URLs). Keep important pages within ~3 clicks of the homepage so crawl depth doesn't starve them.

Affected pages (1)

Content Freshness

Watch
Goal

Article-like and substantial pages expose reliable freshness signals so answer engines know whether the content is current.

Issue

1 content page(s) have no reliable date signal and 0 have a newest signal older than six months.

How to fix

Add truthful freshness metadata only where it reflects a real content update: JSON-LD dateModified/datePublished, article modified-time meta tags, a visible updated or reviewed date, or sitemap lastmod. Do not stamp every page with build time unless the visible content actually changed.

Affected pages (1)

External Citation Links

Watch
Goal

Content pages with factual claims link out to credible external primary sources so readers and answer engines can verify context.

Issue

10 content page(s) have fewer than two contextual external citation links.

How to fix

For articles, guides, and research-like pages, cite official docs, standards, primary research, or authoritative sources where claims need support. Do not add arbitrary outbound links to transactional pages, and avoid vague anchors like "click here".

Page and Server Snapshot

Observed
Goal

Lightweight server and document metrics from the sampled homepage are captured every scan so drift in HTML size, server stack, or DOM complexity is observable across reports.

Result

Captured lightweight server and document metrics from the sampled homepage.

Security

Cloudflare Challenge Signals

Observed
Result

No Cloudflare Challenge Page marker was detected on the homepage response.

Domain Trust

Unavailable
Issue

Domain registration data is temporarily unavailable.

Performance

PageSpeed Insights

Unavailable

PageSpeed Insights returned no Lighthouse result.

PageSpeed sometimes throttles or skips a URL. The miss is cached on our side for ~15 minutes, so refreshing this report often returns the same answer. A fresh scan is the surest fix.

What this means
  • The URL might be unsupported (e.g. a single-page route Lighthouse can't reach).
  • Google could be rate-limiting our project key — usually clears within a few minutes.
  • The page returned a redirect chain or a non-200 that Lighthouse refused to score.
Run fresh scan

CrUX Field Data

No field data

Chrome doesn't have enough real-user traffic for this site to publish field metrics yet — this isn't a failure on your side.

The Chrome User Experience Report only covers public origins with enough opted-in Chrome traffic. Smaller or newly launched sites typically appear after they accumulate sufficient sample size. Lab performance (PageSpeed Insights) below stays a useful proxy in the meantime.

Production Quality

Scan Coverage

Observed
Result

Scanned 12 representative pages out of 111.

ACP

Info
Goal

Publish Agentic Commerce Protocol discovery so agents can transact with your commerce surfaces without scraping.

Result

No payable API surface was detected, so ACP discovery may not apply

How to fix

Serve /.well-known/acp.json at the origin root with `protocol.name` set to `"acp"`, the `protocol.version`, `api_base_url`, supported transports, and `capabilities.services`. Agents can then discover your ACP implementation without first creating a checkout session.

Resources

Cloudflare Error Diagnostics

Observed
Result

No Cloudflare-generated error diagnostics were detected on the homepage response.

MPP

Info
Goal

Publish Machine Payment Protocol metadata so agents can discover paid endpoints in your API.

Result

No payable API surface was detected, so MPP discovery may not apply

How to fix

Publish an OpenAPI document at /openapi.json with `x-payment-info` extensions on payable operations. Each operation should declare `intent` (charge or session), `method` (tempo, stripe, lightning, card), `amount`, and `currency`. Use the MPP SDK (`mppx` for TypeScript, `pympp` for Python) with framework middleware for Hono, Express, Next.js, or Elysia to handle the payment flow.

Resources

UCP

Info
Goal

Expose Universal Commerce Protocol metadata so agents can transact for content or services through a standard interface.

Result

No payable API surface was detected, so UCP discovery may not apply

How to fix

Serve /.well-known/ucp with your protocol version, declared `services`, supported `capabilities`, and reachable `endpoints`. Make sure any spec URLs and referenced JSON Schemas resolve so agents can validate against them at discovery time.

Resources

x402

Info
Goal

Support x402-style HTTP 402 payment flows so agents can pay for API access machine-to-machine.

Result

No payable API surface was detected, so x402 discovery may not apply

How to fix

Add x402 payment middleware to your API routes so AI agents can pay for access via HTTP. Use `@x402/express`, `@x402/hono`, or `@x402/next` middleware with a facilitator URL and wallet address. Protected routes will return HTTP 402 with payment requirements that agents can fulfill automatically.

Resources

HTML Validation

Unavailable
Issue

HTML validation is temporarily unavailable.