Skip to content

Releases: AgriciDaniel/claude-seo

v1.8.2: Repo Audit — Version Sync, Doc Drift, CI Coverage

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 10 Apr 12:49

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 | bash now get v1.8.2 (was pinned to v1.7.2)
  • Supply chain fix: Removed deprecated irm | iex from 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

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

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 06 Apr 13:15

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-seo

New optional dependencies for image optimization:

sudo apt install libimage-exiftool-perl webp

v1.8.0 — Free Backlink Data Integration

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 01 Apr 18:09

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 wizard
  • moz_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 detection
  • validate_backlink_report.py — Automated pre-delivery report validator (6 checks)

Data Accuracy Safeguards

Three layers of protection ensure reports are accurate:

  1. Script-level: JS-rendering detection, @graph schema flattening, suspicious H1 flagging, subdomain matching, CC in_crawl/in_rankings distinction
  2. Automated validator: Catches false findings programmatically before presenting to user
  3. 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 setup

Backward 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

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 30 Mar 17:09

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 map for URL discovery, technical uses crawl for 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 all generates PDF + HTML + XLSX together

Ecosystem

Install / Upgrade

curl -sL https://raw.githubusercontent.com/AgriciDaniel/claude-seo/v1.7.2/install.sh | bash
irm https://raw.githubusercontent.com/AgriciDaniel/claude-seo/v1.7.2/install.ps1 | iex

Stats

  • 19 sub-skills (16 core + 3 extensions)
  • 12 subagents for parallel analysis
  • 3 extensions: DataForSEO, Firecrawl, Banana

v1.7.1 - Installer Fix, CI Coverage

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 30 Mar 15:55

Fixed

  • install.sh: broken skill copy path seo/ corrected to skills/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, uses skills\seo directly

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 | bash
irm https://raw.githubusercontent.com/AgriciDaniel/claude-seo/v1.7.1/install.ps1 | iex

v1.7.0 - Google SEO APIs, PDF Reports, Security Hardening

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 28 Mar 13:00

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
  • .gitignore hardened 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.sh

Full changelog: https://github.com/AgriciDaniel/claude-seo/blob/main/CHANGELOG.md

v1.6.1 - Plugin Marketplace Compliance

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 27 Mar 13:59

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.json for distribution
  • Standard auto-discovery - All 17 skills and 11 agents now in standard directories
  • Agent improvements - All agents now specify model: sonnet and maxTurns

Breaking Changes (internal only)

  • seo/ orchestrator moved to skills/seo/ (references updated automatically)
  • Extension skills/agents copied to standard skills/ and agents/ directories
  • plugin.json no 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-seo

Full Changelog

  • Rewrite plugin.json to official schema (remove entry_point, file-path arrays)
  • Create marketplace.json with 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, maxTurns to all 11 agents
  • Convert allowed-tools to comma-separated format in all SKILL.md
  • Add license, metadata blocks to all 17 SKILL.md frontmatters
  • Update all cross-references for new paths
  • Update .gitignore for site-specific outputs

Full Changelog: v1.6.0...v1.6.1

v1.6.0 - Local SEO, installer fixes, ecosystem

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 23 Mar 18:26

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 audit detects a Local Service business type
  • Conditional subagent: seo-local spawns only when local signals are found
  • Two new reference files: local-seo-signals.md and local-schema-types.md
  • Registered in plugin.json as 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

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 16 Mar 18:33

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 /seo commands.
    • 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
  • 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.sh

Use 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

Choose a tag to compare

@AgriciDaniel AgriciDaniel released this 12 Mar 15:58

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). The irm | iex one-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.0 by default (not main). Override: CLAUDE_SEO_TAG=main bash install.sh
  • Invoke-External hardening: PowerShell wrapper now handles PSNativeCommandUseErrorActionPreference for 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 works

SPA Detection: Phase 2 (Issue #11)

New --googlebot flag in fetch_page.py for prerender detection:

python scripts/fetch_page.py https://example.com --googlebot

Compares 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