Releases: AgriciDaniel/claude-seo
Release list
v1.8.2: Repo Audit — Version Sync, Doc Drift, CI Coverage
What's Changed
Comprehensive repository audit addressing documentation drift, stale install scripts, CI gaps, and privacy disclosures. Merged 3 community PRs.
Highlights
- Install scripts fixed: New users via
curl | bashnow get v1.8.2 (was pinned to v1.7.2) - Supply chain fix: Removed deprecated
irm | iexfrom docs/INSTALLATION.md - CI expanded: 15 → 21 scripts covered by syntax check (all backlink scripts added)
- Privacy disclosures: Backlink API data flows (Moz, Bing, Common Crawl) added to PRIVACY.md
- First i18n: Ukrainian localization by @edocltd
- README updated: 4 missing commands, Firecrawl extension section, corrected counts
Community PRs Merged
- #43 Fix stuck extension install by @olivierroy
- #45 Correct sub-skills count in README by @MalteBerlin
- #50 Ukrainian localization by @edocltd
Full Changelog
See CHANGELOG.md for complete details.
Full Changelog: v1.8.1...v1.8.2
v1.8.1: Google Images SERP, Image Optimization, Standards Compliance
What's New
Google Images SERP Analysis
/seo dataforseo serp-images <keyword>: Fetch live Google Images search results via DataForSEO- See which domains dominate image results, analyze alt text patterns, identify format distribution
- Domain dominance analysis, opportunity scoring for keywords where you rank organically but not in images
Image File Optimization
/seo images optimize <path>: Convert to WebP/AVIF, inject IPTC/XMP metadata, generate responsive variants- IPTC Creator/Copyright injection for Google Images rich results display
- Full pipeline: audit metadata, inject, convert, resize, verify
- Ranking factors reference: what matters (alt text, filename, page context) vs what does not (EXIF camera data, IPTC keywords)
Image SERP Cross-Skill
/seo images serp <keyword>: Cross-reference on-page images with Google Images SERP rankings- DataForSEO field-config updated with 10 image-specific fields
Bug Fixes and Standards Compliance
Fixed
- Version mismatch: unified all 19 SKILL.md files, plugin.json, and CLAUDE.md (was 1.7.0/1.7.2/1.8.0 three-way split)
- Broken reference path: seo-backlinks now correctly points to shared
skills/seo/references/backlink-quality.md - Hardcoded absolute paths: removed
~/.claude/skills/from agents and skills (now plugin-relative) - seo-dataforseo line count: moved 35-line utility tools list to
references/tool-catalog.md(416 to 380 lines) - prompt-engineering.md: added Table of Contents (326 lines, required by Anthropic standard at >300)
Audited Against
- Anthropic Skill Creator Standards
- All 19 skills pass: YAML frontmatter, <500 lines, progressive disclosure, trigger phrase coverage, error handling, output formatting
- Overall compliance score: 88/100
Install / Upgrade
claude /install github:AgriciDaniel/claude-seoNew optional dependencies for image optimization:
sudo apt install libimage-exiftool-perl webpv1.8.0 — Free Backlink Data Integration
What's New
v1.8.0 transforms /seo backlinks from a paid-only feature into a 3-tier free-to-premium backlink analysis system. Users can now get actionable backlink intelligence with zero cost and zero configuration.
3-Tier Cascade Architecture
| Tier | Config | Sources | Data |
|---|---|---|---|
| Tier 0 | Zero config | Common Crawl + Verification Crawler | PageRank, harmonic centrality, link existence |
| Tier 1-2 | Free signup | + Moz API + Bing Webmaster | DA/PA, spam score, anchor text, competitor comparison |
| Tier 3 | Paid (unchanged) | + DataForSEO extension | 35T+ links, real-time, toxic scoring |
New Commands
/seo backlinks <url> # Full analysis (all available sources)
/seo backlinks gap <url1> <url2> # Competitor gap (Bing unique feature)
/seo backlinks verify <url> # Verify known backlinks still exist
/seo backlinks setup # Guided free API key setup
New Scripts (6)
backlinks_auth.py— Credential management + guided setup wizardmoz_api.py— Moz Link Explorer API (DA/PA, spam, referring domains, anchors)bing_webmaster.py— Bing Webmaster Tools (links, counts, competitor comparison)commoncrawl_graph.py— CC Web Graph (PageRank, harmonic centrality, incremental streaming)verify_backlinks.py— Link existence verification with JS-rendering detectionvalidate_backlink_report.py— Automated pre-delivery report validator (6 checks)
Data Accuracy Safeguards
Three layers of protection ensure reports are accurate:
- Script-level: JS-rendering detection,
@graphschema flattening, suspicious H1 flagging, subdomain matching, CCin_crawl/in_rankingsdistinction - Automated validator: Catches false findings programmatically before presenting to user
- Agent checklist: 11-item mandatory pre-delivery review
Key Stats
| Metric | Value |
|---|---|
| New Python scripts | 6 |
| New agent + reference files | 3 |
| Modified existing files | 7 |
| Bugs found & fixed during development | 18 |
| CLAUDE.md rule compliance | 48/48 |
| Real-world domains tested | 4 (google.com, github.com, 21collagen.com, collagenwise.ro) |
Getting Started
# Works immediately — zero config needed
/seo backlinks https://your-domain.com
# Add free APIs for richer data (5 min setup)
/seo backlinks setupBackward Compatibility
All existing DataForSEO workflows are 100% unchanged. Free sources are additive — they enrich analysis when configured but never replace the premium tier.
📄 See the attached PDF for the full release document.
🤖 Generated with Claude Code
v1.7.2 - Firecrawl Extension, Backlink Analysis, Excel Export
What's New
Firecrawl Extension (full-site crawling)
Full-site crawling, scraping, and site mapping via Firecrawl MCP server:
/seo firecrawl crawl <url>-- Crawl entire site with JS rendering (solves SPA/CSR issues)/seo firecrawl map <url>-- Discover all site URLs (fast, credit-efficient)/seo firecrawl scrape <url>-- Single-page deep scrape with JavaScript execution/seo firecrawl search <query> <url>-- Search within a site- Cross-skill integration: audit uses
mapfor URL discovery, technical usescrawlfor broken link detection - Free tier: 500 credits/month
Install: ./extensions/firecrawl/install.sh
Backlink Analysis Skill
New /seo backlinks <url> command with 7-section analysis framework:
- Profile overview (total backlinks, referring domains, trend)
- Anchor text distribution with over-optimization detection
- Referring domain quality assessment
- Toxic link detection (30 patterns) with disavow recommendations
- Top pages by backlinks
- Competitor gap analysis (
/seo backlinks gap <url1> <url2>) - New/lost link tracking
Requires DataForSEO extension for live data.
Excel Export
--format xlsx option for google_report.py:
- Sheets: Summary, Queries, Pages, Indexation
- Navy header styling matching PDF palette
- Auto-column-width, frozen headers, auto-filter
- New:
--format allgenerates PDF + HTML + XLSX together
Ecosystem
- Added AI Marketing Claude as companion tool for post-audit marketing action
Install / Upgrade
curl -sL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/v1.7.2/install.sh | bashirm https://raw.githubusercontent.com/AgriciDaniel/claude-seo/v1.7.2/install.ps1 | iexStats
- 19 sub-skills (16 core + 3 extensions)
- 12 subagents for parallel analysis
- 3 extensions: DataForSEO, Firecrawl, Banana
v1.7.1 - Installer Fix, CI Coverage
Fixed
- install.sh: broken skill copy path
seo/corrected toskills/seo/— the main skill files were not being copied on macOS/Linux (h/t @hieu-e via #39) - install.sh: version tag pinned to v1.7.1 (was stuck at v1.6.0)
- install.ps1: version tag pinned to v1.7.1 (was stuck at v1.6.0)
- install.ps1: removed unnecessary
seo/fallback path, usesskills\seodirectly
Changed
- CI: Python syntax check expanded from 4 to 15 scripts — all v1.7.0 Google API scripts now covered in CI
Install / Upgrade
curl -sL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/v1.7.1/install.sh | bashirm https://raw.githubusercontent.com/AgriciDaniel/claude-seo/v1.7.1/install.ps1 | iexv1.7.0 - Google SEO APIs, PDF Reports, Security Hardening
What's New
Google SEO APIs Skill
Direct integration with Google's SEO data APIs via /seo google commands:
- PageSpeed Insights + CrUX: Lab and field Core Web Vitals data
- Search Console: Top queries, URL inspection, sitemap status
- Indexing API: Notify Google of new/updated/removed URLs
- GA4: Organic traffic, top landing pages, device/country breakdown
- YouTube Data API: Video and channel SEO research
- Cloud NLP: Entity, sentiment, and content classification
PDF Report Generator
Enterprise A4 reports with charts via WeasyPrint + matplotlib:
- White cover page, navy accents, Times New Roman body font
- Auto-generated gauge charts, bar charts, timeline charts
- Post-generation quality review (catches empty images, thin sections)
- Report types:
cwv-audit,gsc-performance,indexation,full
4-Tier Credential System
| Tier | Auth | APIs Unlocked |
|---|---|---|
| 0 | API Key | PSI, CrUX, CrUX History, YouTube, NLP |
| 1 | + OAuth/SA | + Search Console, URL Inspection, Indexing |
| 2 | + GA4 config | + GA4 organic traffic |
| 3 | + Ads token | + Keyword Planner |
Security Hardening
- SSRF protection:
validate_url()blocks private IPs/loopback in all API scripts .gitignorehardened with 8 credential patterns- OAuth tokens no longer store
client_secret - Removed hardcoded user paths from all scripts
Stats
- 11 new Python scripts (google_auth, pagespeed_check, crux_history, gsc_query, gsc_inspect, indexing_notify, ga4_report, google_report, youtube_search, nlp_analyze, keyword_planner)
- 10 new reference files for API documentation
- 53 files changed, 8,379 additions
- Sub-skills: 15 core + 2 extensions
- Subagents: 10 core + 2 extensions
Install / Upgrade
git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git
bash claude-seo/install.shFull changelog: https://github.com/AgriciDaniel/claude-seo/blob/main/CHANGELOG.md
v1.6.1 - Plugin Marketplace Compliance
Plugin Marketplace Compliance & Structural Refactor
This release restructures the plugin to comply with Anthropic's official Claude Code plugin specification for marketplace submission.
What's New
- Marketplace ready - Added
.claude-plugin/marketplace.jsonfor distribution - Standard auto-discovery - All 17 skills and 11 agents now in standard directories
- Agent improvements - All agents now specify
model: sonnetandmaxTurns
Breaking Changes (internal only)
seo/orchestrator moved toskills/seo/(references updated automatically)- Extension skills/agents copied to standard
skills/andagents/directories plugin.jsonno longer lists individual file paths (uses auto-discovery)
Install
Via marketplace:
/plugin marketplace add AgriciDaniel/claude-seo
/plugin install claude-seo@claude-seo-marketplace
Via plugin-dir (development):
git clone https://github.com/AgriciDaniel/claude-seo.git
claude --plugin-dir ./claude-seoFull Changelog
- Rewrite
plugin.jsonto official schema (removeentry_point, file-path arrays) - Create
marketplace.jsonwith proper owner, metadata, plugin source - Move orchestrator to
skills/seo/for auto-discovery - Copy extension skills (seo-dataforseo, seo-image-gen) to
skills/ - Copy extension agents to
agents/(11 total) - Add
model: sonnet,maxTurnsto all 11 agents - Convert
allowed-toolsto comma-separated format in all SKILL.md - Add
license,metadatablocks to all 17 SKILL.md frontmatters - Update all cross-references for new paths
- Update
.gitignorefor site-specific outputs
Full Changelog: v1.6.0...v1.6.1
v1.6.0 - Local SEO, installer fixes, ecosystem
New: Local SEO Sub-Skill
New /seo local <url> command for brick-and-mortar businesses, service-area businesses (SABs), and hybrid models.
What it covers:
- Google Business Profile (GBP) status and optimization signals
- NAP consistency (Name, Address, Phone) across citations
- Review velocity, sentiment, and response patterns
- Local schema markup (LocalBusiness subtypes, 25+ industry-specific variants)
- Citation tier analysis (aggregators, industry directories, local directories)
- Multi-location detection and per-location scoring
- Map pack ranking factors and local link signals
How it integrates:
- Auto-suggested when
/seo auditdetects a Local Service business type - Conditional subagent:
seo-localspawns only when local signals are found - Two new reference files:
local-seo-signals.mdandlocal-schema-types.md - Registered in
plugin.jsonas skill #13 and subagent #8
Installer Fixes
Windows PowerShell 5.1 compatibility (fixes #20)
Replaced all Unicode characters in install.ps1 with ASCII equivalents. Windows PowerShell 5.1 (the default on all Windows 10/11 systems) reads BOM-less UTF-8 using Windows-1252 codepage, causing parse failures before any code runs. Affected characters: box-drawing (U+2550/2551), checkmark (U+2713), cross (U+2717), arrow (U+2192/U+2193), warning (U+26A0).
Version pin updated (fixes #25)
Both install.sh and install.ps1 now pin to v1.5.0 instead of the stale v1.4.0 default. Fresh installs get the correct release. Override remains available via CLAUDE_SEO_TAG environment variable.
Extension installation support
Both installers now copy files from extensions/*/ (skills, agents, references, scripts). Previously, fresh installs missed the DataForSEO and Banana extensions entirely. The install loop uses existing cp -r / Copy-Item patterns and silently skips if no extensions directory exists.
Redirect Status Code Tracking
fetch_page.py now tracks HTTP status codes per redirect hop via a new redirect_details field:
{
"redirect_details": [
{"url": "http://example.com/", "status_code": 301},
{"url": "http://www.example.com/", "status_code": 302}
]
}This matters for SEO: 301 redirects pass ~95% link equity while 302 redirects do not reliably pass equity. The existing redirect_chain field (URL-only list) is preserved for backward compatibility.
Ecosystem Cross-Linking
Added cross-references between the three Claude Code skill repos:
| Repo | Role |
|---|---|
| Claude SEO | SEO analysis, audits, schema, GEO |
| Claude Blog | Blog writing and optimization |
| Claude Banana | AI image generation via Gemini |
Links added to: README.md (Ecosystem section + Banana extension entry), CLAUDE.md, extensions/banana/README.md, and extensions/banana/skills/seo-image-gen/SKILL.md.
Files Changed
| File | Change |
|---|---|
install.ps1 |
Unicode to ASCII, v1.4.0 to v1.5.0, extension installation |
install.sh |
v1.4.0 to v1.5.0, extension installation loop |
scripts/fetch_page.py |
redirect_details field with per-hop status codes |
README.md |
Ecosystem section, Banana extension entry in Extensions |
CLAUDE.md |
Ecosystem note, updated architecture tree |
extensions/banana/README.md |
Link to standalone banana-claude repo |
extensions/banana/skills/seo-image-gen/SKILL.md |
Attribution to banana-claude repo |
.claude-plugin/plugin.json |
Register seo-local skill and agent |
seo/SKILL.md |
Add /seo local command, update counts to 13 skills / 8 subagents |
skills/seo-audit/SKILL.md |
Add seo-local to conditional subagent spawn list |
skills/seo-local/SKILL.md |
New - Local SEO sub-skill |
agents/seo-local.md |
New - Local SEO subagent |
seo/references/local-seo-signals.md |
New - Local ranking factors reference |
seo/references/local-schema-types.md |
New - LocalBusiness schema reference |
Community
This release incorporates ideas from community issues and PRs. The underlying bugs were identified by contributors in #20, #21, #25, #27, and #33. PRs could not be merged directly due to branch divergence from pre-v1.5.0, so fixes were applied manually to current main.
v1.5.0 — Banana Image Generation Extension
What's New
Added
- Banana Image Generation Extension (
extensions/banana/): AI-powered SEO image generation via Gemini nanobanana-mcp. Generate production-ready OG/social previews, blog hero images, product photography, and infographics directly from/seocommands.- 6 new commands:
/seo image-gen og|hero|product|infographic|custom|batch - SEO-focused adapter SKILL.md mapping use cases to optimized Gemini parameters (aspect ratio, resolution, domain mode)
- Audit agent (
seo-image-gen) for OG/social image analysis during/seo audit - Post-generation SEO checklist (alt text, file naming, WebP conversion, schema markup)
- Cost tracking and brand preset support
- install.sh / uninstall.sh following the DataForSEO extension pattern
- 6 new commands:
- DataForSEO extension now listed in plugin.json for consistency with banana extension
Changed
- Plugin manifest version bumped to 1.5.0
- Sub-skill count: 12 + 2 extensions (added seo-image-gen via banana extension)
- Subagent count: 7 + 2 optional (added seo-image-gen agent via extension)
- Updated ARCHITECTURE.md with full banana extension file tree
- Updated COMMANDS.md with 6 new image-gen commands and examples
Install
# Core SEO skill (if not already installed)
git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git
bash claude-seo/install.sh
# Banana Image Generation extension
./extensions/banana/install.shUse Case Defaults
| Command | Aspect Ratio | Resolution | Cost |
|---|---|---|---|
/seo image-gen og |
16:9 | 1K | ~$0.04 |
/seo image-gen hero |
16:9 | 2K | ~$0.08 |
/seo image-gen product |
4:3 | 2K | ~$0.08 |
/seo image-gen infographic |
2:3 | 4K | ~$0.16 |
Full Changelog: v1.4.0...v1.5.0
v1.4.0 — Supply Chain Security, GEO Agent, URL Normalization
What's New
Security — Install Script Supply Chain Fix
Claude Code's own security guardrails were refusing to run the install commands (irm | iex, curl | bash) as a supply chain risk — reported by a community member. This release addresses it:
- Windows: Primary install is now
git clone + powershell -File(reviewable before running). Theirm | iexone-liner is gone from the README. - Unix/macOS: Added a collapsible "review before running" option. git clone remains the recommended method.
- Version pinning: Installers now clone tag
v1.3.0by default (notmain). Override:CLAUDE_SEO_TAG=main bash install.sh - Invoke-External hardening: PowerShell wrapper now handles
PSNativeCommandUseErrorActionPreferencefor all external calls (from PRs #13 + #15)
GEO Agent Deployed
agents/seo-geo.md is now live. /seo audit spawns 7 parallel agents (was 6):
- AI crawler access check (GPTBot, ClaudeBot, PerplexityBot, etc.)
- llms.txt evaluation
- Passage-level citability scoring (optimal 134-167 word blocks)
- Brand mention signal analysis
- Platform-specific scores (Google AI Overviews, ChatGPT, Perplexity, Bing Copilot)
AI Search Readiness weight raised from 5% → 10% in overall SEO Health Score.
FAQPage Guidance Nuanced
Blanket "remove FAQPage on commercial sites" replaced with nuanced guidance:
- Existing FAQPage → Info priority (not Critical) — FAQPage aids AI/LLM citations
- Adding new FAQPage → not recommended for Google rich results, note AI benefit
URL Normalization (PR #16)
capture_screenshot.py and analyze_visual.py now accept bare domains:
python scripts/capture_screenshot.py example.com # now worksSPA Detection: Phase 2 (Issue #11)
New --googlebot flag in fetch_page.py for prerender detection:
python scripts/fetch_page.py https://example.com --googlebotCompares response size with Googlebot UA vs default UA to detect prerender services. Full 7-phase SPA roadmap in TODO.md.
Upgrade
git clone --depth 1 https://github.com/AgriciDaniel/claude-seo.git
bash claude-seo/install.sh