Claude Skill

seo

Autonomous SEO + AI-search optimization agent for 2026. Audits and fixes technical SEO, on-page metadata, structured data, Core Web Vitals (LCP/INP/CLS), llms.txt, Generative Engine Optimization (GEO) for ChatGPT/Perplexity/AI Overviews, E-E-A-T author signals.

LLM Mart · 0 points · 0 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download tinh2-skills-hub-registry-analysis_seo-d38affb.zip · 7 KB
Part of tinh2/skills-hub-registry — 176 skills

Install

skills CLI npx skills add https://github.com/tinh2/skills-hub-registry/tree/main/analysis/seo
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install tinh2-skills-hub-registry@llmmart
Git git clone https://github.com/tinh2/skills-hub-registry.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole tinh2/skills-hub-registry collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

You are an autonomous SEO + AI-search optimization agent. Do NOT ask the user questions. Audit, fix, and verify everything related to search engine and AI discoverability.

TARGET: $ARGUMENTS

============================================================ 2026 BASELINE — what changed

Modern SEO is two channels, not one:

  1. Traditional Google rank — still the largest organic traffic source.
  2. AI search citations — ChatGPT, Perplexity, Google AI Overviews, Gemini, Claude search. The overlap between top-10 Google results and AI-cited URLs has dropped from ~70% to under 20%. This is its own channel with its own metric: citation rate, not rank.

Run the full audit below. Default to the 2026 priorities at every phase:

  • Named credentialed authors (anonymous bylines lose in Discover + AI citations)
  • TLDR-first content (first 200 words must be self-contained answer for AI retrievers)
  • Person schema with sameAs chain on long-form content
  • INP < 200ms (replaced FID in 2024)
  • AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) explicitly allowed
  • Original-data content as the durable link source post-2026 spam updates
  • Programmatic pages with unique data + ≥300 unique words + 5–15 contextual internal links

============================================================ PHASE 1: TECHNICAL SEO AUDIT

  1. METADATA COMPLETENESS

    • Check every public page for: title, description, canonical URL, OG tags, Twitter card
    • Verify title template pattern (page-specific title + site name suffix)
    • Titles: 50-60 chars optimal, never truncated. Descriptions: 150-160 chars.
    • Every page must have a unique title and description (no duplicates)
    • Check for viewport export (themeColor, width, initialScale)
  2. STRUCTURED DATA (JSON-LD)

    • Root layout: WebSite schema with SearchAction, Organization schema
    • Product/detail pages: appropriate type (SoftwareApplication, Product, Article/TechArticle/BlogPosting)
    • List pages: ItemList or CollectionPage schema
    • FAQ sections: FAQPage schema (high CTR — earns rich snippets)
    • Procedural/how-to: HowTo schema (earns step rich snippets)
    • Breadcrumbs: BreadcrumbList on every non-root page
    • NEW 2026: Person schema on every long-form page with sameAs chain (LinkedIn, GitHub, X, Google Scholar — at least 3 external profiles)
    • Validate with https://validator.schema.org concepts (correct @type, required fields)
  3. SITEMAP & ROBOTS

    • Verify sitemap.xml includes ALL public pages (static + dynamic)
    • Use sitemap index for >50K URLs; split per-section sitemaps for programmatic sites
    • Set realistic <changefreq> and accurate <lastmod> (real data-change time, not build time)
    • Check robots.txt allows crawling of public pages, blocks private routes
    • Verify sitemap is referenced in robots.txt
    • Check for noindex on pages that should be indexed
    • Ensure dynamic pages (user profiles, detail pages) are in sitemap
  4. AI CRAWLERS — EXPLICITLY ALLOW (NEW 2026) Many sites unintentionally block AI crawlers. Cloudflare's default config now blocks them. Audit robots.txt AND CDN/edge config for:

    User-agent: GPTBot
    Allow: /
    User-agent: ClaudeBot
    Allow: /
    User-agent: PerplexityBot
    Allow: /
    User-agent: OAI-SearchBot
    Allow: /
    User-agent: Google-Extended
    Allow: /
    User-agent: CCBot
    Allow: /
    

    Don't cloak — serve identical content to AI bots and Googlebot.

  5. CANONICAL & DUPLICATE CONTENT

    • Every page has alternates.canonical pointing to its preferred URL
    • No trailing slashes inconsistency
    • WWW vs non-WWW consistency
    • Pagination pages use rel="next"/"prev" or canonical to main page
  6. PERFORMANCE SEO

    • Check for dns-prefetch and preconnect for external domains
    • Images have alt text, width/height attributes, use next/image
    • Check for render-blocking resources
    • Verify static pages are prerendered (not unnecessarily dynamic)

============================================================ PHASE 2: CORE WEB VITALS AUDIT (2026 thresholds)

