TL;DR

Ahrefs API Status

All Ahrefs MCP endpoints returned { "error": "Insufficient plan" }:

Four audit runs in a row have hit the same wall. Next step: either upgrade the Ahrefs plan to a tier with API access, or wire up Google Search Console MCP as a free fallback for queries, impressions, CTR, and position data.

What Was Audited

With no Ahrefs crawl data, I audited the repo for the issues Ahrefs typically flags:

Issue Ahrefs typically flags Status in slate-landing
Missing meta title / description OK — static in index.html, per-route via useSeoMeta • inject-page-meta.mjs
Duplicate canonical OK — fixed in earlier audit; single canonical per route
Missing OG / Twitter tags OK — full set, www domain
Missing structured data OK — Organization + WebSite JSON-LD at root, BreadcrumbList + Article on inner routes
Multiple H1s OK — single H1 per route confirmed
Missing alt text OK — only one raw <img> in landing, has alt
Missing robots.txt / sitemap OK — both present and linked
Sitemap includes noindex pages FIXED THIS RUN — /thank-you was in sitemap.xml AND generate-sitemap.mjs. Both removed
Static meta missing for some routes FIXED THIS RUN — /contact, /terms, /privacy added to inject-page-meta.mjs
Post-conversion page not noindex at build FIXED THIS RUN — /thank-you now gets static noindex, nofollow injected
hreflang inconsistency OK — en and x-default present and rewritten per route

Fixes Applied This Run

1. Removed /thank-you from the sitemap

The /thank-you page is a post-conversion confirmation. It was listed at priority 0.3 in sitemap.xml and also seeded in generate-sitemap.mjs, which would re-add it on the next build.