antigravity-seo-kit 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of antigravity-seo-kit might be problematic. Click here for more details.

Files changed (135) hide show
  1. package/.agent/agent.md +96 -0
  2. package/.agent/skills/seo/SKILL.md +153 -0
  3. package/.agent/skills/seo/references/cwv-thresholds.md +108 -0
  4. package/.agent/skills/seo/references/eeat-framework.md +214 -0
  5. package/.agent/skills/seo/references/local-schema-types.md +230 -0
  6. package/.agent/skills/seo/references/local-seo-signals.md +218 -0
  7. package/.agent/skills/seo/references/maps-api-endpoints.md +160 -0
  8. package/.agent/skills/seo/references/maps-free-apis.md +176 -0
  9. package/.agent/skills/seo/references/maps-gbp-checklist.md +150 -0
  10. package/.agent/skills/seo/references/maps-geo-grid.md +154 -0
  11. package/.agent/skills/seo/references/quality-gates.md +155 -0
  12. package/.agent/skills/seo/references/schema-types.md +118 -0
  13. package/.agent/skills/seo/schema/templates.json +213 -0
  14. package/.agent/skills/seo/scripts/analyze_visual.py +217 -0
  15. package/.agent/skills/seo/scripts/capture_screenshot.py +181 -0
  16. package/.agent/skills/seo/scripts/fetch_page.py +196 -0
  17. package/.agent/skills/seo/scripts/parse_html.py +201 -0
  18. package/.agent/skills/seo-audit/SKILL.md +278 -0
  19. package/.agent/skills/seo-competitor-pages/SKILL.md +212 -0
  20. package/.agent/skills/seo-content/SKILL.md +230 -0
  21. package/.agent/skills/seo-dataforseo/SKILL.md +418 -0
  22. package/.agent/skills/seo-geo/SKILL.md +305 -0
  23. package/.agent/skills/seo-google/SKILL.md +405 -0
  24. package/.agent/skills/seo-google/assets/templates/cwv-audit-report.md +48 -0
  25. package/.agent/skills/seo-google/assets/templates/gsc-performance-report.md +44 -0
  26. package/.agent/skills/seo-google/assets/templates/indexation-status-report.md +43 -0
  27. package/.agent/skills/seo-google/references/auth-setup.md +154 -0
  28. package/.agent/skills/seo-google/references/ga4-data-api.md +184 -0
  29. package/.agent/skills/seo-google/references/indexing-api.md +107 -0
  30. package/.agent/skills/seo-google/references/keyword-planner-api.md +66 -0
  31. package/.agent/skills/seo-google/references/nlp-api.md +55 -0
  32. package/.agent/skills/seo-google/references/pagespeed-crux-api.md +204 -0
  33. package/.agent/skills/seo-google/references/rate-limits-quotas.md +75 -0
  34. package/.agent/skills/seo-google/references/search-console-api.md +156 -0
  35. package/.agent/skills/seo-google/references/supplementary-apis.md +99 -0
  36. package/.agent/skills/seo-google/references/youtube-api.md +49 -0
  37. package/.agent/skills/seo-google/scripts/crux_history.py +321 -0
  38. package/.agent/skills/seo-google/scripts/ga4_report.py +478 -0
  39. package/.agent/skills/seo-google/scripts/google_auth.py +795 -0
  40. package/.agent/skills/seo-google/scripts/google_report.py +2273 -0
  41. package/.agent/skills/seo-google/scripts/gsc_inspect.py +340 -0
  42. package/.agent/skills/seo-google/scripts/gsc_query.py +378 -0
  43. package/.agent/skills/seo-google/scripts/indexing_notify.py +313 -0
  44. package/.agent/skills/seo-google/scripts/keyword_planner.py +297 -0
  45. package/.agent/skills/seo-google/scripts/nlp_analyze.py +309 -0
  46. package/.agent/skills/seo-google/scripts/pagespeed_check.py +649 -0
  47. package/.agent/skills/seo-google/scripts/youtube_search.py +355 -0
  48. package/.agent/skills/seo-hreflang/SKILL.md +192 -0
  49. package/.agent/skills/seo-image-gen/SKILL.md +211 -0
  50. package/.agent/skills/seo-image-gen/references/cost-tracking.md +47 -0
  51. package/.agent/skills/seo-image-gen/references/gemini-models.md +200 -0
  52. package/.agent/skills/seo-image-gen/references/mcp-tools.md +115 -0
  53. package/.agent/skills/seo-image-gen/references/post-processing.md +192 -0
  54. package/.agent/skills/seo-image-gen/references/presets.md +69 -0
  55. package/.agent/skills/seo-image-gen/references/prompt-engineering.md +411 -0
  56. package/.agent/skills/seo-image-gen/references/seo-image-presets.md +137 -0
  57. package/.agent/skills/seo-image-gen/scripts/batch.py +97 -0
  58. package/.agent/skills/seo-image-gen/scripts/cost_tracker.py +191 -0
  59. package/.agent/skills/seo-image-gen/scripts/edit.py +141 -0
  60. package/.agent/skills/seo-image-gen/scripts/generate.py +149 -0
  61. package/.agent/skills/seo-image-gen/scripts/presets.py +153 -0
  62. package/.agent/skills/seo-image-gen/scripts/setup_mcp.py +151 -0
  63. package/.agent/skills/seo-image-gen/scripts/validate_setup.py +133 -0
  64. package/.agent/skills/seo-images/SKILL.md +176 -0
  65. package/.agent/skills/seo-local/SKILL.md +381 -0
  66. package/.agent/skills/seo-maps/SKILL.md +328 -0
  67. package/.agent/skills/seo-page/SKILL.md +86 -0
  68. package/.agent/skills/seo-plan/SKILL.md +118 -0
  69. package/.agent/skills/seo-plan/assets/agency.md +175 -0
  70. package/.agent/skills/seo-plan/assets/ecommerce.md +167 -0
  71. package/.agent/skills/seo-plan/assets/generic.md +144 -0
  72. package/.agent/skills/seo-plan/assets/local-service.md +160 -0
  73. package/.agent/skills/seo-plan/assets/publisher.md +153 -0
  74. package/.agent/skills/seo-plan/assets/saas.md +135 -0
  75. package/.agent/skills/seo-programmatic/SKILL.md +171 -0
  76. package/.agent/skills/seo-schema/SKILL.md +223 -0
  77. package/.agent/skills/seo-sitemap/SKILL.md +180 -0
  78. package/.agent/skills/seo-technical/SKILL.md +211 -0
  79. package/.agent/workflows/seo-audit.md +17 -0
  80. package/.agent/workflows/seo-competitor-pages.md +12 -0
  81. package/.agent/workflows/seo-content.md +14 -0
  82. package/.agent/workflows/seo-geo.md +12 -0
  83. package/.agent/workflows/seo-google.md +12 -0
  84. package/.agent/workflows/seo-hreflang.md +12 -0
  85. package/.agent/workflows/seo-images.md +13 -0
  86. package/.agent/workflows/seo-local.md +12 -0
  87. package/.agent/workflows/seo-maps.md +11 -0
  88. package/.agent/workflows/seo-page.md +13 -0
  89. package/.agent/workflows/seo-plan.md +13 -0
  90. package/.agent/workflows/seo-programmatic.md +12 -0
  91. package/.agent/workflows/seo-schema.md +11 -0
  92. package/.agent/workflows/seo-sitemap.md +9 -0
  93. package/.agent/workflows/seo-technical.md +18 -0
  94. package/LICENSE +88 -0
  95. package/README.md +122 -0
  96. package/bin/cli.js +117 -0
  97. package/docs/ARCHITECTURE.md +218 -0
  98. package/docs/COMMANDS.md +184 -0
  99. package/docs/INSTALLATION.md +100 -0
  100. package/docs/MCP-INTEGRATION.md +153 -0
  101. package/docs/TROUBLESHOOTING.md +151 -0
  102. package/docs/superpowers/plans/2026-03-13-github-audit-fixes.md +511 -0
  103. package/extensions/banana/README.md +95 -0
  104. package/extensions/banana/docs/BANANA-SETUP.md +86 -0
  105. package/extensions/banana/install.sh +170 -0
  106. package/extensions/banana/references/cost-tracking.md +47 -0
  107. package/extensions/banana/references/gemini-models.md +200 -0
  108. package/extensions/banana/references/mcp-tools.md +115 -0
  109. package/extensions/banana/references/post-processing.md +192 -0
  110. package/extensions/banana/references/presets.md +69 -0
  111. package/extensions/banana/references/prompt-engineering.md +411 -0
  112. package/extensions/banana/references/seo-image-presets.md +137 -0
  113. package/extensions/banana/scripts/batch.py +97 -0
  114. package/extensions/banana/scripts/cost_tracker.py +191 -0
  115. package/extensions/banana/scripts/edit.py +141 -0
  116. package/extensions/banana/scripts/generate.py +149 -0
  117. package/extensions/banana/scripts/presets.py +153 -0
  118. package/extensions/banana/scripts/setup_mcp.py +151 -0
  119. package/extensions/banana/scripts/validate_setup.py +133 -0
  120. package/extensions/banana/uninstall.sh +43 -0
  121. package/extensions/dataforseo/README.md +169 -0
  122. package/extensions/dataforseo/docs/DATAFORSEO-SETUP.md +74 -0
  123. package/extensions/dataforseo/field-config.json +280 -0
  124. package/extensions/dataforseo/install.ps1 +110 -0
  125. package/extensions/dataforseo/install.sh +161 -0
  126. package/extensions/dataforseo/uninstall.ps1 +35 -0
  127. package/extensions/dataforseo/uninstall.sh +39 -0
  128. package/lib/api.js +190 -0
  129. package/lib/fingerprint.js +68 -0
  130. package/lib/installer.js +486 -0
  131. package/lib/utils.js +254 -0
  132. package/package.json +40 -0
  133. package/pyproject.toml +11 -0
  134. package/requirements-google.txt +15 -0
  135. package/requirements.txt +11 -0
