New skills (14): - nestjs-best-practices: 40 priority-ranked rules (kadajett) - fastapi: Pydantic v2, async SQLAlchemy, JWT auth (jezweb) - architecture-patterns: Clean Architecture, Hexagonal, DDD (wshobson) - python-performance-optimization: Profiling and optimization (wshobson) - ai-sdk: Vercel AI SDK streaming and agent patterns (vercel) - create-agent: Modular agent architecture with OpenRouter (openrouterteam) - proactive-agent: WAL Protocol, compaction recovery, self-improvement (halthelobster) - brand-guidelines: Brand identity enforcement (anthropics) - ui-animation: Motion design with accessibility (mblode) - marketing-ideas: 139 ideas across 14 categories (coreyhaines31) - pricing-strategy: SaaS pricing and tier design (coreyhaines31) - programmatic-seo: SEO at scale with playbooks (coreyhaines31) - competitor-alternatives: Comparison page architecture (coreyhaines31) - referral-program: Referral and affiliate programs (coreyhaines31) README reorganized by domain: Code Quality, Frontend, Backend, Auth, AI/Agent Building, Marketing, Design, Meta. Mosaic Stack is not limited to coding — the Orchestrator serves coding, business, design, marketing, writing, logistics, and analysis. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
264 lines
7.2 KiB
Markdown
264 lines
7.2 KiB
Markdown
# Content Architecture for Competitor Pages
|
|
|
|
How to structure and maintain competitor data for scalable comparison pages.
|
|
|
|
## Centralized Competitor Data
|
|
|
|
Create a single source of truth for each competitor:
|
|
|
|
```
|
|
competitor_data/
|
|
├── notion.md
|
|
├── airtable.md
|
|
├── monday.md
|
|
└── ...
|
|
```
|
|
|
|
---
|
|
|
|
## Competitor Data Template
|
|
|
|
Per competitor, document:
|
|
|
|
```yaml
|
|
name: Notion
|
|
website: notion.so
|
|
tagline: "The all-in-one workspace"
|
|
founded: 2016
|
|
headquarters: San Francisco
|
|
|
|
# Positioning
|
|
primary_use_case: "docs + light databases"
|
|
target_audience: "teams wanting flexible workspace"
|
|
market_position: "premium, feature-rich"
|
|
|
|
# Pricing
|
|
pricing_model: per-seat
|
|
free_tier: true
|
|
free_tier_limits: "limited blocks, 1 user"
|
|
starter_price: $8/user/month
|
|
business_price: $15/user/month
|
|
enterprise: custom
|
|
|
|
# Features (rate 1-5 or describe)
|
|
features:
|
|
documents: 5
|
|
databases: 4
|
|
project_management: 3
|
|
collaboration: 4
|
|
integrations: 3
|
|
mobile_app: 3
|
|
offline_mode: 2
|
|
api: 4
|
|
|
|
# Strengths (be honest)
|
|
strengths:
|
|
- Extremely flexible and customizable
|
|
- Beautiful, modern interface
|
|
- Strong template ecosystem
|
|
- Active community
|
|
|
|
# Weaknesses (be fair)
|
|
weaknesses:
|
|
- Can be slow with large databases
|
|
- Learning curve for advanced features
|
|
- Limited automations compared to dedicated tools
|
|
- Offline mode is limited
|
|
|
|
# Best for
|
|
best_for:
|
|
- Teams wanting all-in-one workspace
|
|
- Content-heavy workflows
|
|
- Documentation-first teams
|
|
- Startups and small teams
|
|
|
|
# Not ideal for
|
|
not_ideal_for:
|
|
- Complex project management needs
|
|
- Large databases (1000s of rows)
|
|
- Teams needing robust offline
|
|
- Enterprise with strict compliance
|
|
|
|
# Common complaints (from reviews)
|
|
common_complaints:
|
|
- "Gets slow with lots of content"
|
|
- "Hard to find things as workspace grows"
|
|
- "Mobile app is clunky"
|
|
|
|
# Migration notes
|
|
migration_from:
|
|
difficulty: medium
|
|
data_export: "Markdown, CSV, HTML"
|
|
what_transfers: "Pages, databases"
|
|
what_doesnt: "Automations, integrations setup"
|
|
time_estimate: "1-3 days for small team"
|
|
```
|
|
|
|
---
|
|
|
|
## Your Product Data
|
|
|
|
Same structure for yourself—be honest:
|
|
|
|
```yaml
|
|
name: [Your Product]
|
|
# ... same fields
|
|
|
|
strengths:
|
|
- [Your real strengths]
|
|
|
|
weaknesses:
|
|
- [Your honest weaknesses]
|
|
|
|
best_for:
|
|
- [Your ideal customers]
|
|
|
|
not_ideal_for:
|
|
- [Who should use something else]
|
|
```
|
|
|
|
---
|
|
|
|
## Page Generation
|
|
|
|
Each page pulls from centralized data:
|
|
|
|
- **[Competitor] Alternative page**: Pulls competitor data + your data
|
|
- **[Competitor] Alternatives page**: Pulls competitor data + your data + other alternatives
|
|
- **You vs [Competitor] page**: Pulls your data + competitor data
|
|
- **[A] vs [B] page**: Pulls both competitor data + your data
|
|
|
|
**Benefits**:
|
|
- Update competitor pricing once, updates everywhere
|
|
- Add new feature comparison once, appears on all pages
|
|
- Consistent accuracy across pages
|
|
- Easier to maintain at scale
|
|
|
|
---
|
|
|
|
## Index Page Structure
|
|
|
|
### Alternatives Index
|
|
|
|
**URL**: `/alternatives` or `/alternatives/index`
|
|
|
|
**Purpose**: Lists all "[Competitor] Alternative" pages
|
|
|
|
**Page structure**:
|
|
1. Headline: "[Your Product] as an Alternative"
|
|
2. Brief intro on why people switch to you
|
|
3. List of all alternative pages with:
|
|
- Competitor name/logo
|
|
- One-line summary of key differentiator vs. that competitor
|
|
- Link to full comparison
|
|
4. Common reasons people switch (aggregated)
|
|
5. CTA
|
|
|
|
**Example**:
|
|
```markdown
|
|
## Explore [Your Product] as an Alternative
|
|
|
|
Looking to switch? See how [Your Product] compares to the tools you're evaluating:
|
|
|
|
- **[Notion Alternative](/alternatives/notion)** — Better for teams who need [X]
|
|
- **[Airtable Alternative](/alternatives/airtable)** — Better for teams who need [Y]
|
|
- **[Monday Alternative](/alternatives/monday)** — Better for teams who need [Z]
|
|
```
|
|
|
|
---
|
|
|
|
### Vs Comparisons Index
|
|
|
|
**URL**: `/vs` or `/compare`
|
|
|
|
**Purpose**: Lists all "You vs [Competitor]" and "[A] vs [B]" pages
|
|
|
|
**Page structure**:
|
|
1. Headline: "Compare [Your Product]"
|
|
2. Section: "[Your Product] vs Competitors" — list of direct comparisons
|
|
3. Section: "Head-to-Head Comparisons" — list of [A] vs [B] pages
|
|
4. Brief methodology note
|
|
5. CTA
|
|
|
|
---
|
|
|
|
### Index Page Best Practices
|
|
|
|
**Keep them updated**: When you add a new comparison page, add it to the relevant index.
|
|
|
|
**Internal linking**:
|
|
- Link from index → individual pages
|
|
- Link from individual pages → back to index
|
|
- Cross-link between related comparisons
|
|
|
|
**SEO value**:
|
|
- Index pages can rank for broad terms like "project management tool comparisons"
|
|
- Pass link equity to individual comparison pages
|
|
- Help search engines discover all comparison content
|
|
|
|
**Sorting options**:
|
|
- By popularity (search volume)
|
|
- Alphabetically
|
|
- By category/use case
|
|
- By date added (show freshness)
|
|
|
|
**Include on index pages**:
|
|
- Last updated date for credibility
|
|
- Number of pages/comparisons available
|
|
- Quick filters if you have many comparisons
|
|
|
|
---
|
|
|
|
## Footer Navigation
|
|
|
|
The site footer appears on all marketing pages, making it a powerful internal linking opportunity for competitor pages.
|
|
|
|
### Option 1: Link to Index Pages (Minimum)
|
|
|
|
At minimum, add links to your comparison index pages in the footer:
|
|
|
|
```
|
|
Footer
|
|
├── Compare
|
|
│ ├── Alternatives → /alternatives
|
|
│ └── Comparisons → /vs
|
|
```
|
|
|
|
This ensures every marketing page passes link equity to your comparison content hub.
|
|
|
|
### Option 2: Footer Columns by Format (Recommended for SEO)
|
|
|
|
For stronger internal linking, create dedicated footer columns for each format you've built, linking directly to your top competitors:
|
|
|
|
```
|
|
Footer
|
|
├── [Product] vs ├── Alternatives to ├── Compare
|
|
│ ├── vs Notion │ ├── Notion Alternative │ ├── Notion vs Airtable
|
|
│ ├── vs Airtable │ ├── Airtable Alternative │ ├── Monday vs Asana
|
|
│ ├── vs Monday │ ├── Monday Alternative │ ├── Notion vs Monday
|
|
│ ├── vs Asana │ ├── Asana Alternative │ ├── ...
|
|
│ ├── vs Clickup │ ├── Clickup Alternative │ └── View all →
|
|
│ ├── ... │ ├── ... │
|
|
│ └── View all → │ └── View all → │
|
|
```
|
|
|
|
**Guidelines**:
|
|
- Include up to 8 links per column (top competitors by search volume)
|
|
- Add "View all" link to the full index page
|
|
- Only create columns for formats you've actually built pages for
|
|
- Prioritize competitors with highest search volume
|
|
|
|
### Why Footer Links Matter
|
|
|
|
1. **Sitewide distribution**: Footer links appear on every marketing page, passing link equity from your entire site to comparison content
|
|
2. **Crawl efficiency**: Search engines discover all comparison pages quickly
|
|
3. **User discovery**: Visitors evaluating your product can easily find comparisons
|
|
4. **Competitive positioning**: Signals to search engines that you're a key player in the space
|
|
|
|
### Implementation Notes
|
|
|
|
- Update footer when adding new high-priority comparison pages
|
|
- Keep footer clean—don't list every comparison, just the top ones
|
|
- Match column headers to your URL structure (e.g., "vs" column → `/vs/` URLs)
|
|
- Consider mobile: columns may stack, so order by priority
|