Docs menu

Discoverability Checks

Discoverability answers a simple question: can an agent actually find your pages? If the agent is blocked at the front door or has to guess at your URL structure, nothing else matters.

D1

robots.txt present & sane

weight 6

AI Grader by Magnetic WP fetches /robots.txt and checks three things: it returns 200, it doesn't catch-all block User-agent: * with Disallow: /, and it advertises your Sitemap: URL.

How to fix

Serve a non-blocking robots file that references your sitemap. Minimum viable:

robots.txt
User-agent: * Allow: / Sitemap: https://yourdomain.com/sitemap.xml
D2

XML sitemap

weight 4

We look at /sitemap.xml and /sitemap_index.xml. A valid sitemap lets agents discover every URL without crawling the entire site graph.

How to fix

  • WordPress — Yoast SEO, Rank Math, or core 5.5+ auto-generate one.
  • Shopify — generated automatically at /sitemap.xml.
  • Next.js / TanStack / SPA — generate at build time or via a server route.

Reference it from robots.txt so a single Sitemap: line covers discovery.

D3

Canonical URL

weight 3

Every page should declare a single <link rel="canonical"> so agents know which URL is authoritative when the same content is reachable from multiple paths.

How to fix

html
<link rel="canonical" href="https://yourdomain.com/your-page" />
D4

Hreflang for multi-language

weight 2

If you serve the same content in multiple languages, every alternate must declare itself withhreflang. Otherwise agents pick a language at random.

How to fix

html
<link rel="alternate" hreflang="en" href="https://yourdomain.com/en/" /> <link rel="alternate" hreflang="es" href="https://yourdomain.com/es/" /> <link rel="alternate" hreflang="x-default" href="https://yourdomain.com/" />
Single-language sites
This check is marked n/a for single-language sites and removed from both your numerator and denominator — it can't help or hurt your score.