seo-optimize
> Data-driven SEO optimization: CTR repair sprints, internal linking optimization, schema markup enhancement, AEO adaptation (AI citation optimization), and
npx skills add seo-optimize
Data-Driven SEO Optimization
Core Principle: Measure → Change → Measure → Keep/Revert
Every optimization must be:
- Based on GSC data (not guessing)
- Limited to 1-2 changes per day (measurable)
- Verified after 3-7 days
- Reverted if no improvement
1. CTR Repair Sprint
CTR Benchmarks by Position (2026)
Without AI Overviews:| Position | Expected CTR | Action if below |
|---|---|---|
| 1 | 39.8% | Title needs stronger hook |
| 2 | 18.7% | Title differentiation |
| 3 | 10.2% | Add numbers/brackets to title |
| 4 | 7.2% | Content refresh to move up |
| 5 | 5.1% | Internal linking boost |
| 6-10 | 1.6-4.4% | Major content expansion |
| 11-20 | 0.5-1.5% | Need to break into page 1 |
- Position 1 drops to 13-20% (50%+ reduction)
- Positions 6-10 get 30% MORE clicks (users scroll past AI answers)
CTR Repair Process
# Step 1: Get fresh GSC data
cd ~/skillboss && npx tsx scripts/seo/collect-gsc-data.ts
Step 2: Read 7-day data
cat reports/seo/data/gsc-7d-latest.json
Step 3: Find wasted impressions
Priority Score = impressions × (benchmark_CTR - actual_CTR)
Example:
Page: /docs/blog/claude-code-alternatives
Impressions: 2,393
Position: 11.4
Actual CTR: 0.1%
Benchmark CTR for position 11: ~1%
Wasted clicks: 2,393 × (1% - 0.1%) = ~21 clicks/month
Step 4: Fix title and description
Title best practices:
- ≤ 60 characters
- Include a number: "8 Tools", "6 APIs", "$0.27/M"
- Include year: "2026"
- Add bracket hook: "(Free Options)", "(Cheaper)", "(Updated)"
- Put primary keyword first
- ≤ 155 characters
- First 60 characters must have value proposition
- Include specific tool names (matches search terms)
- End with CTA: "Compare now", "See pricing"
- CTR improved → Keep
- No change → Try different angle
- CTR dropped → Revert immediately
2. Internal Linking Optimization
PageRank Flow Strategy
Homepage (highest authority)
├── /alternatives/ hub → individual alternative pages
├── /compare/ hub → individual compare pages
├── /pricing → pricing sub-pages
├── /use/ → model pages (auto-generated)
└── /blog/ → blog posts
Rules
- Every page: ≥ 3 incoming internal links, ≤ 100 outgoing links
- New pages: add to Related Resources of 3+ existing high-traffic pages
- Hub pages (/alternatives/, /compare/): link to ALL child pages
- Cross-link between related pages (cursor-alternatives ↔ claude-code-alternatives)
Internal Link Audit Command
# Find pages with zero internal links
cd ~/skillboss
grep -rn "href=\"/alternatives/" app/[locale]/ --include=".tsx" | \
sed 's/.href="//' | sed 's/".//' | sort | uniq -c | sort -rn
3. Schema Markup Enhancement
Phased Rollout
| Phase | Schema | Pages | Status |
|---|---|---|---|
| 1 | FAQPage + BreadcrumbList | All /alternatives/ and /compare/ | ✅ Done |
| 2 | WebAPI + HowTo | /use/ pages | TODO |
| 3 | Product + AggregateOffer | /pricing | Partial |
| 4 | Article + Person | /blog/ posts | TODO |
| 5 | Organization + SameAs | Site-wide | TODO |
| 6 | Speakable | Answer-first sections | TODO |
Schema Validation
# Test structured data
curl "https://validator.schema.org/" # Manual check
Or use Google Rich Results Test API
4. AEO Optimization (Ethan Smith / Profound Framework)
The 3 Channels That Drive AI Citations
| Channel | Correlation with AI visibility | Action |
|---|---|---|
| YouTube | 0.737 (strongest) | Create technical how-to videos |
| High | Genuine comments in r/LocalLLaMA, r/ClaudeAI, r/Cursor | |
| Wikipedia | High | Get One Person Company AI mentioned in relevant articles |
| Moderate | Thought leadership posts | |
| Backlinks (DR) | 0.266 (weak) | Less important than brand mentions |
On-Page AEO Checklist
Every page must have:
- [ ] Answer-first paragraph — Direct answer in first 40-60 words
- [ ] Optimal citation passages — Key sections 134-167 words (sweet spot for AI extraction)
- [ ] Comparison tables — AI parses tables better than prose
- [ ] Sourced claims — "According to [Source] (2026)..." increases citation trust
- [ ] FAQ section — Highly extractable by AI (G2: +25 ranking keywords, +42% citation position)
- [ ] Updated date — AI prefers fresh content (citations drop after 3 months)
- [ ] Markdown endpoint — G2 experiment: rendering markdown for LLMs = +300% citations
- [ ] First-person expert voice — G2: "1st person language where expert tests/evaluates → LLMs love authentic content"
AEO Maturity Assessment (Webflow framework)
| Level | 我们的状态 | 差距 |
|---|---|---|
| 1 Keywords + Backlinks | ✅ 有 26+ SEO 页面 | — |
| 2 Answers + E-E-A-T | ✅ FAQ/schema/answer-first | — |
| 3 Structure + Digital PR + Reddit | ⚠️ 缺 Reddit/YouTube | 需要 off-site 策略 |
| 4 Thought Leadership | ❌ | 需要 expert content + visual storytelling |
| 5 Widespread Citations | ❌ | 需要多平台品牌一致性 |
Content Refresh System (Assembly AI 4-layer model)
1. Grounding Layer — Brand kit + approved data + real API docs
- SERP Intelligence — Live Google + PAA + competitor headers + gap analysis
- Human Review Gates — HITL checkpoints before major changes
- Code Validation — Test all code examples against real API (no broken code ships)
Result: 5x refresh speed, +42% traffic, +14% signups
Technical AEO Checklist
- [ ]
robots.txtallows: OAI-SearchBot, PerplexityBot, Google-Extended, ClaudeBot (already done) - [ ]
llms.txtat root — AI-readable content index (already done, 8.9K) - [ ]
llms-full.txt— Complete content for LLM ingestion (already done, 165K) - [ ]
ai-plugin.json— OpenAI plugin manifest (already done) - [ ] SSR/SSG for all revenue pages — AI crawlers don't execute JS (already done)
- [ ] No Cloudflare bot blocking on AI crawlers (verify monthly)
AEO Citation Tracking
# Run citation tracker
cd ~/skillboss && npx tsx scripts/seo/track-aeo-citations.ts
Monitor:
- Which queries mention One Person Company AI in ChatGPT/Perplexity/AI Overviews
- Which competitors are cited more often
- Which of our pages are being cited (optimize those further)
The Fan-Out Optimization
For every target query, ensure we rank for ALL sub-queries AI will search:
"best AI API gateway" → we have /blog/best-ai-api-gateway-2026 ✅
→ "AI API pricing" → we have /pricing ✅
→ "OpenRouter alternative" → we have /alternatives/openrouter ✅
→ "SkillBoss reviews" → we need more off-page mentions ⚠️
5. Index Recovery
Process
# Step 1: Check indexing status
cd ~/skillboss && npx tsx scripts/seo/check-indexing.ts
Step 2: Read results
cat reports/seo/indexing-status-.md | tail -1
Common issues and fixes:
| Issue | Fix |
|---|---|
| URL unknown to Google | Submit sitemap + request indexing via GSC |
| 404 | Create redirect or restore page |
| Duplicate content | Add canonical tag to preferred version |
| Crawled but not indexed | Improve content quality (thin content) |
| Blocked by robots.txt | Update robots.txt |
| Noindex tag | Remove noindex |
Index Recovery Priority
- Revenue pages (pricing, use, console) — fix immediately
- High-search-volume targets (/alternatives/, /compare/) — fix same day
- Supporting content (/blog/) — fix within a week
- Low-priority pages — batch fix monthly
Daily Optimization Cadence
10:00 AM — Read GSC 7-day data
10:10 AM — Identify top 1-2 optimization opportunities
10:20 AM — Execute changes (title/desc, internal links, or schema)
10:30 AM — Verify changes deployed correctly
Pick ONE focus per day:
- Monday: CTR repair
- Tuesday: New page internal linking
- Wednesday: Schema markup
- Thursday: Index recovery
- Friday: AEO citation review + content freshness