{"id":46518704,"url":"https://github.com/agricidaniel/claude-seo","last_synced_at":"2026-04-06T15:01:05.613Z","repository":{"id":337105411,"uuid":"1152014594","full_name":"AgriciDaniel/claude-seo","owner":"AgriciDaniel","description":"Universal SEO skill for Claude Code. 19 sub-skills, 12 subagents, 3 extensions (DataForSEO, Firecrawl, Banana). Technical SEO, E-E-A-T, schema, GEO/AEO, backlinks, local SEO, maps intelligence, Google APIs, and PDF/Excel reporting.","archived":false,"fork":false,"pushed_at":"2026-04-06T13:15:02.000Z","size":2264,"stargazers_count":4078,"open_issues_count":11,"forks_count":628,"subscribers_count":53,"default_branch":"main","last_synced_at":"2026-04-06T14:40:36.492Z","etag":null,"topics":["ai-search","ai-tools","claude","claude-code","core-web-vitals","dataforseo","e-e-a-t","geo","google-search-console","local-seo","mcp","pagespeed","python","schema-markup","seo","seo-audit","seo-tools","skill"],"latest_commit_sha":null,"homepage":"https://claude-seo.md","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgriciDaniel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":["https://www.skool.com/ai-marketing-hub-pro"]}},"created_at":"2026-02-07T08:17:38.000Z","updated_at":"2026-04-06T14:32:25.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/AgriciDaniel/claude-seo","commit_stats":null,"previous_names":["agricidaniel/claude-seo"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/AgriciDaniel/claude-seo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-seo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-seo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-seo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-seo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgriciDaniel","download_url":"https://codeload.github.com/AgriciDaniel/claude-seo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgriciDaniel%2Fclaude-seo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31477013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-06T14:34:32.243Z","status":"ssl_error","status_checked_at":"2026-04-06T14:34:31.723Z","response_time":112,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-search","ai-tools","claude","claude-code","core-web-vitals","dataforseo","e-e-a-t","geo","google-search-console","local-seo","mcp","pagespeed","python","schema-markup","seo","seo-audit","seo-tools","skill"],"created_at":"2026-03-06T18:57:42.615Z","updated_at":"2026-04-06T15:01:05.608Z","avatar_url":"https://github.com/AgriciDaniel.png","language":"Python","funding_links":["https://www.skool.com/ai-marketing-hub-pro"],"categories":[],"sub_categories":[],"readme":"\u003c!-- Updated: 2026-03-28 --\u003e\n\n![Claude SEO](screenshots/cover-image.jpeg)\n\n# Claude SEO - SEO Audit Skill for Claude Code\n\nComprehensive SEO analysis skill for Claude Code. Covers technical SEO, on-page analysis, content quality (E-E-A-T), schema markup, image optimization, sitemap architecture, AI search optimization (GEO), local SEO, maps intelligence, Google SEO APIs (Search Console, PageSpeed, CrUX, GA4), PDF report generation, and strategic planning.\n\n![SEO Command Demo](screenshots/seo-command-demo.gif)\n\n[![CI](https://github.com/AgriciDaniel/claude-seo/actions/workflows/ci.yml/badge.svg)](https://github.com/AgriciDaniel/claude-seo/actions/workflows/ci.yml)\n[![Claude Code Skill](https://img.shields.io/badge/Claude%20Code-Skill-blue)](https://claude.ai/claude-code)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![Version](https://img.shields.io/github/v/release/AgriciDaniel/claude-seo)](https://github.com/AgriciDaniel/claude-seo/releases)\n\n\u003e **Blog:** [Full breakdown of the Claude Code SEO stack](https://agricidaniel.com/blog/claude-code-seo-stack) | [v1.7.2 release: Firecrawl backlink analysis](https://agricidaniel.com/blog/claude-seo-172-firecrawl-backlink-analysis)\n\n## Table of Contents\n\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Commands](#commands)\n- [Features](#features)\n- [Architecture](#architecture)\n- [Extensions](#extensions)\n- [Ecosystem](#ecosystem)\n- [Documentation](#documentation)\n- [Requirements](#requirements)\n- [Uninstall](#uninstall)\n- [Contributing](#contributing)\n\n## Installation\n\n### Plugin Install (Claude Code 1.0.33+)\n\n```bash\n# Add marketplace (one-time)\n/plugin marketplace add AgriciDaniel/claude-seo\n\n# Install plugin\n/plugin install claude-seo@AgriciDaniel-claude-seo\n```\n\n### Manual Install (Unix/macOS/Linux)\n\n```bash\ngit clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git\nbash claude-seo/install.sh\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eOne-liner (curl)\u003c/summary\u003e\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/main/install.sh | bash\n```\n\nOr via [install.cat](https://install.cat):\n\n```bash\ncurl -fsSL install.cat/AgriciDaniel/claude-seo | bash\n```\n\nPrefer to review the script before running?\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/main/install.sh \u003e install.sh\ncat install.sh        # review\nbash install.sh       # run when satisfied\nrm install.sh\n```\n\n\u003c/details\u003e\n\n### Windows (PowerShell)\n\n```powershell\ngit clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git\npowershell -ExecutionPolicy Bypass -File claude-seo\\install.ps1\n```\n\n\u003e **Why git clone instead of `irm | iex`?** Claude Code's own security guardrails flag `irm ... | iex` as a supply chain risk (downloading and executing remote code with no verification). The git clone approach lets you inspect the script at `claude-seo\\install.ps1` before running it.\n\n## Quick Start\n\n```bash\n# Start Claude Code\nclaude\n\n# Run a full site audit\n/seo audit https://example.com\n\n# Analyze a single page\n/seo page https://example.com/about\n\n# Check schema markup\n/seo schema https://example.com\n\n# Generate a sitemap\n/seo sitemap generate\n\n# Optimize for AI search\n/seo geo https://example.com\n```\n### Demo:\n[Watch the full demo on YouTube](https://www.youtube.com/watch?v=COMnNlUakQk)\n\n**`/seo audit`: full site audit with parallel subagents:**\n\n![SEO Audit Demo](screenshots/seo-audit-demo.gif)\n\n## Commands\n\n| Command | Description |\n|---------|-------------|\n| `/seo audit \u003curl\u003e` | Full website audit with parallel subagent delegation |\n| `/seo page \u003curl\u003e` | Deep single-page analysis |\n| `/seo sitemap \u003curl\u003e` | Analyze existing XML sitemap |\n| `/seo sitemap generate` | Generate new sitemap with industry templates |\n| `/seo schema \u003curl\u003e` | Detect, validate, and generate Schema.org markup |\n| `/seo images \u003curl\u003e` | Image optimization analysis |\n| `/seo technical \u003curl\u003e` | Technical SEO audit (9 categories) |\n| `/seo content \u003curl\u003e` | E-E-A-T and content quality analysis |\n| `/seo geo \u003curl\u003e` | AI Overviews / Generative Engine Optimization |\n| `/seo plan \u003ctype\u003e` | Strategic SEO planning (saas, local, ecommerce, publisher, agency) |\n| `/seo programmatic \u003curl\u003e` | Programmatic SEO analysis and planning |\n| `/seo competitor-pages \u003curl\u003e` | Competitor comparison page generation |\n| `/seo local \u003curl\u003e` | Local SEO analysis (GBP, citations, reviews, map pack) |\n| `/seo maps [command]` | Maps intelligence (geo-grid, GBP audit, reviews, competitors) |\n| `/seo hreflang \u003curl\u003e` | Hreflang/i18n SEO audit and generation |\n| `/seo google [command] [url]` | Google SEO APIs (GSC, PageSpeed, CrUX, Indexing, GA4) |\n| `/seo google report [type]` | Generate PDF/HTML report with charts (cwv-audit, gsc-performance, full) |\n\n### `/seo programmatic [url|plan]`\n**Programmatic SEO Analysis \u0026 Planning**\n\nBuild SEO pages at scale from data sources with quality safeguards.\n\n**Capabilities:**\n- Analyze existing programmatic pages for thin content and cannibalization\n- Plan URL patterns and template structures for data-driven pages\n- Internal linking automation between generated pages\n- Canonical strategy and index bloat prevention\n- Quality gates: WARNING at 100+ pages, HARD STOP at 500+ without audit\n\n### `/seo competitor-pages [url|generate]`\n**Competitor Comparison Page Generator**\n\nCreate high-converting \"X vs Y\" and \"alternatives to X\" pages.\n\n**Capabilities:**\n- Structured comparison tables with feature matrices\n- Product schema markup with AggregateRating\n- Conversion-optimized layouts with CTA placement\n- Keyword targeting for comparison intent queries\n- Fairness guidelines for accurate competitor representation\n\n### `/seo hreflang [url]`\n**Hreflang / i18n SEO Audit \u0026 Generation**\n\nValidate and generate hreflang tags for multi-language sites.\n\n**Capabilities:**\n- Generate hreflang tags (HTML, HTTP headers, or XML sitemap)\n- Validate self-referencing tags, return tags, x-default\n- Detect common mistakes (missing returns, invalid codes, HTTP/HTTPS mismatch)\n- Cross-domain hreflang support\n- Language/region code validation (ISO 639-1 + ISO 3166-1)\n\n## Features\n\n### Core Web Vitals (Current Metrics)\n- **LCP** (Largest Contentful Paint): Target \u003c 2.5s\n- **INP** (Interaction to Next Paint): Target \u003c 200ms\n- **CLS** (Cumulative Layout Shift): Target \u003c 0.1\n\n\u003e Note: INP replaced FID on March 12, 2024. FID was fully removed from all Chrome tools on September 9, 2024.\n\n### E-E-A-T Analysis\nUpdated to September 2025 Quality Rater Guidelines:\n- **Experience**: First-hand knowledge signals\n- **Expertise**: Author credentials and depth\n- **Authoritativeness**: Industry recognition\n- **Trustworthiness**: Contact info, security, transparency\n\n### Schema Markup\n- Detection: JSON-LD (preferred), Microdata, RDFa\n- Validation against Google's supported types\n- Generation with templates\n- Deprecation awareness:\n  - HowTo: Deprecated (Sept 2023)\n  - FAQ: Restricted to gov/health sites (Aug 2023)\n  - SpecialAnnouncement: Deprecated (July 2025)\n\n### AI Search Optimization (GEO)\nNew for 2026 - optimize for:\n- Google AI Overviews\n- ChatGPT web search\n- Perplexity\n- Other AI-powered search\n\n### Google SEO APIs (New in v1.7.0)\nDirect integration with Google's SEO data:\n- **PageSpeed Insights + CrUX**: Lab and field Core Web Vitals data\n- **Search Console**: Top queries, URL inspection, sitemap status\n- **Indexing API**: Notify Google of new/updated/removed URLs\n- **GA4**: Organic traffic, top landing pages, device/country breakdown\n- **PDF Reports**: Enterprise A4 reports with charts via WeasyPrint + matplotlib\n\n4-tier credential system — get value at every level:\n| Tier | Auth | APIs |\n|------|------|------|\n| 0 | API key | PSI, CrUX, CrUX History |\n| 1 | + OAuth/SA | + GSC, URL Inspection, Indexing |\n| 2 | + GA4 config | + GA4 organic traffic |\n| 3 | + Ads token | + Keyword Planner |\n\n### Local SEO \u0026 Maps Intelligence (New in v1.6.0)\n- Google Business Profile optimization\n- NAP consistency auditing\n- Citation and review analysis\n- Geo-grid rank tracking and competitor radius mapping\n\n### Quality Gates\n- Warning at 30+ location pages\n- Hard stop at 50+ location pages\n- Thin content detection per page type\n- Doorway page prevention\n\n## Architecture\n\n```\n~/.claude/skills/seo/         # Main orchestrator skill\n~/.claude/skills/seo-*/       # Sub-skills (15 + 2 extensions)\n~/.claude/agents/seo-*.md     # Subagents (10 + 2 extensions)\n```\n\n### Video \u0026 Live Schema (New)\nAdditional schema types for video content, live streaming, and key moments:\n- VideoObject: Video page markup with thumbnails, duration, upload date\n- BroadcastEvent: LIVE badge support for live streaming content\n- Clip: Key moments / chapters within videos\n- SeekToAction: Enable seek functionality in video rich results\n- SoftwareSourceCode: Open source and code repository pages\n\nSee `schema/templates.json` for ready-to-use JSON-LD snippets.\n\n### Recently Added\n- Programmatic SEO skill (`/seo programmatic`)\n- Competitor comparison pages skill (`/seo competitor-pages`)\n- Multi-language hreflang validation (`/seo hreflang`)\n- Video \u0026 Live schema types (VideoObject, BroadcastEvent, Clip, SeekToAction)\n- Google SEO quick-reference guide\n\n## Requirements\n\n- Python 3.10+\n- Claude Code CLI\n- Optional: Playwright for screenshots\n- Optional: Google API credentials for enriched data (see `/seo google setup`)\n\n## Uninstall\n\n```bash\ngit clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git\nbash claude-seo/uninstall.sh\n```\n\n\u003cdetails\u003e\n\u003csummary\u003eOne-liner (curl)\u003c/summary\u003e\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/main/uninstall.sh | bash\n```\n\n\u003c/details\u003e\n\n### MCP Integrations\n\nIntegrates with MCP servers for live SEO data, including official servers from **Ahrefs** (`@ahrefs/mcp`) and **Semrush**, plus community servers for Google Search Console, PageSpeed Insights, and DataForSEO. See [MCP Integration Guide](docs/MCP-INTEGRATION.md) for setup.\n\n## Extensions\n\nOptional add-ons that integrate external data sources via MCP servers.\n\n### DataForSEO\n\nLive SERP data, keyword research, backlinks, on-page analysis, content analysis, business listings, AI visibility checking, and LLM mention tracking. 22 commands across 9 API modules.\n\n```bash\n# Install (requires DataForSEO account)\n./extensions/dataforseo/install.sh\n```\n\n```bash\n# Example commands\n/seo dataforseo serp best coffee shops\n/seo dataforseo keywords seo tools\n/seo dataforseo backlinks example.com\n/seo dataforseo ai-mentions your brand\n/seo dataforseo ai-scrape your brand name\n```\n\nSee [DataForSEO Extension](extensions/dataforseo/README.md) for full documentation.\n\n### Banana (AI Image Generation)\n\nGenerate SEO images (OG previews, blog heroes, product photos, infographics) using the\n[Claude Banana](https://github.com/AgriciDaniel/banana-claude) Creative Director pipeline.\n\n```bash\n# Install extension\n./extensions/banana/install.sh\n```\n\n```bash\n# Example commands\n/seo image-gen og \"Professional SaaS dashboard\"\n/seo image-gen hero \"AI-powered content creation\"\n/seo image-gen batch \"Product photography\" 3\n```\n\nSee [Banana Extension](extensions/banana/README.md) for full documentation.\nAlready using standalone Claude Banana? The extension reuses your existing nanobanana-mcp setup.\n\n## Ecosystem\n\nClaude SEO is part of a family of Claude Code skills that work together:\n\n| Skill | What it does | How it connects |\n|-------|-------------|-----------------|\n| [Claude SEO](https://github.com/AgriciDaniel/claude-seo) | SEO analysis, audits, schema, GEO | Core -- analyzes sites, generates action plans |\n| [Claude Blog](https://github.com/AgriciDaniel/claude-blog) | Blog writing, optimization, scoring | Companion -- write content optimized by SEO findings |\n| [Claude Banana](https://github.com/AgriciDaniel/banana-claude) | AI image generation via Gemini | Shared -- generates images for SEO assets and blog posts |\n| [AI Marketing Claude](https://github.com/zubair-trabzada/ai-marketing-claude) | Copywriting, emails, social, ads, funnels, CRO | Community -- post-audit marketing action from SEO findings |\n\n**Workflow example:**\n1. `/seo audit https://example.com` -- identify content gaps and technical issues\n2. `/seo backlinks https://example.com` -- analyze link profile and competitor gaps\n3. `/blog write \"target keyword\"` -- create SEO-optimized blog posts\n4. `/seo image-gen hero \"blog topic\"` -- generate hero images (banana extension)\n5. `/seo geo https://example.com/blog/post` -- optimize for AI citations\n\n## Documentation\n\n- [Installation Guide](docs/INSTALLATION.md)\n- [Commands Reference](docs/COMMANDS.md)\n- [Architecture](docs/ARCHITECTURE.md)\n- [MCP Integration](docs/MCP-INTEGRATION.md)\n- [Troubleshooting](docs/TROUBLESHOOTING.md)\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n## Contributing\n\nContributions welcome! Please read [CONTRIBUTING.md](CONTRIBUTING.md) before submitting PRs.\n\n---\n\nBuilt for Claude Code by [@AgriciDaniel](https://github.com/AgriciDaniel)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagricidaniel%2Fclaude-seo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagricidaniel%2Fclaude-seo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagricidaniel%2Fclaude-seo/lists"}