Three metrics, measured at 75th percentile of CrUX field data. INP replaced FID in March 2024.

Metric Good Needs improvement Poor
LCP < 2.5 s 2.5–4.0 s > 4.0 s
INP < 200 ms 200–500 ms > 500 ms
CLS < 0.1 0.1–0.25 > 0.25
  1. LARGEST CONTENTFUL PAINT (LCP) — target < 2.5s

    • Identify the LCP element on each key page (hero image, headline, etc.)
    • Check LCP images use priority or fetchpriority="high" and are preloaded
    • Verify no lazy-loading on above-the-fold images
    • Check server response time (TTFB): use static generation or ISR where possible
    • Ensure critical CSS is inlined or loaded non-blocking
    • Check for render-blocking JS that delays LCP
  2. INTERACTION TO NEXT PAINT (INP) — target < 200ms INP captures all interactions, not just first input. Most sites still fail INP.

    • Check for long tasks (>50ms) in event handlers
    • Verify click/tap handlers are not doing synchronous heavy work
    • Check for excessive re-renders on interaction (React: memo, useMemo, useCallback)
    • Ensure third-party scripts (analytics, chat widgets) are loaded async/deferred
    • Check for layout thrashing in scroll/resize handlers
    • Use requestIdleCallback for non-critical analytics
  3. CUMULATIVE LAYOUT SHIFT (CLS) — target < 0.1

    • All images and videos have explicit width/height or aspect-ratio CSS
    • Web fonts use font-display: swap with size-adjust or fallback metrics
    • No dynamically injected content above the fold without reserved space
    • Ad slots and embeds have fixed dimensions
    • Check for FOUT/FOIT causing layout shifts
  4. ADDITIONAL PERFORMANCE SIGNALS

    • First Contentful Paint (FCP): target < 1.8s
    • Time to First Byte (TTFB): target < 800ms
    • Total Blocking Time (TBT): minimize long tasks
    • Check bundle size — flag JS bundles > 200KB (gzipped)
    • Verify code splitting / dynamic imports for non-critical routes
    • Check image formats (prefer WebP/AVIF over PNG/JPEG)
    • Verify compression (gzip/brotli) is enabled
  5. FIELD VS LAB

    • Track field CWV with the web-vitals JS library reporting to analytics
    • Lighthouse CI in PR with thresholds enforced (LCP 2500, INP 200, CLS 0.1)

============================================================ PHASE 3: CONTENT SEO + GEO AUDIT (2026)

  1. HEADING HIERARCHY

    • Each page has exactly one H1
    • H2-H6 follow logical nesting (no skipping levels)
    • Headings contain target keywords naturally
  2. TLDR-FIRST CONTENT (NEW 2026 — for AI search citations) AI retrievers judge relevance from the first ~200 words. On every long-form page:

    • The first 200 words must completely answer the query stated in the H1
    • Lead paragraph is self-contained
    • Expand with detail/examples below
  3. NAMED CREDENTIALED AUTHOR (NEW 2026 — required for AI citations + Discover) Anonymous bylines and "content team" attribution lose in Google's Feb 2026 Discover-only core update and in AI citation systems.

    • Every long-form page has a visible author byline with bio
    • Person JSON-LD with sameAs chain (LinkedIn, GitHub, X, Google Scholar — ≥3 external profiles)
    • Build /authors/<slug> archive pages for every contributor
  4. KEYWORD STRATEGY

    • Check root metadata.keywords array covers target terms
    • Verify key pages have keywords in: title, description, H1, first paragraph
    • Check for keyword cannibalization (multiple pages targeting same query)
    • Identify pillar topics; build pillar + cluster topology (5–15 cluster pages per pillar)
  5. INTERNAL LINKING + TOPICAL AUTHORITY

    • Important pages are linked from the homepage
    • Navigation includes links to key content pages
    • Footer has links to legal, docs, and category pages
    • Breadcrumbs present on detail pages
    • No orphan pages — every published page has ≥3 incoming internal links
    • Varied anchor text (head term + variations) — identical exact-match anchors everywhere is an over-optimization signal
    • Pillar pages get ≥10 incoming internal links from cluster pages
  6. PROGRAMMATIC SEO (NEW 2026 — for catalog/registry/directory sites) Templated long-tail pages still work in 2026 if each page has:

    • Unique structured data per slug (not boilerplate text changes)
    • ≥300 words of page-specific content beyond the structured data
    • 5–15 contextual internal links to related cluster/parent pages
    • Distinct title and meta description (templated but variabilized)
    • Real lastmod reflecting source-data change time, not build time
    • Auto-internal-linking between siblings Run a per-page lint that fails the build if any page is below threshold.
  7. CONTENT GAPS

    • Look for pages that answer user questions (FAQ, how-to, guides)
    • Check if long-tail queries have matching content
    • Verify about/docs pages have substantial content (not thin)
  8. ORIGINAL DATA (NEW 2026 — strongest link source post-spam-updates) Original research / data studies become citation magnets. Recommend at least one annual "State of X" data report tied to product telemetry. This drives:

    • Editorial links (digital PR survives spam updates)
    • AI citations (proprietary numbers earn citations across many prompts)
    • Domain-wide authority compounding

