Ahrefs MCP is still returning Insufficient plan on every endpoint. Manual audit run on live HTML and source code.
Key action today: fixed og:title / twitter:title mismatch and removed the redundant inline canonical script from frontend/public/index.html. Both changes are committed to disk and ready to go when the .git/index.lock files are cleared.
The critical deploy gap (May 3 + May 4 SEO fixes not live) is now entering its 3rd day. The live site still serves the old build.
All endpoints -> Insufficient plan (unchanged since Apr 28)
Recommendation: upgrade the Ahrefs plan or pivot to driving the Ahrefs UI via Claude in Chrome to screenshot dashboards.
| Check | Status |
|---|---|
| Title tag | Slate — AI-powered Interactive Classroom (em dash, old build) |
| og:title | Same old build value |
| hreflang | Missing (fix is in source, not deployed) |
| Static canonical | Missing in live head (fix in source, not deployed) |
| meta keywords | Still present (deprecated, fix in source not deployed) |
| robots.txt | Allow: / (correct) |
| Sitemap | 110 URLs, all lastmod 2026-05-02 (per-post lastmod fix not deployed) |
| noscript fallback | Present with H1 + internal links (in source, not live) |
| Check | Status |
|---|---|
| robots meta (homepage) | No noindex visible — layout.tsx change uncommitted |
| robots.txt | 404 (file exists locally, not committed) |
| sitemap.xml | 404 (none configured — fine for an auth-only app) |
frontend/public/index.html1. og:title + twitter:title consistency
Both were Slate - AI-powered Interactive Classroom (hyphen). Changed to Slate, AI-powered Interactive Classroom to match the inject-page-meta.mjs homepage title. Consistent title across all surfaces reduces mixed signals to crawlers.
2. Inline canonical script removed
The inline JS canonical script (which appended a <link rel="canonical"> at runtime) was flagged in the May 4 audit as redundant and harmful: now that public/index.html has a static <link rel="canonical"> and inject-page-meta.mjs rewrites it per route at build time, the runtime script created two canonical tags on every page. Removed the script; replaced with a comment explaining the decision.
3. Title tag updated
<title> in index.html now reads Slate, AI-powered Interactive Classroom (comma, no hyphen/em-dash), matching the inject script.