@@ -0,0 +1,278 @@
1
+ ---
2
+ name: seo-audit
3
+ description: >
4
+ Full website SEO audit with parallel skill delegation. Crawls up to 500
5
+ pages, detects business type, activates 10 specialist skills (7 core + 3
6
+ conditional), generates health score. Use when user says "audit",
7
+ "full SEO check", "analyze my site", or "website health check".
8
+ ---
9
+
10
+ # Full Website SEO Audit
11
+
12
+ ## Process
13
+
14
+ 1. **Fetch homepage**: use `scripts/fetch_page.py` to retrieve HTML
15
+ 2. **Detect business type**: analyze homepage signals per seo orchestrator
16
+ 3. **Crawl site**: follow internal links up to 500 pages, respect robots.txt
17
+ 4. **Activate specialist skills** (run analysis for each area):
18
+ - `seo-technical` -- robots.txt, sitemaps, canonicals, Core Web Vitals, security headers
19
+ - `seo-content` -- E-E-A-T, readability, thin content, AI citation readiness
20
+ - `seo-schema` -- detection, validation, generation recommendations
21
+ - `seo-sitemap` -- structure analysis, quality gates, missing pages
22
+ - `seo-performance` -- LCP, INP, CLS measurements
23
+ - `seo-visual` -- screenshots, mobile testing, above-fold analysis
24
+ - `seo-geo` -- AI crawler access, llms.txt, citability, brand mention signals
25
+ - `seo-local` -- GBP signals, NAP consistency, reviews, local schema, industry-specific local factors (activate when Local Service industry detected: brick-and-mortar, SAB, or hybrid business type)
26
+ - `seo-maps` -- Geo-grid rank tracking, GBP audit, review intelligence, competitor radius mapping (activate when Local Service detected AND DataForSEO MCP available)
27
+ - `seo-google` -- CWV field data (CrUX), URL indexation (GSC), organic traffic (GA4) (activate when Google API credentials detected via `python .agent/skills/seo-google/scripts/google_auth.py --check`)
28
+ 5. **Score** -- aggregate into SEO Health Score (0-100)
29
+ 6. **Report** -- generate prioritized action plan
30
+ 7. **Offer PDF report**: "Generate a professional PDF report? Use `/seo-google report full`"
31
+
32
+ ## Crawl Configuration
33
+
34
+ ```
35
+ Max pages: 500
36
+ Respect robots.txt: Yes
37
+ Follow redirects: Yes (max 3 hops)
38
+ Timeout per page: 30 seconds
39
+ Concurrent requests: 5
40
+ Delay between requests: 1 second
41
+ ```
42
+
43
+ ## Output Files
44
+
45
+ - `FULL-AUDIT-REPORT.md`: Comprehensive findings
46
+ - `ACTION-PLAN.md`: Prioritized recommendations (Critical > High > Medium > Low)
47
+ - `screenshots/`: Desktop + mobile captures (if Playwright available)
48
+
49
+ ## Scoring Weights
50
+
51
+ | Category | Weight |
52
+ |----------|--------|
53
+ | Technical SEO | 22% |
54
+ | Content Quality | 23% |
55
+ | On-Page SEO | 20% |
56
+ | Schema / Structured Data | 10% |
57
+ | Performance (CWV) | 10% |
58
+ | AI Search Readiness | 10% |
59
+ | Images | 5% |
60
+
61
+ ## Report Structure
62
+
63
+ ### Executive Summary
64
+ - Overall SEO Health Score (0-100)
65
+ - Business type detected
66
+ - Top 5 critical issues
67
+ - Top 5 quick wins
68
+
69
+ ### Technical SEO
70
+ - Crawlability issues
71
+ - Indexability problems
72
+ - Security concerns
73
+ - Core Web Vitals status
74
+
75
+ ### Content Quality
76
+ - E-E-A-T assessment
77
+ - Thin content pages
78
+ - Duplicate content issues
79
+ - Readability scores
80
+
81
+ ### On-Page SEO
82
+ - Title tag issues
83
+ - Meta description problems
84
+ - Heading structure
85
+ - Internal linking gaps
86
+
87
+ ### Schema & Structured Data
88
+ - Current implementation
89
+ - Validation errors
90
+ - Missing opportunities
91
+
92
+ ### Performance
93
+ - LCP, INP, CLS scores
94
+ - Resource optimization needs
95
+ - Third-party script impact
96
+
97
+ ### Images
98
+ - Missing alt text
99
+ - Oversized images
100
+ - Format recommendations
101
+
102
+ ### AI Search Readiness
103
+ - Citability score
104
+ - Structural improvements
105
+ - Authority signals
106
+
107
+ ## Priority Definitions
108
+
109
+ - **Critical**: Blocks indexing or causes penalties (fix immediately)
110
+ - **High**: Significantly impacts rankings (fix within 1 week)
111
+ - **Medium**: Optimization opportunity (fix within 1 month)
112
+ - **Low**: Nice to have (backlog)
113
+
114
+ ## DataForSEO Integration (Optional)
115
+
116
+ If DataForSEO MCP tools are available, activate the `seo-dataforseo` skill to enrich the audit with live data: real SERP positions, backlink profiles with spam scores, on-page analysis (Lighthouse), business listings, and AI visibility checks (ChatGPT scraper, LLM mentions).
117
+
118
+ ## Error Handling
119
+
120
+ | Scenario | Action |
121
+ |----------|--------|
122
+ | URL unreachable (DNS failure, connection refused) | Report the error clearly. Do not guess site content. Suggest the user verify the URL and try again. |
123
+ | robots.txt blocks crawling | Report which paths are blocked. Analyze only accessible pages and note the limitation in the report. |
124
+ | Rate limiting (429 responses) | Back off and reduce concurrent requests. Report partial results with a note on which sections could not be completed. |
125
+ | Timeout on large sites (500+ pages) | Cap the crawl at the timeout limit. Report findings for pages crawled and estimate total site scope. |
126
+
127
+ ## Performance Analysis Role
128
+
129
+ When assessing performance during audits:
130
+
131
+ You are a Web Performance specialist focused on Core Web Vitals.
132
+
133
+ ## Current Metrics (as of 2026)
134
+
135
+ | Metric | Good | Needs Improvement | Poor |
136
+ |--------|------|-------------------|------|
137
+ | LCP (Largest Contentful Paint) | ≤2.5s | 2.5s–4.0s | >4.0s |
138
+ | INP (Interaction to Next Paint) | ≤200ms | 200ms–500ms | >500ms |
139
+ | CLS (Cumulative Layout Shift) | ≤0.1 | 0.1–0.25 | >0.25 |
140
+
141
+ **IMPORTANT**: INP replaced FID on March 12, 2024. FID was fully removed from all Chrome tools (CrUX API, PageSpeed Insights, Lighthouse) on September 9, 2024. INP is the sole interactivity metric. Never reference FID.
142
+
143
+ ## Evaluation Method
144
+
145
+ Google evaluates the **75th percentile** of page visits, 75% of visits must meet the "good" threshold to pass.
146
+
147
+ ## When Analyzing Performance
148
+
149
+ 1. Use PageSpeed Insights API if available
150
+ 2. Otherwise, analyze HTML source for common issues
151
+ 3. Provide specific, actionable optimization recommendations
152
+ 4. Prioritize by expected impact
153
+
154
+ ## Common LCP Issues
155
+
156
+ - Unoptimized hero images (compress, WebP/AVIF, preload)
157
+ - Render-blocking CSS/JS (defer, async, critical CSS)
158
+ - Slow server response TTFB >200ms (edge CDN, caching)
159
+ - Third-party scripts blocking render
160
+ - Web font loading delay
161
+
162
+ ## Common INP Issues
163
+
164
+ - Long JavaScript tasks on main thread (break into <50ms chunks)
165
+ - Heavy event handlers (debounce, requestAnimationFrame)
166
+ - Excessive DOM size (>1,500 elements)
167
+ - Third-party scripts hijacking main thread
168
+ - Synchronous operations blocking
169
+
170
+ ## Common CLS Issues
171
+
172
+ - Images without width/height dimensions
173
+ - Dynamically injected content
174
+ - Web fonts causing FOIT/FOUT
175
+ - Ads/embeds without reserved space
176
+ - Late-loading elements
177
+
178
+ ## Performance Tooling (2025-2026)
179
+
180
+ **Lighthouse 13.0** (October 2025): Major audit restructuring with reorganized performance categories and updated scoring weights. Use as a lab diagnostic tool: always validate against CrUX field data for real-world performance.
181
+
182
+ **CrUX Vis** replaced the CrUX Dashboard (November 2025). The old Looker Studio dashboard was deprecated. Use [CrUX Vis](https://cruxvis.withgoogle.com) or the CrUX API directly.
183
+
184
+ **LCP subparts** (TTFB, resource load delay, resource load time, element render delay) are now available in CrUX data (February 2025). See `seo/references/cwv-thresholds.md` for details.
185
+
186
+ ## Tools
187
+
188
+ ```bash
189
+ # PageSpeed Insights API
190
+ curl "https://www.googleapis.com/pagespeedonline/v5/runPagespeed?url=URL&key=API_KEY"
191
+
192
+ # Lighthouse CLI
193
+ npx lighthouse URL --output json
194
+ ```
195
+
196
+ ## Output Format
197
+
198
+ Provide:
199
+ - Performance score (0-100)
200
+ - Core Web Vitals status (pass/fail per metric)
201
+ - Specific bottlenecks identified
202
+ - Prioritized recommendations with expected impact
203
+
204
+ ## Visual Analysis Role
205
+
206
+ When performing visual analysis during audits:
207
+
208
+ You are a Visual Analysis specialist using Playwright for browser automation.
209
+
210
+ ## Prerequisites
211
+
212
+ Before capturing screenshots, ensure Playwright and Chromium are installed:
213
+
214
+ ```bash
215
+ pip install playwright && playwright install chromium
216
+ ```
217
+
218
+ ## When Analyzing Pages
219
+
220
+ 1. Capture desktop screenshot (1920x1080)
221
+ 2. Capture mobile screenshot (375x812, iPhone viewport)
222
+ 3. Analyze above-the-fold content: is the primary CTA visible?
223
+ 4. Check for visual layout issues, overlapping elements
224
+ 5. Verify mobile responsiveness
225
+
226
+ ## Screenshot Script
227
+
228
+ Use the screenshot script (at `.agent/skills/seo/scripts/capture_screenshot.py`) for browser automation:
229
+
230
+ ```python
231
+ from playwright.sync_api import sync_playwright
232
+
233
+ def capture(url, output_path, viewport_width=1920, viewport_height=1080):
234
+ with sync_playwright() as p:
235
+ browser = p.chromium.launch()
236
+ page = browser.new_page(viewport={'width': viewport_width, 'height': viewport_height})
237
+ page.goto(url, wait_until='networkidle')
238
+ page.screenshot(path=output_path, full_page=False)
239
+ browser.close()
240
+ ```
241
+
242
+ ## Viewports to Test
243
+
244
+ | Device | Width | Height |
245
+ |--------|-------|--------|
246
+ | Desktop | 1920 | 1080 |
247
+ | Laptop | 1366 | 768 |
248
+ | Tablet | 768 | 1024 |
249
+ | Mobile | 375 | 812 |
250
+
251
+ ## Visual Checks
252
+
253
+ ### Above-the-Fold Analysis
254
+ - Primary heading (H1) visible without scrolling
255
+ - Main CTA visible without scrolling
256
+ - Hero image/content loading properly
257
+ - No layout shifts on load
258
+
259
+ ### Mobile Responsiveness
260
+ - Navigation accessible (hamburger menu or visible)
261
+ - Touch targets at least 48x48px
262
+ - No horizontal scroll
263
+ - Text readable without zooming (16px+ base font)
264
+
265
+ ### Visual Issues
266
+ - Overlapping elements
267
+ - Text cut off or overflow
268
+ - Images not scaling properly
269
+ - Broken layout at different widths
270
+
271
+ ## Output Format
272
+
273
+ Provide:
274
+ - Screenshots saved to `screenshots/` directory
275
+ - Visual analysis summary
276
+ - Mobile responsiveness assessment
277
+ - Above-the-fold content evaluation
278
+ - Specific issues with element locations
@@ -0,0 +1,212 @@
1
+ ---
2
+ name: seo-competitor-pages
3
+ description: >
4
+ Generate SEO-optimized competitor comparison and alternatives pages. Covers
5
+ "X vs Y" layouts, "alternatives to X" pages, feature matrices, schema markup,
6
+ and conversion optimization. Use when user says "comparison page", "vs page",
7
+ "alternatives page", "competitor comparison", or "X vs Y".
8
+ ---
9
+
10
+ # Competitor Comparison & Alternatives Pages
11
+
12
+ Create high-converting comparison and alternatives pages that target
13
+ competitive intent keywords with accurate, structured content.
14
+
15
+ ## Page Types
16
+
17
+ ### 1. "X vs Y" Comparison Pages
18
+ - Direct head-to-head comparison between two products/services
19
+ - Balanced feature-by-feature analysis
20
+ - Clear verdict or recommendation with justification
21
+ - Target keyword: `[Product A] vs [Product B]`
22
+
23
+ ### 2. "Alternatives to X" Pages
24
+ - List of alternatives to a specific product/service
25
+ - Each alternative with brief summary, pros/cons, best-for use case
26
+ - Target keyword: `[Product] alternatives`, `best alternatives to [Product]`
27
+
28
+ ### 3. "Best [Category] Tools" Roundup Pages
29
+ - Curated list of top tools/services in a category
30
+ - Ranking criteria clearly stated
31
+ - Target keyword: `best [category] tools [year]`, `top [category] software`
32
+
33
+ ### 4. Comparison Table Pages
34
+ - Feature matrix with multiple products in columns
35
+ - Sortable/filterable if interactive
36
+ - Target keyword: `[category] comparison`, `[category] comparison chart`
37
+
38
+ ## Comparison Table Generation
39
+
40
+ ### Feature Matrix Layout
41
+ ```
42
+ | Feature | Your Product | Competitor A | Competitor B |
43
+ |------------------|:------------:|:------------:|:------------:|
44
+ | Feature 1 | ✅ | ✅ | ❌ |
45
+ | Feature 2 | ✅ | ⚠️ Partial | ✅ |
46
+ | Feature 3 | ✅ | ❌ | ❌ |
47
+ | Pricing (from) | $X/mo | $Y/mo | $Z/mo |
48
+ | Free Tier | ✅ | ❌ | ✅ |
49
+ ```
50
+
51
+ ### Data Accuracy Requirements
52
+ - All feature claims must be verifiable from public sources
53
+ - Pricing must be current (include "as of [date]" note)
54
+ - Update frequency: review quarterly or when competitors ship major changes
55
+ - Link to source for each competitor data point where possible
56
+
57
+ ## Schema Markup Recommendations
58
+
59
+ ### Product Schema with AggregateRating
60
+ ```json
61
+ {
62
+ "@context": "https://schema.org",
63
+ "@type": "Product",
64
+ "name": "[Product Name]",
65
+ "description": "[Product Description]",
66
+ "brand": {
67
+ "@type": "Brand",
68
+ "name": "[Brand Name]"
69
+ },
70
+ "aggregateRating": {
71
+ "@type": "AggregateRating",
72
+ "ratingValue": "[Rating]",
73
+ "reviewCount": "[Count]",
74
+ "bestRating": "5",
75
+ "worstRating": "1"
76
+ }
77
+ }
78
+ ```
79
+
80
+ ### SoftwareApplication (for software comparisons)
81
+ ```json
82
+ {
83
+ "@context": "https://schema.org",
84
+ "@type": "SoftwareApplication",
85
+ "name": "[Software Name]",
86
+ "applicationCategory": "[Category]",
87
+ "operatingSystem": "[OS]",
88
+ "offers": {
89
+ "@type": "Offer",
90
+ "price": "[Price]",
91
+ "priceCurrency": "USD"
92
+ }
93
+ }
94
+ ```
95
+
96
+ ### ItemList (for roundup pages)
97
+ ```json
98
+ {
99
+ "@context": "https://schema.org",
100
+ "@type": "ItemList",
101
+ "name": "Best [Category] Tools [Year]",
102
+ "itemListOrder": "https://schema.org/ItemListOrderDescending",
103
+ "numberOfItems": "[Count]",
104
+ "itemListElement": [
105
+ {
106
+ "@type": "ListItem",
107
+ "position": 1,
108
+ "name": "[Product Name]",
109
+ "url": "[Product URL]"
110
+ }
111
+ ]
112
+ }
113
+ ```
114
+
115
+ ## Keyword Targeting
116
+
117
+ ### Comparison Intent Patterns
118
+ | Pattern | Example | Search Volume Signal |
119
+ |---------|---------|---------------------|
120
+ | `[A] vs [B]` | "Slack vs Teams" | High |
121
+ | `[A] alternative` | "Figma alternatives" | High |
122
+ | `[A] alternatives [year]` | "Notion alternatives 2026" | High |
123
+ | `best [category] tools` | "best project management tools" | High |
124
+ | `[A] vs [B] for [use case]` | "AWS vs Azure for startups" | Medium |
125
+ | `[A] review [year]` | "Monday.com review 2026" | Medium |
126
+ | `[A] vs [B] pricing` | "HubSpot vs Salesforce pricing" | Medium |
127
+ | `is [A] better than [B]` | "is Notion better than Confluence" | Medium |
128
+
129
+ ### Title Tag Formulas
130
+ - X vs Y: `[A] vs [B]: [Key Differentiator] ([Year])`
131
+ - Alternatives: `[N] Best [A] Alternatives in [Year] (Free & Paid)`
132
+ - Roundup: `[N] Best [Category] Tools in [Year], Compared & Ranked`
133
+
134
+ ### H1 Patterns
135
+ - Match title tag intent
136
+ - Include primary keyword naturally
137
+ - Keep under 70 characters
138
+
139
+ ## Conversion-Optimized Layouts
140
+
141
+ ### CTA Placement
142
+ - **Above fold**: Brief comparison summary with primary CTA
143
+ - **After comparison table**: "Try [Your Product] free" CTA
144
+ - **Bottom of page**: Final recommendation with CTA
145
+ - Avoid aggressive CTAs in competitor description sections (reduces trust)
146
+
147
+ ### Social Proof Sections
148
+ - Customer testimonials relevant to comparison criteria
149
+ - G2/Capterra/TrustPilot ratings (with source links)
150
+ - Case studies showing migration from competitor
151
+ - "Switched from [Competitor]" stories
152
+
153
+ ### Pricing Highlights
154
+ - Clear pricing comparison table
155
+ - Highlight value advantages (not just lowest price)
156
+ - Include hidden costs (setup fees, per-user pricing, overage charges)
157
+ - Link to full pricing page
158
+
159
+ ### Trust Signals
160
+ - "Last updated [date]" timestamp
161
+ - Author with relevant expertise
162
+ - Methodology disclosure (how comparisons were conducted)
163
+ - Disclosure of own product affiliation
164
+
165
+ ## Fairness Guidelines
166
+
167
+ - **Accuracy**: All competitor information must be verifiable from public sources
168
+ - **No defamation**: Never make false or misleading claims about competitors
169
+ - **Cite sources**: Link to competitor websites, review sites, or documentation
170
+ - **Timely updates**: Review and update when competitors release major changes
171
+ - **Disclose affiliation**: Clearly state which product is yours
172
+ - **Balanced presentation**: Acknowledge competitor strengths honestly
173
+ - **Pricing accuracy**: Include "as of [date]" disclaimers on all pricing data
174
+ - **Feature verification**: Test competitor features where possible, cite documentation otherwise
175
+
176
+ ## Internal Linking
177
+
178
+ - Link to your own product/service pages from comparison sections
179
+ - Cross-link between related comparison pages (e.g., "A vs B" links to "A vs C")
180
+ - Link to feature-specific pages when discussing individual features
181
+ - Breadcrumb: Home > Comparisons > [This Page]
182
+ - Related comparisons section at bottom of page
183
+ - Link to case studies and testimonials mentioned in the comparison
184
+
185
+ ## Output
186
+
187
+ ### Comparison Page Template
188
+ - `COMPARISON-PAGE.md`: Ready-to-implement page structure with sections
189
+ - Feature matrix table
190
+ - Content outline with word count targets (minimum 1,500 words)
191
+
192
+ ### Schema Markup
193
+ - `comparison-schema.json`: Product/SoftwareApplication/ItemList JSON-LD
194
+
195
+ ### Keyword Strategy
196
+ - Primary and secondary keywords
197
+ - Related long-tail opportunities
198
+ - Content gaps vs existing competitor pages
199
+
200
+ ### Recommendations
201
+ - Content improvements for existing comparison pages
202
+ - New comparison page opportunities
203
+ - Schema markup additions
204
+ - Conversion optimization suggestions
205
+
206
+ ## Error Handling
207
+
208
+ | Scenario | Action |
209
+ |----------|--------|
210
+ | Competitor URL unreachable | Report which competitor URLs failed. Proceed with available data and note gaps in the comparison. |
211
+ | Insufficient competitor data (pricing, features unavailable) | Flag missing data points clearly. Use "Not publicly available" in comparison tables rather than guessing. |
212
+ | No product/service overlap found | Report that the products serve different markets. Suggest alternative competitors that share feature overlap, or pivot to a category roundup format. |