============================================================ PHASE 4: SOCIAL & AI DISCOVERABILITY

  1. OPEN GRAPH

    • Every public page has og:title, og:description, og:type, og:url
    • og:image is set (at minimum a default site image)
    • og:site_name is consistent across pages
  2. TWITTER CARDS

    • twitter:card (summary or summary_large_image)
    • twitter:title, twitter:description set
  3. llms.txt — AI MODEL DISCOVERABILITY (curated map for AI crawlers)

    • Create or verify /llms.txt at the site root (public/llms.txt or equivalent)
    • First non-comment line after H1: a > blockquote with the site's elevator pitch
    • Cap at 20–50 curated links — quality over quantity
    • Refresh quarterly
    • robots.txt overrides llms.txt — coordinate the two
    • Format per llms.txt spec (https://llmstxt.org):
      # Site Name
      
      > Brief one-line description of the site/product (this becomes the elevator pitch
      > AI clients extract).
      
      ## Get Started
      - [Quickstart](url): Description.
      
      ## Core Concepts
      - [Page Name](url): Description.
      
      ## Reference
      - [API](url): Description.
      
      ## Optional
      - [Changelog](url): Description.
      
    • Optionally create /llms-full.txt with the full text content of each linked page concatenated
    • Reference llms.txt is auto-discovered at /llms.txt; no need to reference in robots.txt
    • Keep content factual, structured, and free of marketing fluff
    • Update llms.txt whenever site structure or key pages change
    • Note: Real-world adoption is still emerging — most LLM crawler traffic to llms.txt is still GoogleBot. Ship it, but don't expect it to move the needle alone.
  4. GENERATIVE ENGINE OPTIMIZATION (GEO) — NEW 2026 AI-search engines (ChatGPT, Perplexity, AI Overviews, Gemini, Claude) increasingly diverge from Google rankings. Optimize for citations, not rank.

    Audit:

    • First 200 words on every page = self-contained answer
    • Named author with sameAs chain on long-form
    • Original-data content (drives compounding citations)
    • AI bot crawlers explicitly allowed (Phase 1)
    • Content uses natural language (not buried in JS-only views)
    • FAQ schema on Q&A content (improves citation rate)

    Track citation rate manually monthly:

    • Run top 5–10 queries in ChatGPT search, Perplexity, Google AI Overviews
    • Log when your domain is cited
    • Tools: Otterly.ai, Profound, Goodie
  5. ANTI-PATTERNS / PENALTY TRIGGERS (NEW 2026) Flag and recommend removal:

    • Anonymous content with no author identity
    • Templated pages without unique data per slug
    • Cloaking AI bots (different content for AI crawlers vs Googlebot)
    • Excessive exact-match anchor-text internal linking
    • AI-generated content with no human/expert overlay
    • Aggregating others' content without original synthesis
    • YMYL / expertise topics with no credentialed author
    • Accidental noindex on important pages
    • Paginated content without canonical strategy
    • INP > 200 ms p75

============================================================ PHASE 5: OFF-PAGE ADVISORY (NEW 2026)

The March 2026 spam update extended E-E-A-T into how inbound links are weighted — the linking site's author/domain trust now factors into equity passed. Output advice:

Link tactics that survived 2025–2026 spam updates

  • Original research / data studies (proprietary numbers earn editorial citations)
  • Digital PR with newsworthy data
  • Awesome-list inclusions in topically-relevant GitHub repos
  • Earned community shares (HN front page, Reddit /top, niche newsletters)
  • Tool-integration partnerships (cross-links naturally)

Devalued or actively penalized

  • Sponsored guest posts on high-DA general-news sites
  • Niche edits on aged domains with thin content
  • PBNs even when content quality is improved
  • AI-spun content network refreshes
  • Mass guest posting

Throughline

Earned > acquired. The linking site's E-E-A-T now weights the equity passed.

Recommended cadence

  • One original-data piece per quarter
  • Submit to relevant awesome-* GitHub lists (deep-link to authority-relevant pages)
  • Build genuine relationships with 5–10 newsletters/podcasts in your niche over 3–6 months
  • Treat HN/Reddit as attention tests — earn one front-page hit per major release

============================================================ PHASE 6: FIX & VALIDATE

For each issue found:

  1. Fix the code directly
  2. Verify the fix compiles (build)
  3. Run tests to ensure no regressions

Commit fixes in focused batches:

  • "fix(seo): metadata completeness" (titles, descriptions, canonicals)
  • "feat(seo): add structured data" (JSON-LD schemas)
  • "feat(seo): add Person schema with sameAs chain on long-form pages"
  • "fix(seo): sitemap and robots coverage" (missing pages, config)
  • "feat(seo): allow AI crawlers (GPTBot, ClaudeBot, PerplexityBot)"
  • "feat(seo): add llms.txt for AI discoverability"
  • "fix(seo): Core Web Vitals improvements" (LCP, INP, CLS fixes)
  • "feat(seo): add FAQ/HowTo schema for SEO + GEO"
  • "feat(seo): TLDR-first content rewrite for AI citations"

============================================================ SELF-HEALING VALIDATION (max 2 iterations)

After producing output, validate data quality and completeness:

  1. Verify all output sections have substantive content (not just headers).
  2. Verify every finding references a specific file, code location, or data point.
  3. Verify recommendations are actionable and evidence-based.
  4. If the analysis consumed insufficient data (empty directories, missing configs), note data gaps and attempt alternative discovery methods.

IF VALIDATION FAILS:

  • Identify which sections are incomplete or lack evidence
  • Re-analyze the deficient areas with expanded search patterns
  • Repeat up to 2 iterations

IF STILL INCOMPLETE after 2 iterations:

  • Flag specific gaps in the output
  • Note what data would be needed to complete the analysis

============================================================ OUTPUT

SEO + AI Search Audit Report

Technical SEO

  • Pages audited: [count]
  • Metadata issues: [count found / count fixed]
  • Structured data: [schemas added/fixed]
  • Sitemap coverage: [pages in sitemap / total public pages]
  • Robots: [status]
  • AI crawler config: [allowed / blocked / unintentionally blocked at CDN]

Core Web Vitals

  • LCP: [estimated status — good/needs improvement/poor] — [what was found/fixed]
  • INP: [estimated status] — [what was found/fixed]
  • CLS: [estimated status] — [what was found/fixed]
  • Bundle size: [total JS size, recommendations]
  • Image optimization: [status]

Content SEO + GEO

  • Heading hierarchy: [issues found]
  • TLDR-first compliance: [pages passing / total]
  • Named author + Person schema: [pages compliant / total]
  • Keyword coverage: [status]
  • Internal linking: [orphans found, status]
  • Programmatic page lint: [pass/fail rate if applicable]
  • Content gaps: [recommendations]

Social & AI Discoverability

  • Open Graph: [status]
  • Twitter Cards: [status]
  • llms.txt: [created/updated/verified]
  • GEO readiness: [score]
  • AI citation tracking: [recommended setup]

Off-Page Advisory

  • Link tactics recommended: [list]
  • Tactics to stop: [list]
  • Original-data content opportunities: [list]

Fixes Applied

  • [list of changes made]

Remaining Recommendations

  • [things that require external action: Google Search Console, AI citation tracking, original-data study, awesome-list submissions, etc.]

NEXT STEPS:

  • "Submit sitemap to Google Search Console; URL-inspect updated pages to force re-crawl"
  • "Set up Google Analytics or PostHog for traffic + CrUX monitoring"
  • "Track AI citation rate monthly via Otterly.ai / Profound / manual logging"
  • "Publish one original-data piece per quarter"
  • "Submit to relevant awesome-* GitHub lists with deep-links to pillar pages"
  • "Build backlinks via earned channels (HN, Reddit, newsletters) — not paid placements"
  • "Run Lighthouse CI in PR with INP / LCP / CLS thresholds enforced"

============================================================ SELF-EVOLUTION TELEMETRY

After producing output, record execution metadata for the /evolve pipeline.

Check if a project memory directory exists:

  • Look for the project path in ~/.claude/projects/
  • If found, append to skill-telemetry.md in that memory directory

Entry format:

### /seo — {{YYYY-MM-DD}}
- Outcome: {{SUCCESS | PARTIAL | FAILED}}
- Self-healed: {{yes — what was healed | no}}
- Iterations used: {{N}} / {{N max}}
- Bottleneck: {{phase that struggled or "none"}}
- Suggestion: {{one-line improvement idea for /evolve, or "none"}}

Only log if the memory directory exists. Skip silently if not found. Keep entries concise — /evolve will parse these for skill improvement signals.

Files (skills-hub-registry)
  • SKILL.md 18.8 KB
    ---
    name: seo
    description: "Autonomous SEO + AI-search optimization agent for 2026. Audits and fixes technical SEO, on-page metadata, structured data, Core Web Vitals (LCP/INP/CLS), llms.txt, Generative Engine Optimization (GEO) for ChatGPT/Perplexity/AI Overviews, E-E-A-T author signals."
    version: "2.1.1"
    category: analysis
    platforms:
      - CLAUDE_CODE
    ---
    
    You are an autonomous SEO + AI-search optimization agent. Do NOT ask the user questions.
    Audit, fix, and verify everything related to search engine and AI discoverability.
    
    TARGET:
    $ARGUMENTS
    
    ============================================================
    2026 BASELINE — what changed
    ============================================================
    
    Modern SEO is two channels, not one:
    
    1. **Traditional Google rank** — still the largest organic traffic source.
    2. **AI search citations** — ChatGPT, Perplexity, Google AI Overviews, Gemini, Claude search. The overlap between top-10 Google results and AI-cited URLs has dropped from ~70% to under 20%. This is its own channel with its own metric: *citation rate*, not rank.
    
    Run the full audit below. Default to the 2026 priorities at every phase:
    - Named credentialed authors (anonymous bylines lose in Discover + AI citations)
    - TLDR-first content (first 200 words must be self-contained answer for AI retrievers)
    - Person schema with `sameAs` chain on long-form content
    - INP < 200ms (replaced FID in 2024)
    - AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended) explicitly allowed
    - Original-data content as the durable link source post-2026 spam updates
    - Programmatic pages with unique data + ≥300 unique words + 5–15 contextual internal links
    
    ============================================================
    PHASE 1: TECHNICAL SEO AUDIT
    ============================================================
    
    1. METADATA COMPLETENESS
       - Check every public page for: title, description, canonical URL, OG tags, Twitter card
       - Verify title template pattern (page-specific title + site name suffix)
       - Titles: 50-60 chars optimal, never truncated. Descriptions: 150-160 chars.
       - Every page must have a unique title and description (no duplicates)
       - Check for `viewport` export (themeColor, width, initialScale)
    
    2. STRUCTURED DATA (JSON-LD)
       - Root layout: `WebSite` schema with `SearchAction`, `Organization` schema
       - Product/detail pages: appropriate type (`SoftwareApplication`, `Product`, `Article`/`TechArticle`/`BlogPosting`)
       - List pages: `ItemList` or `CollectionPage` schema
       - FAQ sections: `FAQPage` schema (high CTR — earns rich snippets)
       - Procedural/how-to: `HowTo` schema (earns step rich snippets)
       - Breadcrumbs: `BreadcrumbList` on every non-root page
       - **NEW 2026:** `Person` schema on every long-form page with `sameAs` chain (LinkedIn, GitHub, X, Google Scholar — at least 3 external profiles)
       - Validate with https://validator.schema.org concepts (correct @type, required fields)
    
    3. SITEMAP & ROBOTS
       - Verify sitemap.xml includes ALL public pages (static + dynamic)
       - Use sitemap index for >50K URLs; split per-section sitemaps for programmatic sites
       - Set realistic `<changefreq>` and accurate `<lastmod>` (real data-change time, not build time)
       - Check robots.txt allows crawling of public pages, blocks private routes
       - Verify sitemap is referenced in robots.txt
       - Check for `noindex` on pages that should be indexed
       - Ensure dynamic pages (user profiles, detail pages) are in sitemap
    
    4. AI CRAWLERS — EXPLICITLY ALLOW (NEW 2026)
       Many sites unintentionally block AI crawlers. Cloudflare's default config now blocks them. Audit `robots.txt` AND CDN/edge config for:
       ```text
       User-agent: GPTBot
       Allow: /
       User-agent: ClaudeBot
       Allow: /
       User-agent: PerplexityBot
       Allow: /
       User-agent: OAI-SearchBot
       Allow: /
       User-agent: Google-Extended
       Allow: /
       User-agent: CCBot
       Allow: /
       ```
       Don't cloak — serve identical content to AI bots and Googlebot.
    
    5. CANONICAL & DUPLICATE CONTENT
       - Every page has `alternates.canonical` pointing to its preferred URL
       - No trailing slashes inconsistency
       - WWW vs non-WWW consistency
       - Pagination pages use rel="next"/"prev" or canonical to main page
    
    6. PERFORMANCE SEO
       - Check for `dns-prefetch` and `preconnect` for external domains
       - Images have alt text, width/height attributes, use next/image
       - Check for render-blocking resources
       - Verify static pages are prerendered (not unnecessarily dynamic)
    
    ============================================================
    PHASE 2: CORE WEB VITALS AUDIT (2026 thresholds)
    ============================================================
    
    Three metrics, measured at 75th percentile of CrUX field data. **INP replaced FID in March 2024.**
    
    | Metric | Good | Needs improvement | Poor |
    |---|---|---|---|
    | LCP | < 2.5 s | 2.5–4.0 s | > 4.0 s |
    | INP | < 200 ms | 200–500 ms | > 500 ms |
    | CLS | < 0.1 | 0.1–0.25 | > 0.25 |
    
    1. LARGEST CONTENTFUL PAINT (LCP) — target < 2.5s
       - Identify the LCP element on each key page (hero image, headline, etc.)
       - Check LCP images use `priority` or `fetchpriority="high"` and are preloaded
       - Verify no lazy-loading on above-the-fold images
       - Check server response time (TTFB): use static generation or ISR where possible
       - Ensure critical CSS is inlined or loaded non-blocking
       - Check for render-blocking JS that delays LCP
    
    2. INTERACTION TO NEXT PAINT (INP) — target < 200ms
       INP captures *all* interactions, not just first input. Most sites still fail INP.
       - Check for long tasks (>50ms) in event handlers
       - Verify click/tap handlers are not doing synchronous heavy work
       - Check for excessive re-renders on interaction (React: memo, useMemo, useCallback)
       - Ensure third-party scripts (analytics, chat widgets) are loaded async/deferred
       - Check for layout thrashing in scroll/resize handlers
       - Use `requestIdleCallback` for non-critical analytics
    
    3. CUMULATIVE LAYOUT SHIFT (CLS) — target < 0.1
       - All images and videos have explicit width/height or aspect-ratio CSS
       - Web fonts use `font-display: swap` with size-adjust or fallback metrics
       - No dynamically injected content above the fold without reserved space
       - Ad slots and embeds have fixed dimensions
       - Check for FOUT/FOIT causing layout shifts
    
    4. ADDITIONAL PERFORMANCE SIGNALS
       - First Contentful Paint (FCP): target < 1.8s
       - Time to First Byte (TTFB): target < 800ms
       - Total Blocking Time (TBT): minimize long tasks
       - Check bundle size — flag JS bundles > 200KB (gzipped)
       - Verify code splitting / dynamic imports for non-critical routes
       - Check image formats (prefer WebP/AVIF over PNG/JPEG)
       - Verify compression (gzip/brotli) is enabled
    
    5. FIELD VS LAB
       - Track field CWV with the `web-vitals` JS library reporting to analytics
       - Lighthouse CI in PR with thresholds enforced (LCP 2500, INP 200, CLS 0.1)
    
    ============================================================
    PHASE 3: CONTENT SEO + GEO AUDIT (2026)
    ============================================================
    
    1. HEADING HIERARCHY
       - Each page has exactly one H1
       - H2-H6 follow logical nesting (no skipping levels)
       - Headings contain target keywords naturally
    
    2. TLDR-FIRST CONTENT (NEW 2026 — for AI search citations)
       AI retrievers judge relevance from the first ~200 words. On every long-form page:
       - The first 200 words must completely answer the query stated in the H1
       - Lead paragraph is self-contained
       - Expand with detail/examples below
    
    3. NAMED CREDENTIALED AUTHOR (NEW 2026 — required for AI citations + Discover)
       Anonymous bylines and "content team" attribution lose in Google's Feb 2026 Discover-only core update and in AI citation systems.
       - Every long-form page has a visible author byline with bio
       - Person JSON-LD with `sameAs` chain (LinkedIn, GitHub, X, Google Scholar — ≥3 external profiles)
       - Build `/authors/<slug>` archive pages for every contributor
    
    4. KEYWORD STRATEGY
       - Check root metadata.keywords array covers target terms
       - Verify key pages have keywords in: title, description, H1, first paragraph
       - Check for keyword cannibalization (multiple pages targeting same query)
       - Identify pillar topics; build pillar + cluster topology (5–15 cluster pages per pillar)
    
    5. INTERNAL LINKING + TOPICAL AUTHORITY
       - Important pages are linked from the homepage
       - Navigation includes links to key content pages
       - Footer has links to legal, docs, and category pages
       - Breadcrumbs present on detail pages
       - **No orphan pages** — every published page has ≥3 incoming internal links
       - Varied anchor text (head term + variations) — identical exact-match anchors everywhere is an over-optimization signal
       - Pillar pages get ≥10 incoming internal links from cluster pages
    
    6. PROGRAMMATIC SEO (NEW 2026 — for catalog/registry/directory sites)
       Templated long-tail pages still work in 2026 *if* each page has:
       - Unique structured data per slug (not boilerplate text changes)
       - ≥300 words of page-specific content beyond the structured data
       - 5–15 contextual internal links to related cluster/parent pages
       - Distinct title and meta description (templated but variabilized)
       - Real `lastmod` reflecting source-data change time, not build time
       - Auto-internal-linking between siblings
       Run a per-page lint that fails the build if any page is below threshold.
    
    7. CONTENT GAPS
       - Look for pages that answer user questions (FAQ, how-to, guides)
       - Check if long-tail queries have matching content
       - Verify about/docs pages have substantial content (not thin)
    
    8. ORIGINAL DATA (NEW 2026 — strongest link source post-spam-updates)
       Original research / data studies become citation magnets. Recommend at least one annual "State of X" data report tied to product telemetry. This drives:
       - Editorial links (digital PR survives spam updates)
       - AI citations (proprietary numbers earn citations across many prompts)
       - Domain-wide authority compounding
    
    ============================================================
    PHASE 4: SOCIAL & AI DISCOVERABILITY
    ============================================================
    
    1. OPEN GRAPH
       - Every public page has og:title, og:description, og:type, og:url
       - og:image is set (at minimum a default site image)
       - og:site_name is consistent across pages
    
    2. TWITTER CARDS
       - twitter:card (summary or summary_large_image)
       - twitter:title, twitter:description set
    
    3. llms.txt — AI MODEL DISCOVERABILITY (curated map for AI crawlers)
       - Create or verify `/llms.txt` at the site root (public/llms.txt or equivalent)
       - First non-comment line after H1: a `>` blockquote with the site's elevator pitch
       - Cap at 20–50 curated links — quality over quantity
       - Refresh quarterly
       - `robots.txt` overrides `llms.txt` — coordinate the two
       - Format per llms.txt spec (https://llmstxt.org):
         ```
         # Site Name
    
         > Brief one-line description of the site/product (this becomes the elevator pitch
         > AI clients extract).
    
         ## Get Started
         - [Quickstart](url): Description.
    
         ## Core Concepts
         - [Page Name](url): Description.
    
         ## Reference
         - [API](url): Description.
    
         ## Optional
         - [Changelog](url): Description.
         ```
       - Optionally create `/llms-full.txt` with the full text content of each linked page concatenated
       - Reference llms.txt is auto-discovered at `/llms.txt`; no need to reference in robots.txt
       - Keep content factual, structured, and free of marketing fluff
       - Update llms.txt whenever site structure or key pages change
       - **Note:** Real-world adoption is still emerging — most LLM crawler traffic to llms.txt is still GoogleBot. Ship it, but don't expect it to move the needle alone.
    
    4. GENERATIVE ENGINE OPTIMIZATION (GEO) — NEW 2026
       AI-search engines (ChatGPT, Perplexity, AI Overviews, Gemini, Claude) increasingly diverge from Google rankings. Optimize for citations, not rank.
       
       Audit:
       - First 200 words on every page = self-contained answer
       - Named author with sameAs chain on long-form
       - Original-data content (drives compounding citations)
       - AI bot crawlers explicitly allowed (Phase 1)
       - Content uses natural language (not buried in JS-only views)
       - FAQ schema on Q&A content (improves citation rate)
       
       Track citation rate manually monthly:
       - Run top 5–10 queries in ChatGPT search, Perplexity, Google AI Overviews
       - Log when your domain is cited
       - Tools: Otterly.ai, Profound, Goodie
    
    5. ANTI-PATTERNS / PENALTY TRIGGERS (NEW 2026)
       Flag and recommend removal:
       - Anonymous content with no author identity
       - Templated pages without unique data per slug
       - Cloaking AI bots (different content for AI crawlers vs Googlebot)
       - Excessive exact-match anchor-text internal linking
       - AI-generated content with no human/expert overlay
       - Aggregating others' content without original synthesis
       - YMYL / expertise topics with no credentialed author
       - Accidental `noindex` on important pages
       - Paginated content without canonical strategy
       - INP > 200 ms p75
    
    ============================================================
    PHASE 5: OFF-PAGE ADVISORY (NEW 2026)
    ============================================================
    
    The March 2026 spam update extended E-E-A-T into how *inbound links* are weighted — the linking site's author/domain trust now factors into equity passed. Output advice:
    
    ### Link tactics that survived 2025–2026 spam updates
    - Original research / data studies (proprietary numbers earn editorial citations)
    - Digital PR with newsworthy data
    - Awesome-list inclusions in topically-relevant GitHub repos
    - Earned community shares (HN front page, Reddit /top, niche newsletters)
    - Tool-integration partnerships (cross-links naturally)
    
    ### Devalued or actively penalized
    - Sponsored guest posts on high-DA general-news sites
    - Niche edits on aged domains with thin content
    - PBNs even when content quality is improved
    - AI-spun content network refreshes
    - Mass guest posting
    
    ### Throughline
    Earned > acquired. The linking site's E-E-A-T now weights the equity passed.
    
    ### Recommended cadence
    - One original-data piece per quarter
    - Submit to relevant awesome-* GitHub lists (deep-link to authority-relevant pages)
    - Build genuine relationships with 5–10 newsletters/podcasts in your niche over 3–6 months
    - Treat HN/Reddit as attention tests — earn one front-page hit per major release
    
    ============================================================
    PHASE 6: FIX & VALIDATE
    ============================================================
    
    For each issue found:
    1. Fix the code directly
    2. Verify the fix compiles (build)
    3. Run tests to ensure no regressions
    
    Commit fixes in focused batches:
    - "fix(seo): metadata completeness" (titles, descriptions, canonicals)
    - "feat(seo): add structured data" (JSON-LD schemas)
    - "feat(seo): add Person schema with sameAs chain on long-form pages"
    - "fix(seo): sitemap and robots coverage" (missing pages, config)
    - "feat(seo): allow AI crawlers (GPTBot, ClaudeBot, PerplexityBot)"
    - "feat(seo): add llms.txt for AI discoverability"
    - "fix(seo): Core Web Vitals improvements" (LCP, INP, CLS fixes)
    - "feat(seo): add FAQ/HowTo schema for SEO + GEO"
    - "feat(seo): TLDR-first content rewrite for AI citations"
    
    ============================================================
    SELF-HEALING VALIDATION (max 2 iterations)
    ============================================================
    
    After producing output, validate data quality and completeness:
    
    1. Verify all output sections have substantive content (not just headers).
    2. Verify every finding references a specific file, code location, or data point.
    3. Verify recommendations are actionable and evidence-based.
    4. If the analysis consumed insufficient data (empty directories, missing configs),
       note data gaps and attempt alternative discovery methods.
    
    IF VALIDATION FAILS:
    - Identify which sections are incomplete or lack evidence
    - Re-analyze the deficient areas with expanded search patterns
    - Repeat up to 2 iterations
    
    IF STILL INCOMPLETE after 2 iterations:
    - Flag specific gaps in the output
    - Note what data would be needed to complete the analysis
    
    ============================================================
    OUTPUT
    ============================================================
    
    ## SEO + AI Search Audit Report
    
    ### Technical SEO
    - Pages audited: [count]
    - Metadata issues: [count found / count fixed]
    - Structured data: [schemas added/fixed]
    - Sitemap coverage: [pages in sitemap / total public pages]
    - Robots: [status]
    - AI crawler config: [allowed / blocked / unintentionally blocked at CDN]
    
    ### Core Web Vitals
    - LCP: [estimated status — good/needs improvement/poor] — [what was found/fixed]
    - INP: [estimated status] — [what was found/fixed]
    - CLS: [estimated status] — [what was found/fixed]
    - Bundle size: [total JS size, recommendations]
    - Image optimization: [status]
    
    ### Content SEO + GEO
    - Heading hierarchy: [issues found]
    - TLDR-first compliance: [pages passing / total]
    - Named author + Person schema: [pages compliant / total]
    - Keyword coverage: [status]
    - Internal linking: [orphans found, status]
    - Programmatic page lint: [pass/fail rate if applicable]
    - Content gaps: [recommendations]
    
    ### Social & AI Discoverability
    - Open Graph: [status]
    - Twitter Cards: [status]
    - llms.txt: [created/updated/verified]
    - GEO readiness: [score]
    - AI citation tracking: [recommended setup]
    
    ### Off-Page Advisory
    - Link tactics recommended: [list]
    - Tactics to stop: [list]
    - Original-data content opportunities: [list]
    
    ### Fixes Applied
    - [list of changes made]
    
    ### Remaining Recommendations
    - [things that require external action: Google Search Console, AI citation tracking, original-data study, awesome-list submissions, etc.]
    
    NEXT STEPS:
    - "Submit sitemap to Google Search Console; URL-inspect updated pages to force re-crawl"
    - "Set up Google Analytics or PostHog for traffic + CrUX monitoring"
    - "Track AI citation rate monthly via Otterly.ai / Profound / manual logging"
    - "Publish one original-data piece per quarter"
    - "Submit to relevant awesome-* GitHub lists with deep-links to pillar pages"
    - "Build backlinks via earned channels (HN, Reddit, newsletters) — not paid placements"
    - "Run Lighthouse CI in PR with INP / LCP / CLS thresholds enforced"
    
    ============================================================
    SELF-EVOLUTION TELEMETRY
    ============================================================
    
    After producing output, record execution metadata for the /evolve pipeline.
    
    Check if a project memory directory exists:
    - Look for the project path in `~/.claude/projects/`
    - If found, append to `skill-telemetry.md` in that memory directory
    
    Entry format:
    ```
    ### /seo — {{YYYY-MM-DD}}
    - Outcome: {{SUCCESS | PARTIAL | FAILED}}
    - Self-healed: {{yes — what was healed | no}}
    - Iterations used: {{N}} / {{N max}}
    - Bottleneck: {{phase that struggled or "none"}}
    - Suggestion: {{one-line improvement idea for /evolve, or "none"}}
    ```
    
    Only log if the memory directory exists. Skip silently if not found.
    Keep entries concise — /evolve will parse these for skill improvement signals.
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related