Competitor Comparison & Alternatives Pages
Shared Data Cache
Step 0 -- Check shared data cache:
Before gathering, check .seo-cache/ for reusable context from related SEO skills.
Reference: ../seo/references/shared-data-cache.md for schemas and dependency map.
Check these cache files when present:
.seo-cache/site-meta.json for domain, business type, industry, and crawl context
.seo-cache/audit-scores.json for prior full-audit priorities
.seo-cache/pages/{url-slug}/page-analysis.json for page-level context when a URL is provided
If found: parse and use clearly valid fields (note "Using cached [X] from [date]")
If missing, corrupt, or irrelevant: continue with fresh evidence
If the user says "refresh" or "re-run": ignore cache reads and overwrite on write
Create high-converting comparison and alternatives pages that target
competitive intent keywords with accurate, structured content.
Page Types
1. "X vs Y" Comparison Pages
- Direct head-to-head comparison between two products/services
- Balanced feature-by-feature analysis
- Clear verdict or recommendation with justification
- Target keyword:
[Product A] vs [Product B]
2. "Alternatives to X" Pages
- List of alternatives to a specific product/service
- Each alternative with brief summary, pros/cons, best-for use case
- Target keyword:
[Product] alternatives, best alternatives to [Product]
3. "Best [Category] Tools" Roundup Pages
- Curated list of top tools/services in a category
- Ranking criteria clearly stated
- Target keyword:
best [category] tools [year], top [category] software
4. Comparison Table Pages
- Feature matrix with multiple products in columns
- Sortable/filterable if interactive
- Target keyword:
[category] comparison, [category] comparison chart
Comparison Table Generation
Feature Matrix Layout
| Feature | Your Product | Competitor A | Competitor B |
|------------------|:------------:|:------------:|:------------:|
| Feature 1 | ✅ | ✅ | ❌ |
| Feature 2 | ✅ | ⚠️ Partial | ✅ |
| Feature 3 | ✅ | ❌ | ❌ |
| Pricing (from) | $X/mo | $Y/mo | $Z/mo |
| Free Tier | ✅ | ❌ | ✅ |
Data Accuracy Requirements
- All feature claims must be verifiable from public sources
- Pricing must be current (include "as of [date]" note)
- Update frequency: review quarterly or when competitors ship major changes
- Link to source for each competitor data point where possible
Schema Markup Recommendations
Product Schema with AggregateRating
{
"@context": "https://schema.org",
"@type": "Product",
"name": "[Product Name]",
"description": "[Product Description]",
"brand": {
"@type": "Brand",
"name": "[Brand Name]"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "[Rating]",
"reviewCount": "[Count]",
"bestRating": "5",
"worstRating": "1"
}
}
SoftwareApplication (for software comparisons)
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "[Software Name]",
"applicationCategory": "[Category]",
"operatingSystem": "[OS]",
"offers": {
"@type": "Offer",
"price": "[Price]",
"priceCurrency": "USD"
}
}
ItemList (for roundup pages)
{
"@context": "https://schema.org",
"@type": "ItemList",
"name": "Best [Category] Tools [Year]",
"itemListOrder": "https://schema.org/ItemListOrderDescending",
"numberOfItems": "[Count]",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "[Product Name]",
"url": "[Product URL]"
}
]
}
Keyword Targeting
Comparison Intent Patterns
| Pattern |
Example |
Search Volume Signal |
[A] vs [B] |
"Slack vs Teams" |
High |
[A] alternative |
"Figma alternatives" |
High |
[A] alternatives [year] |
"Notion alternatives 2026" |
High |
best [category] tools |
"best project management tools" |
High |
[A] vs [B] for [use case] |
"AWS vs Azure for startups" |
Medium |
[A] review [year] |
"Monday.com review 2026" |
Medium |
[A] vs [B] pricing |
"HubSpot vs Salesforce pricing" |
Medium |
is [A] better than [B] |
"is Notion better than Confluence" |
Medium |
Title Tag Formulas
- X vs Y:
[A] vs [B]: [Key Differentiator] ([Year])
- Alternatives:
[N] Best [A] Alternatives in [Year] (Free & Paid)
- Roundup:
[N] Best [Category] Tools in [Year], Compared & Ranked
H1 Patterns
- Match title tag intent
- Include primary keyword naturally
- Keep under 70 characters
Conversion-Optimized Layouts
CTA Placement
- Above fold: Brief comparison summary with primary CTA
- After comparison table: "Try [Your Product] free" CTA
- Bottom of page: Final recommendation with CTA
- Avoid aggressive CTAs in competitor description sections (reduces trust)
Social Proof Sections
- Customer testimonials relevant to comparison criteria
- G2/Capterra/TrustPilot ratings (with source links)
- Case studies showing migration from competitor
- "Switched from [Competitor]" stories
Pricing Highlights
- Clear pricing comparison table
- Highlight value advantages (not just lowest price)
- Include hidden costs (setup fees, per-user pricing, overage charges)
- Link to full pricing page
Trust Signals
- "Last updated [date]" timestamp
- Author with relevant expertise
- Methodology disclosure (how comparisons were conducted)
- Disclosure of own product affiliation
Fairness Guidelines
- Accuracy: All competitor information must be verifiable from public sources
- No defamation: Never make false or misleading claims about competitors
- Cite sources: Link to competitor websites, review sites, or documentation
- Timely updates: Review and update when competitors release major changes
- Disclose affiliation: Clearly state which product is yours
- Balanced presentation: Acknowledge competitor strengths honestly
- Pricing accuracy: Include "as of [date]" disclaimers on all pricing data
- Feature verification: Test competitor features where possible, cite documentation otherwise
Internal Linking
- Link to your own product/service pages from comparison sections
- Cross-link between related comparison pages (e.g., "A vs B" links to "A vs C")
- Link to feature-specific pages when discussing individual features
- Breadcrumb: Home > Comparisons > [This Page]
- Related comparisons section at bottom of page
- Link to case studies and testimonials mentioned in the comparison
Output
Comparison Page Template
COMPARISON-PAGE.md: Ready-to-implement page structure with sections
- Feature matrix table
- Content outline with word count targets (minimum 1,500 words)
Schema Markup
comparison-schema.json: Product/SoftwareApplication/ItemList JSON-LD
Keyword Strategy
- Primary and secondary keywords
- Related long-tail opportunities
- Content gaps vs existing competitor pages
Recommendations
- Content improvements for existing comparison pages
- New comparison page opportunities
- Schema markup additions
- Conversion optimization suggestions
Error Handling
| Scenario |
Action |
| Competitor URL unreachable |
Report which competitor URLs failed. Proceed with available data and note gaps in the comparison. |
| Insufficient competitor data (pricing, features unavailable) |
Flag missing data points clearly. Use "Not publicly available" in comparison tables rather than guessing. |
| 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. |
Write to shared data cache
After completing all work, write a concise JSON summary to .seo-cache/ when the workflow produced durable findings.
Use the schemas and naming rules in ../seo/references/shared-data-cache.md; include at least cache_type, analyzed_at, source URL/domain, key findings, issues, recommendations, and tool limitations. Add .seo-cache/ to .gitignore if it is missing.
1---2name: seo-competitor-pages-23description: Generate SEO-optimized competitor comparison and alternatives pages. Covers "X vs Y" layouts, "alternatives to X" pages, feature matrices, schema markup, and conversion optimization. Use when user says "comparison page", "vs page", "alternatives page", "competitor comparison", "X vs Y", "versus", "compare competitors", or "alternative to".4license: MIT5---67# Competitor Comparison & Alternatives Pages8## Shared Data Cache910**Step 0 -- Check shared data cache:**1112Before gathering, check `.seo-cache/` for reusable context from related SEO skills.13Reference: `../seo/references/shared-data-cache.md` for schemas and dependency map.1415Check these cache files when present:16- `.seo-cache/site-meta.json` for domain, business type, industry, and crawl context17- `.seo-cache/audit-scores.json` for prior full-audit priorities18- `.seo-cache/pages/{url-slug}/page-analysis.json` for page-level context when a URL is provided1920- If found: parse and use clearly valid fields (note "Using cached [X] from [date]")21- If missing, corrupt, or irrelevant: continue with fresh evidence22- If the user says "refresh" or "re-run": ignore cache reads and overwrite on write2324Create high-converting comparison and alternatives pages that target25competitive intent keywords with accurate, structured content.2627## Page Types2829### 1. "X vs Y" Comparison Pages30- Direct head-to-head comparison between two products/services31- Balanced feature-by-feature analysis32- Clear verdict or recommendation with justification33- Target keyword: `[Product A] vs [Product B]`3435### 2. "Alternatives to X" Pages36- List of alternatives to a specific product/service37- Each alternative with brief summary, pros/cons, best-for use case38- Target keyword: `[Product] alternatives`, `best alternatives to [Product]`3940### 3. "Best [Category] Tools" Roundup Pages41- Curated list of top tools/services in a category42- Ranking criteria clearly stated43- Target keyword: `best [category] tools [year]`, `top [category] software`4445### 4. Comparison Table Pages46- Feature matrix with multiple products in columns47- Sortable/filterable if interactive48- Target keyword: `[category] comparison`, `[category] comparison chart`4950## Comparison Table Generation5152### Feature Matrix Layout53```54| Feature | Your Product | Competitor A | Competitor B |55|------------------|:------------:|:------------:|:------------:|56| Feature 1 | ✅ | ✅ | ❌ |57| Feature 2 | ✅ | ⚠️ Partial | ✅ |58| Feature 3 | ✅ | ❌ | ❌ |59| Pricing (from) | $X/mo | $Y/mo | $Z/mo |60| Free Tier | ✅ | ❌ | ✅ |61```6263### Data Accuracy Requirements64- All feature claims must be verifiable from public sources65- Pricing must be current (include "as of [date]" note)66- Update frequency: review quarterly or when competitors ship major changes67- Link to source for each competitor data point where possible6869## Schema Markup Recommendations7071### Product Schema with AggregateRating72```json73{74 "@context": "https://schema.org",75 "@type": "Product",76 "name": "[Product Name]",77 "description": "[Product Description]",78 "brand": {79 "@type": "Brand",80 "name": "[Brand Name]"81 },82 "aggregateRating": {83 "@type": "AggregateRating",84 "ratingValue": "[Rating]",85 "reviewCount": "[Count]",86 "bestRating": "5",87 "worstRating": "1"88 }89}90```9192### SoftwareApplication (for software comparisons)93```json94{95 "@context": "https://schema.org",96 "@type": "SoftwareApplication",97 "name": "[Software Name]",98 "applicationCategory": "[Category]",99 "operatingSystem": "[OS]",100 "offers": {101 "@type": "Offer",102 "price": "[Price]",103 "priceCurrency": "USD"104 }105}106```107108### ItemList (for roundup pages)109```json110{111 "@context": "https://schema.org",112 "@type": "ItemList",113 "name": "Best [Category] Tools [Year]",114 "itemListOrder": "https://schema.org/ItemListOrderDescending",115 "numberOfItems": "[Count]",116 "itemListElement": [117 {118 "@type": "ListItem",119 "position": 1,120 "name": "[Product Name]",121 "url": "[Product URL]"122 }123 ]124}125```126127## Keyword Targeting128129### Comparison Intent Patterns130| Pattern | Example | Search Volume Signal |131|---------|---------|---------------------|132| `[A] vs [B]` | "Slack vs Teams" | High |133| `[A] alternative` | "Figma alternatives" | High |134| `[A] alternatives [year]` | "Notion alternatives 2026" | High |135| `best [category] tools` | "best project management tools" | High |136| `[A] vs [B] for [use case]` | "AWS vs Azure for startups" | Medium |137| `[A] review [year]` | "Monday.com review 2026" | Medium |138| `[A] vs [B] pricing` | "HubSpot vs Salesforce pricing" | Medium |139| `is [A] better than [B]` | "is Notion better than Confluence" | Medium |140141### Title Tag Formulas142- X vs Y: `[A] vs [B]: [Key Differentiator] ([Year])`143- Alternatives: `[N] Best [A] Alternatives in [Year] (Free & Paid)`144- Roundup: `[N] Best [Category] Tools in [Year], Compared & Ranked`145146### H1 Patterns147- Match title tag intent148- Include primary keyword naturally149- Keep under 70 characters150151## Conversion-Optimized Layouts152153### CTA Placement154- **Above fold**: Brief comparison summary with primary CTA155- **After comparison table**: "Try [Your Product] free" CTA156- **Bottom of page**: Final recommendation with CTA157- Avoid aggressive CTAs in competitor description sections (reduces trust)158159### Social Proof Sections160- Customer testimonials relevant to comparison criteria161- G2/Capterra/TrustPilot ratings (with source links)162- Case studies showing migration from competitor163- "Switched from [Competitor]" stories164165### Pricing Highlights166- Clear pricing comparison table167- Highlight value advantages (not just lowest price)168- Include hidden costs (setup fees, per-user pricing, overage charges)169- Link to full pricing page170171### Trust Signals172- "Last updated [date]" timestamp173- Author with relevant expertise174- Methodology disclosure (how comparisons were conducted)175- Disclosure of own product affiliation176177## Fairness Guidelines178179- **Accuracy**: All competitor information must be verifiable from public sources180- **No defamation**: Never make false or misleading claims about competitors181- **Cite sources**: Link to competitor websites, review sites, or documentation182- **Timely updates**: Review and update when competitors release major changes183- **Disclose affiliation**: Clearly state which product is yours184- **Balanced presentation**: Acknowledge competitor strengths honestly185- **Pricing accuracy**: Include "as of [date]" disclaimers on all pricing data186- **Feature verification**: Test competitor features where possible, cite documentation otherwise187188## Internal Linking189190- Link to your own product/service pages from comparison sections191- Cross-link between related comparison pages (e.g., "A vs B" links to "A vs C")192- Link to feature-specific pages when discussing individual features193- Breadcrumb: Home > Comparisons > [This Page]194- Related comparisons section at bottom of page195- Link to case studies and testimonials mentioned in the comparison196197## Output198199### Comparison Page Template200- `COMPARISON-PAGE.md`: Ready-to-implement page structure with sections201- Feature matrix table202- Content outline with word count targets (minimum 1,500 words)203204### Schema Markup205- `comparison-schema.json`: Product/SoftwareApplication/ItemList JSON-LD206207### Keyword Strategy208- Primary and secondary keywords209- Related long-tail opportunities210- Content gaps vs existing competitor pages211212### Recommendations213- Content improvements for existing comparison pages214- New comparison page opportunities215- Schema markup additions216- Conversion optimization suggestions217218## Error Handling219220| Scenario | Action |221|----------|--------|222| Competitor URL unreachable | Report which competitor URLs failed. Proceed with available data and note gaps in the comparison. |223| Insufficient competitor data (pricing, features unavailable) | Flag missing data points clearly. Use "Not publicly available" in comparison tables rather than guessing. |224| 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. |225226## Write to shared data cache227228After completing all work, write a concise JSON summary to `.seo-cache/` when the workflow produced durable findings.229Use the schemas and naming rules in `../seo/references/shared-data-cache.md`; include at least `cache_type`, `analyzed_at`, source URL/domain, key findings, issues, recommendations, and tool limitations. Add `.seo-cache/` to `.gitignore` if it is missing.