Documentation Index
Fetch the complete documentation index at: https://mintlify.com/AgricIDaniel/claude-seo/llms.txt
Use this file to discover all available pages before exploring further.
/seo technical runs a focused technical SEO audit without requiring a full site crawl. It inspects nine discrete categories — from robots.txt and canonical tags through to Core Web Vitals field data and the IndexNow protocol — and returns a scored category breakdown with issues ranked Critical, High, Medium, or Low. When Google API credentials are configured, real CrUX field data replaces lab-only estimates; when DataForSEO is available, full Lighthouse audits and on-page analysis supplement the HTML-level checks.
Syntax
Example:
/seo technical https://example.com
The 9 Audit Categories
| # | Category | What It Checks |
|---|
| 1 | Crawlability | robots.txt validity, XML sitemap presence and referencing, noindex tag intent (accidental vs deliberate), crawl depth (important pages within 3 clicks of homepage), JS rendering requirements, AI crawler management |
| 2 | Indexability | Canonical tag consistency, duplicate content (parameter URLs, www vs non-www), thin content pages, pagination patterns (rel=next/prev), hreflang for multi-region sites, index bloat |
| 3 | Security | HTTPS enforcement, valid SSL certificate, mixed content, Content-Security-Policy, Strict-Transport-Security (HSTS + preload list), X-Frame-Options, X-Content-Type-Options, Referrer-Policy |
| 4 | URL Structure | Clean descriptive URLs (hyphenated, no query parameters for content), logical folder hierarchy, redirect chains (max 1 hop), URL length (flag over 100 characters), trailing-slash consistency |
| 5 | Mobile Optimization | Responsive design and viewport meta tag, touch targets (minimum 48×48 px with 8 px spacing), base font size (minimum 16 px), horizontal scroll absence, mobile-first indexing compliance |
| 6 | Core Web Vitals | LCP, INP, CLS at 75th-percentile real-user data; LCP subpart decomposition (TTFB, load delay, load duration, render delay) via CrUX; CrUX History 25-week trend |
| 7 | Structured Data | JSON-LD, Microdata, and RDFa detection; validation against Google’s supported types; see /seo schema for full schema analysis |
| 8 | JavaScript Rendering | CSR vs SSR detection, SPA framework identification, canonical/noindex conflicts between raw HTML and JS-injected values, non-200 status code rendering gaps, structured data in JS (delayed processing risk) |
| 9 | IndexNow Protocol | IndexNow key presence and configuration for faster indexing on Bing, Yandex, Seznam, and Naver |
Core Web Vitals Thresholds
INP (Interaction to Next Paint) replaced FID (First Input Delay) on March 12, 2024. FID was fully removed from all Chrome tools — CrUX API, PageSpeed Insights, and Lighthouse — on September 9, 2024. Claude SEO never references FID in any output. If you see FID in a competing tool’s report after this date, the report is stale.
| Metric | Good | Needs Improvement | Poor |
|---|
| LCP (Largest Contentful Paint) | < 2.5 s | 2.5 – 4.0 s | > 4.0 s |
| INP (Interaction to Next Paint) | < 200 ms | 200 – 500 ms | > 500 ms |
| CLS (Cumulative Layout Shift) | < 0.1 | 0.1 – 0.25 | > 0.25 |
All thresholds are evaluated at the 75th percentile of real user sessions from the Chrome User Experience Report (CrUX). Mobile and desktop are measured separately.
LCP Subpart Decomposition
When CrUX data is available (Tier 0 Google API key or above), LCP can be broken into four subparts to pinpoint the exact bottleneck:
| Subpart | What It Measures |
|---|
| TTFB (Time to First Byte) | Server response time; slow TTFB points to hosting, CDN, or backend issues |
| Load Delay | Gap between TTFB and the browser starting to load the LCP resource |
| Load Duration | Time the LCP resource itself takes to download |
| Render Delay | Gap between the resource finishing download and it appearing on screen |
Run /seo google psi <url> or /seo google report full to surface subpart data with CrUX History (25-week trend).
AI Crawler Management
As of 2025–2026, AI companies crawl the web for both model training and real-time AI search. Managing these crawlers via robots.txt is a first-class technical SEO consideration.
| Crawler | Company | robots.txt Token | Purpose |
|---|
| GPTBot | OpenAI | GPTBot | Model training |
| ChatGPT-User | OpenAI | ChatGPT-User | Real-time browsing |
| OAI-SearchBot | OpenAI | OAI-SearchBot | OpenAI search features |
| ClaudeBot | Anthropic | ClaudeBot | Model training |
| PerplexityBot | Perplexity | PerplexityBot | Search index + training |
| Google-Extended | Google | Google-Extended | Gemini training (not Search) |
| Bytespider | ByteDance | Bytespider | Model training |
| CCBot | Common Crawl | CCBot | Open training dataset |
Key distinction: blocking Google-Extended prevents Gemini training use but does not affect Google Search indexing or AI Overviews (those use Googlebot). Blocking GPTBot prevents OpenAI training but does not prevent ChatGPT from citing your content via live browsing (ChatGPT-User). Cross-reference /seo geo for a full AI visibility strategy before blocking any crawler.
SPA and JavaScript Rendering
/seo technical uses --render auto by default: a raw fetch is tried first, and Playwright Chromium is only invoked when an SPA shell (empty <div id="root">, single bundle script, hydration markers) is detected.
Auto-detected frameworks: Next.js, React, Vue, Nuxt, Astro.
Google updated its JavaScript SEO documentation in December 2025 with four critical rules audited under Category 8:
- Canonical conflicts — if raw HTML and JS inject different canonical tags, Google may use either. Both must match.
noindex via JavaScript — if raw HTML carries <meta name="robots" content="noindex"> but JS removes it, Google may still honor the raw-HTML directive.
- Non-200 status codes — Google does not render JavaScript on pages returning non-200 responses. JS-injected content on error pages is invisible to Googlebot.
- Structured data in JavaScript — Product, Article, and other schema injected via JS faces delayed processing. Time-sensitive markup (especially e-commerce Product) should be in the initial server-rendered HTML.
Speculation Rules and bfcache Detection
Phase C of v2 added two forward-looking checks:
- Speculation Rules API — detects whether the site uses the browser prerendering API (Chrome 108+) to instant-load the next page, improving INP and perceived LCP for multi-page navigations.
- bfcache compatibility — detects page-level blockers (
unload event listeners, Cache-Control: no-store, noopener popups) that prevent the browser back-forward cache from restoring pages instantly.
IndexNow Protocol
IndexNow allows sites to notify Bing, Yandex, Seznam, and Naver about new or updated URLs in real time — without waiting for the next crawl. /seo technical checks whether:
- An IndexNow key file (
{key}.txt) exists at the domain root
- The key is referenced in
robots.txt
- The endpoint is reachable
Use python3 scripts/indexnow_submit.py <url> directly to submit URLs after publishing. Note that Google does not support IndexNow — use the Google Indexing API (/seo google indexing-notify) for Google-specific notification.
### Technical Score: XX/100
| Category | Status | Score |
|-------------------|--------|--------|
| Crawlability | pass | XX/100 |
| Indexability | warn | XX/100 |
| Security | pass | XX/100 |
| URL Structure | pass | XX/100 |
| Mobile | pass | XX/100 |
| Core Web Vitals | fail | XX/100 |
| Structured Data | warn | XX/100 |
| JS Rendering | pass | XX/100 |
| IndexNow | warn | XX/100 |
### Critical Issues (fix immediately)
### High Priority (fix within 1 week)
### Medium Priority (fix within 1 month)
### Low Priority (backlog)
Google API Integration
When Google API credentials are configured (/seo google setup), /seo technical enriches Core Web Vitals with real field data:
python3 scripts/pagespeed_check.py <url> --json # Real PSI + CrUX field data
python3 scripts/crux_history.py <url> --json # 25-week CWV trend
python3 scripts/gsc_inspect.py <url> --json # Live URL indexation status
Without credentials, CWV scores are lab estimates from Lighthouse only.
DataForSEO Integration
When the DataForSEO extension is installed, /seo technical gains:
on_page_instant_pages — real page analysis (status codes, page timing, broken links, on-page checks)
on_page_lighthouse — full Lighthouse audit (performance, accessibility, SEO scores)
domain_analytics_technologies_domain_technologies — technology stack detection