Skip to content
Marketing
Skill

/seo-technical

Technical SEO audit across 9 categories: crawlability, indexability, security, URL structure, mobile, Core Web Vitals, structured data, JavaScript rendering, and IndexNow protocol. Use when user says "technical SEO", "crawl issues", "robots.txt", "Core Web Vitals", "site speed",

From plugin
claude-seo
17k31 skills18 agents1 hook
Install
$ npx -y skills add AgriciDaniel/claude-seo --skill seo-technical --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/seo-technical

Context preview

The summary Claude sees to decide when to auto-load this skill.

Technical SEO audit across 9 categories: crawlability, indexability, security, URL structure, mobile, Core Web Vitals, structured data, JavaScript rendering, and IndexNow protocol. Use when user says "technical SEO", "crawl issues", "robots.txt", "Core Web Vitals", "site speed",

SKILL.md

seo-technical.SKILL.md
name: seo-technical
description: >
  Technical SEO audit across 9 categories: crawlability, indexability, security,
  URL structure, mobile, Core Web Vitals, structured data, JavaScript rendering,
  and IndexNow protocol. Use when user says "technical SEO", "crawl issues",
  "robots.txt", "Core Web Vitals", "site speed", or "security headers".
user-invocable: true
argument-hint: "[url]"
license: MIT
metadata:
  author: AgriciDaniel
  version: "2.3.1"
  category: seo

Technical SEO Audit

Categories

1. Crawlability

  • robots.txt: exists, valid, not blocking important resources
  • XML sitemap: run `"${CLAUDE_PLUGIN_ROOT}/scripts/claude-seo" run sitemap_discovery.py <url> --json`; require a

valid entry in `found`, and report stale or unsafe robots.txt declarations separately from working fallback locations

  • Noindex tags: intentional vs accidental
  • Crawl depth: important pages within 3 clicks of homepage
  • JavaScript rendering: check if critical content requires JS execution
  • Crawl budget: for large sites (>10k pages), efficiency matters
  • Googlebot **fetch limits**: Googlebot fetches the first **2MB of HTML** and first **64MB of a PDF** (uncompressed; 15MB is the broader crawler-infra default). Long-standing, not a 2026 change, but inline base64 images, oversized inline CSS/JS, or bloated nav can push critical content/JSON-LD past the cap and out of the index. Keep key content + structured data within the first 2MB.
  • Crawl rate **auto-adjusts** (backs off on 5xx/slow responses); there is **no manual crawl-rate control** (the legacy Search Console setting was removed Jan 2024). Influence crawling via sitemaps, server responsiveness, and robots controls.
  • Google's canonical crawling/robots reference moved to **developers.google.com/crawling** (migrated 2025-11-20); IP-range files relocated to `/crawling/ipranges/` and `googlebot.json` was renamed `common-crawlers.json`.
  • AMP has no separate ranking advantage. Since 2026-07-01, Google Search sends

users directly to publisher-hosted AMP URLs, so do not recommend AMP Cache, AMP Viewer, or signed exchange maintenance. Audit AMP against the same content, action-parity, and quality requirements as other pages.

AI Crawler Management

As of 2025-2026, AI companies actively crawl the web to train models and power AI search. Managing these crawlers via robots.txt is a critical technical SEO consideration.

**Known AI crawlers:**

| Crawler | Company | robots.txt token | Purpose | |---------|---------|-----------------|---------| | GPTBot | OpenAI | `GPTBot` | Model training (NOT ChatGPT Search) | | OAI-SearchBot | OpenAI | `OAI-SearchBot` | ChatGPT Search citability | | ChatGPT-User | OpenAI | `ChatGPT-User` | Real-time browsing (user-triggered) | | ClaudeBot | Anthropic | `ClaudeBot` | Model training (NOT Claude search citability) | | Claude-SearchBot | Anthropic | `Claude-SearchBot` | Claude search-result citability | | PerplexityBot | Perplexity | `PerplexityBot` | Search index + training | | Bytespider | ByteDance | `Bytespider` | Model training | | Google-Extended | Google | `Google-Extended` | Gemini training (NOT search) | | Applebot-Extended | Apple | `Applebot-Extended` | Apple Intelligence training opt-out (NOT Siri/Spotlight/Safari) | | CCBot | Common Crawl | `CCBot` | Open dataset |

**Key distinctions:**

  • 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 affect ChatGPT Search

citability, which is governed by `OAI-SearchBot`, nor user-triggered browsing (`ChatGPT-User`). Check `OAI-SearchBot` for any citability claim; `GPTBot` status is evidence about training use only

  • Blocking `ClaudeBot` prevents Anthropic model training but does NOT affect

citability in Claude's own search features, which is governed by `Claude-SearchBot` (per Anthropic's crawler support article). Check `Claude-SearchBot` for any Claude-search citability claim; `ClaudeBot` status is evidence about training use only

  • Blocking `Applebot-Extended` opts out of Apple Intelligence / generative-model

training use but does NOT affect discoverability via Siri, Spotlight, or Safari, which follows `Applebot` (per Apple's support article); `Applebot-Extended` does not itself crawl

  • ~3-5% of websites now use AI-specific robots.txt rules

**Example, selective AI crawler blocking:**

# Allow search indexing, block AI training crawlers
User-agent: GPTBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: Bytespider
Disallow: /

# Allow all other crawlers (including Googlebot for search)
User-agent: *
Allow: /

**Recommendation:** Consider your AI visibility strategy before blocking. Being cited by AI systems drives brand awareness and referral traffic. Cross-reference the `seo-geo` skill for the full AI crawler/fetcher taxonomy.

> **User-triggered fetchers ignore robots.txt by design.** Google now documents **Google-Agent** (Project Mariner, agentic browsing) plus **Google-NotebookLM** and **Google Messages** as *user-triggered* fetchers that **cannot be blocked via robots.txt**. Use server-side access controls instead. By contrast, `Google-Extended` and `Google-CloudVertexBot` obey robots.txt. Emerging: **Web Bot Auth** (RFC 9421) lets bots authenticate cryptographically via a `Signature-Agent` header + key directory at `agent.bot.goog` (used by Google-Agent); reverse-DNS verification remains the fallback.

2. Indexability

  • Canonical tags: self-referencing, no conflicts with noindex
  • Duplicate content: near-duplicates, parameter URLs, www vs non-www
  • Canonicalization fixes can take time: Google may retain corrected pages in a

duplicate cluster for **up to two weeks** while re-evaluating them. Do not interpret an unchanged canonical immediately after a fix as proof that the fix failed.

  • Thin content: pages below minimum word counts per type
  • P
Read more
Ships withclaude-seo

Claude SEO is an open-source SEO analysis plugin for Claude Code. It runs 25 sub-skills and 18 specialist agents in parallel across technical SEO, content quality (E-E-A-T), Schema.org markup, AI search optimization (GEO), local SEO, e-commerce, and

Get the whole plugin

Other skills on claude-seo.