You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: v1.7.0 - Google SEO APIs, PDF reports, security hardening
Add complete Google SEO APIs skill with 11 Python scripts, 10 reference
files, and seo-google subagent. Enterprise PDF report generator with
WeasyPrint + matplotlib charts. 4-tier credential system (API key,
OAuth, GA4, Ads). SSRF protection via validate_url() in all API scripts.
.gitignore hardened for credential files. OAuth tokens no longer store
client_secret. README and CLAUDE.md updated with report rules, color
palette, and cross-skill enforcement.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .claude-plugin/plugin.json
+6-2Lines changed: 6 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,6 +1,6 @@
1
1
{
2
2
"name": "claude-seo",
3
-
"version": "1.6.1",
3
+
"version": "1.7.0",
4
4
"description": "Comprehensive SEO analysis skill for Claude Code. Covers technical SEO, content quality (E-E-A-T), schema markup, image optimization, sitemap architecture, AI search optimization (GEO), local SEO (GBP, citations, reviews, map pack), maps intelligence, and strategic planning across all industries.",
|`/seo hreflang <url>`| International SEO / hreflang audit |
88
+
|`/seo google [command] [url]`| Google SEO APIs (GSC, PageSpeed, CrUX, Indexing, GA4) |
84
89
|`/seo image-gen [use-case] <desc>`| AI image generation for SEO assets (extension) |
85
90
86
91
## Development Rules
@@ -93,6 +98,21 @@ claude-seo/
93
98
- Python dependencies install into `~/.claude/skills/seo/.venv/`
94
99
- Test with `python -m pytest tests/` after changes (if applicable)
95
100
101
+
## Report Generation Rules
102
+
103
+
-**All SEO reports must use `scripts/google_report.py`** as the canonical report generator
104
+
-**Dependencies**: `matplotlib>=3.8.0` (charts) + `weasyprint>=61.0` (HTML-to-PDF), both in `requirements.txt`
105
+
-**Format**: A4 PDF via WeasyPrint + matplotlib charts at 200 DPI
106
+
-**Style**: Clean white title page with navy (#1e3a5f) accent, Times New Roman body font
107
+
-**Color palette**: Navy #1e3a5f (headers), dark gold #b8860b (accents), forest green #2d6a4f (pass), warm amber #d4740e (warnings), deep red #c53030 (fail), warm cream #faf9f7 (backgrounds)
108
+
-**Structure**: Title page → TOC with scores → Executive Summary → Data sections → Recommendations → Methodology
109
+
-**Charts**: 85% width, max-height 120mm, figure captions on every chart, saved to `charts/` at 200 DPI
110
+
-**No `page-break-inside: avoid`** on any element (causes white gaps in WeasyPrint)
-**Before presenting any PDF to the user**: verify the review passes (`"status": "PASS"`)
113
+
-**Cross-skill enforcement**: After completing ANY analysis command (audit, page, technical, content, schema, geo, local, maps), offer: "Generate a PDF report? Use `/seo google report`"
114
+
-**Google logo** appears on title page when using Google API data ("Powered by Google APIs")
Copy file name to clipboardExpand all lines: README.md
+32-5Lines changed: 32 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
-
<!-- Updated: 2026-03-06-->
1
+
<!-- Updated: 2026-03-28-->
2
2
3
3

4
4
5
5
# Claude SEO - SEO Audit Skill for Claude Code
6
6
7
-
Comprehensive 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), and strategic planning.
7
+
Comprehensive 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.
INP replaced FID on March 12, 2024. Never reference FID.
43
+
44
+
## Output Format
45
+
46
+
Match existing claude-seo patterns:
47
+
- Tables for metrics with traffic-light ratings
48
+
- Scores as XX/100
49
+
- Priority: Critical > High > Medium > Low
50
+
- Note data source as "Google API (field data)" to distinguish from static analysis
51
+
- Include data freshness notes (CrUX: 28-day rolling, GSC: 2-3 day lag, GA4: 1 day lag)
52
+
53
+
## Report Generation (MANDATORY)
54
+
55
+
After completing data collection at any tier, ALWAYS offer to generate a PDF report.
56
+
The report uses the enterprise template: white cover, navy accents, Times New Roman, charts at 85% width, Google logo on title page. No page-break-inside: avoid (causes white gaps).
57
+
58
+
```bash
59
+
python scripts/google_report.py --type full --data data.json --domain DOMAIN --format pdf --json
If Google API credentials are configured, prefer CrUX field data over Lighthouse lab data for CWV assessment:
77
+
```bash
78
+
python scripts/pagespeed_check.py URL --json
79
+
python scripts/crux_history.py URL --json
80
+
```
81
+
Field data (28-day Chrome user average) is more representative than lab data (single Lighthouse run). Use lab data as fallback when CrUX returns 404 (insufficient traffic).
Copy file name to clipboardExpand all lines: agents/seo-technical.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ name: seo-technical
3
3
description: Technical SEO specialist. Analyzes crawlability, indexability, security, URL structure, mobile optimization, Core Web Vitals, and JavaScript rendering.
0 commit comments