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.
D1robots.txt present & sane
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.txtUser-agent: * Allow: / Sitemap: https://yourdomain.com/sitemap.xml
D2XML sitemap
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.
D3Canonical URL
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" />
D4Hreflang for multi-language
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/" />
n/a for single-language sites and removed from both your numerator and denominator — it can't help or hurt your score.