SEO Optimization Plan: codewithfabric.com
Goal: Maximize organic traffic and AI search visibility for Fabric's AI Coding IDE Current state: Strong product, weak SEO — zero structured data, no sitemap, missing meta on key pages, invisible to AI search engines, absent from every competitor comparison article Timeline: 6-week sprint + ongoing monthly cadence
The Problem
Fabric has a genuine product differentiator — transparent AI reasoning ("see AI think"), air-gapped enterprise deployment, multimodal IDE — but none of this is visible to search engines or AI assistants. Meanwhile:
- Cursor owns "AI IDE" (1M+ users, $1B+ ARR)
- Copilot owns "AI pair programmer" (4.7M paid subscribers)
- Windsurf owns "agentic IDE" (1M+ users, 59% Fortune 500)
- Fabric is mentioned in zero comparison articles, zero AI assistant recommendations
The site has 27+ pages but only 1 blog post, no sitemap, no structured data, and broken social share previews. This plan fixes the foundation, then builds the content moat.
Strategy Overview
The strategy has 5 phases executed over 6 weeks, with each phase building on the previous. Every phase maps to specific SEO skills installed in this project.
Phase 1: Technical Foundation (Week 1)
Skills: /seo-audit → /schema-gen → /meta-optimizer
The site has critical technical gaps that prevent search engines from properly indexing and understanding content. Fix these before any content work.
1.1 Run Full Technical Audit
Run /seo-audit codewithfabric.com to get baseline scores across all 10 categories. This produces an A-F scorecard and prioritized fix list.
Expected findings (from our manual audit):
| Category | Expected Grade | Key Issue |
|---|---|---|
| Crawlability | D | No sitemap.xml (404), no robots.txt from app |
| On-Page SEO | C | Missing metadata on 6+ pages, title too short (21 chars) |
| Structured Data | F | Zero JSON-LD on homepage, no Organization/WebSite schema |
| Internal Linking | C | Orphan pages, no breadcrumbs, pricing is an anchor not a page |
| AI Search Readiness | F | Blocking ClaudeBot, no citation-ready content blocks |
| Mobile | B+ | Next.js responsive by default, needs viewport verification |
| Core Web Vitals | B | Next.js Image optimization in place, font optimized |
1.2 Fix Critical Technical Issues
| Fix | File(s) | Effort |
|---|---|---|
Create sitemap.ts |
src/app/sitemap.ts |
30 min |
Create robots.ts |
src/app/robots.ts |
15 min |
Set metadataBase in root layout |
src/app/layout.tsx |
5 min |
| Add canonical URLs to all pages | All page.tsx files |
30 min |
| Fix www 307 → 301 redirect | Vercel config or next.config.ts |
15 min |
Add apple-touch-icon |
src/app/layout.tsx + public/ |
10 min |
Sitemap must include: - All marketing pages (/, /features, /use-cases, /contact) - All blog posts (dynamic from DB) - All changelog entries (dynamic from DB) - JP locale versions (/jp, /jp/features, etc.) - /claw (All You Can Claw) - Exclude: /admin/, /dashboard/, /signin, /signup, auth pages
robots.ts considerations:
- Cloudflare currently manages robots.txt with AI bot blocking
- Next.js robots.ts may be overridden — need to test precedence
- Alternative: Add Sitemap: directive via Cloudflare rules
1.3 Add Structured Data (JSON-LD)
Run /schema-gen for each page type:
| Page | Schema Types | Priority |
|---|---|---|
| Homepage | Organization + WebSite + SoftwareApplication |
Critical |
| /features | SoftwareApplication + FAQPage |
High |
| /use-cases | FAQPage |
High |
| /contact | Organization + ContactPage |
Medium |
| /blog/[slug] | Article (already exists — verify) |
Verify |
| /changelog/[slug] | Article (already exists — verify) |
Verify |
| /claw | Product + Offer |
Medium |
| /pricing (new) | Product + Offer + FAQPage |
High |
SoftwareApplication schema (homepage):
- name: Fabric
- applicationCategory: DeveloperApplication
- operatingSystem: macOS, Windows, Linux
- offers: Free (BYOK), $49/mo, $100/mo, Enterprise
- aggregateRating: (if available)
1.4 Optimize Meta Tags
Run /meta-optimizer in batch mode across all pages:
| Page | Current Title | Proposed Title | Chars |
|---|---|---|---|
| Home | Fabric - AI Coding IDE | Fabric - AI Coding IDE That Shows You How AI Thinks | 52 |
| /features | (missing) | Fabric Features - Agentic AI, Multimodal, Air-Gapped IDE | 57 |
| /use-cases | (missing) | AI IDE Use Cases - Enterprise, Developer, Batch Processing | 58 |
| /contact | (missing) | Contact Fabric - AI Coding IDE Sales & Support | 48 |
| /changelog | Changelog | Fabric | Fabric Changelog - Latest AI IDE Updates & Releases | 51 |
| /claw | All You Can Claw | Fabric | All You Can Claw - Unlimited AI API Access from $9.99 | 54 |
Also fix:
- OG descriptions truncated (align with full meta description)
- Twitter card tags showing homepage values on changelog (bug)
- Add twitter:site handle (need handle from Ryan)
- Add og:image to all pages (need branded 1200x630 image)
1.5 Create OG Image
Two options:
1. Static: Design a branded 1200x630 image for social sharing
2. Dynamic: Use Next.js ImageResponse API for per-page OG images with title/description overlay
Recommend dynamic for blog/changelog posts, static for marketing pages.
Phase 2: Keyword Strategy & Content Architecture (Week 2)
Skills: /keyword-cluster → /cannibalization → /internal-links
2.1 Keyword Research & Clustering
Run /keyword-cluster with these seed keyword lists:
Tier 1 — High-Intent Product Keywords: | Keyword | Est. Volume | Intent | Competition | |---------|------------|--------|-------------| | AI coding IDE | High | Navigational | Very High (Cursor dominates) | | AI code editor | High | Navigational | Very High | | cursor alternative | Very High | Commercial | Medium (listicle content) | | copilot alternative | Very High | Commercial | Medium | | windsurf alternative | Medium | Commercial | Low (emerging) | | AI IDE enterprise | Medium | Commercial | Low | | air gapped AI IDE | Low | Transactional | Very Low | | on premise AI coding tool | Low | Transactional | Very Low |
Tier 2 — Category Keywords: | Keyword | Intent | Content Type | |---------|--------|-------------| | best AI coding tools 2026 | Commercial | Listicle | | AI IDE comparison | Commercial | Comparison | | vibe coding | Informational | Explainer | | AI coding agent | Informational | Explainer | | multimodal AI IDE | Navigational | Product page |
Tier 3 — Long-Tail / Pain Points: | Keyword | Intent | Content Type | |---------|--------|-------------| | AI code quality technical debt | Informational | Blog | | AI IDE data privacy security | Commercial | Landing page | | how to use AI for coding | Informational | Tutorial | | AI coding tools for enterprise | Commercial | Landing page |
2.2 Content Architecture — New Pages Needed
Based on competitive research, these pages are missing and high-impact:
Comparison Hub (/compare/)
| Page | Target Keyword | Rationale |
|---|---|---|
/compare/cursor |
cursor alternative | Cursor's pricing backlash drives huge "alternative" search volume |
/compare/copilot |
copilot alternative | Copilot can't do air-gapped. Fabric's biggest wedge. |
/compare/windsurf |
windsurf alternative | Emerging query, low competition, first-mover advantage |
/compare (hub) |
AI IDE comparison | Hub page linking to all comparisons |
Pricing Page (/pricing)
- Currently pricing is an anchor link on homepage — not indexable
- Competitors all have standalone pricing pages
- Target: "fabric pricing", "AI IDE pricing"
- Include
Product+Offer+FAQPageschema
Enterprise Landing Page (/enterprise)
- Air-gapped deployment, zero data retention, on-premise
- Target: "enterprise AI IDE", "air gapped AI IDE", "on premise AI coding"
- Almost ZERO competition for these terms
- Include case studies, security certifications, compliance info
2.3 Cannibalization Check
Run /cannibalization codewithfabric.com to check:
- Homepage vs /features (both target "AI IDE" terms)
- /claw vs /pricing (both have pricing content)
- Blog posts vs changelog (content overlap risk as blog grows)
2.4 Internal Linking Audit
Run /internal-links codewithfabric.com:
Known issues:
- /claw is isolated (own nav, not linked from main site)
- /pricing doesn't exist (anchor link to homepage section)
- Blog has 1 post — no internal link graph yet
- No breadcrumb navigation
Implement:
- Breadcrumb component for all pages (with BreadcrumbList schema)
- Cross-link from blog posts → features/use-cases
- Footer link to /pricing, /compare, /enterprise (when created)
- Hub-spoke model: /compare (hub) → individual comparison pages (spokes)
Phase 3: Content Production (Weeks 3-4)
Skills: /content-brief → /meta-optimizer → /schema-gen
3.1 Priority Content Queue
Run /content-brief for each piece. Ordered by impact:
| # | Content | Type | Target Keyword | Est. Impact |
|---|---|---|---|---|
| 1 | Cursor vs Fabric comparison | Comparison | cursor alternative | Very High |
| 2 | Copilot vs Fabric comparison | Comparison | copilot alternative | Very High |
| 3 | Enterprise AI IDE landing page | Landing | enterprise AI IDE | High |
| 4 | Standalone pricing page | Product | AI IDE pricing | High |
| 5 | Best AI Coding Tools 2026 | Listicle | best AI coding tools 2026 | High |
| 6 | Windsurf vs Fabric comparison | Comparison | windsurf alternative | Medium |
| 7 | What is Vibe Coding (and why Fabric does it better) | Explainer | vibe coding | Medium |
| 8 | Air-Gapped AI IDE Guide | Tutorial | air gapped AI IDE | Medium |
| 9 | How AI Thinks: Fabric's Transparent Reasoning | Thought leadership | - | Medium |
| 10 | Getting Started with Fabric | Tutorial | how to use fabric IDE | Medium |
3.2 Content Brief Requirements
Each brief from /content-brief will include:
- SERP landscape analysis (top 5 competing articles)
- Article structure (H1/H2/H3 skeleton)
- AEO citation blocks (50-70 word extractable summaries per section)
- Internal linking plan (3-5 bidirectional links)
- E-E-A-T requirements (screenshots, benchmarks, credentials)
- Schema types to implement
- Meta tags (title, description, OG)
3.3 Comparison Page Template
Every /compare/[competitor] page should follow this structure:
H1: Fabric vs [Competitor]: Which AI IDE Is Right for You?
Section 1: Quick Comparison Table (feature matrix)
→ FAQPage schema
→ Citation block: "Fabric is an AI coding IDE that [key differentiator]..."
Section 2: Where Fabric Wins
→ Air-gapped deployment (if Copilot/Cursor)
→ Transparent AI reasoning
→ Multimodal capabilities
Section 3: Where [Competitor] Wins
→ Honest assessment (builds trust/E-E-A-T)
Section 4: Pricing Comparison
→ Product+Offer schema
Section 5: FAQ
→ FAQPage schema
→ Common questions from Reddit/forums
CTA: Try Fabric Free
3.4 FAQ Content Strategy
Add FAQ sections to existing pages (these are gold for AI citations):
| Page | FAQ Topics |
|---|---|
| Homepage | What is Fabric? How is it different from Cursor? Is it free? |
| /features | Does Fabric work offline? What models does it support? |
| /use-cases | Can Fabric work with legacy code? Enterprise deployment? |
| /pricing (new) | What's included in free? Can I bring my own API key? |
| /enterprise (new) | Air-gapped deployment? SOC2? Data retention? |
Phase 4: AI Search Visibility (Week 5)
Skills: /ai-visibility → /content-brief (AEO blocks) → /schema-gen
4.1 AI Bot Access Audit
Run /ai-visibility codewithfabric.com with:
- Brand: Fabric, codewithfabric.com
- Queries: 20 target queries (branded + non-branded)
- Competitors: cursor.com, github.com/copilot, windsurf.com, replit.com, bolt.new
Current bot access (from Cloudflare robots.txt):
| Bot | Status | Impact |
|---|---|---|
| ClaudeBot | BLOCKED | Cannot be cited in Claude search results |
| GPTBot | BLOCKED | Cannot be cited in ChatGPT |
| Google-Extended | BLOCKED | May affect AI Overviews |
| Googlebot | ALLOWED | Standard search indexing works |
| Bingbot | ALLOWED | Copilot/ChatGPT can use cached content |
| PerplexityBot | BLOCKED | Cannot be cited in Perplexity |
Critical decision needed: Currently blocking all AI crawlers. This prevents AI training (good) but ALSO prevents citation in AI search results (bad). Options:
- Unblock all — Maximum AI visibility, but content used for training
- Selective unblock — Allow ChatGPT-User (live search) but block GPTBot (training). Allow PerplexityBot. Keep Google-Extended blocked.
- Keep blocked — Accept zero AI citations, focus only on traditional search
Recommendation: Option 2 (selective unblock). Separate training bots from search bots.
4.2 Citation-Ready Content Blocks
For every key page, add citation blocks — self-contained 50-70 word paragraphs that AI engines can extract verbatim:
Example for homepage:
Fabric is an AI coding IDE that makes AI reasoning transparent to developers. Unlike black-box AI assistants, Fabric shows how AI thinks through problems before generating code, giving developers full visibility into the AI's decision-making process. Available for macOS, Windows, and Linux with air-gapped enterprise deployment options.
Princeton GEO research shows: - Adding citations to content: +40% citation likelihood - Including statistics: +37% citation likelihood - Adding expert quotes: +30% citation likelihood - Structured content (headings, bullets): Outperforms dense paragraphs
4.3 Content Extractability Checklist
For each page, ensure: - [ ] Definition block in first 100 words - [ ] Comparison tables (not images) - [ ] Numbered steps for any process - [ ] Statistics with sources - [ ] FAQ sections with visible Q&A - [ ] Entity definitions (what is Fabric, what is agentic coding, etc.) - [ ] Heading-answer pairs (H2 is question, first paragraph answers it)
Phase 5: Measurement & Iteration (Week 6 + Ongoing)
5.1 Baseline Metrics to Track
| Metric | Tool | Frequency |
|---|---|---|
| Organic traffic | Google Analytics / Vercel Analytics | Weekly |
| Indexed pages | Google Search Console | Weekly |
| Keyword rankings | GSC or Ahrefs/Semrush | Weekly |
| AI citation presence | /ai-visibility re-run |
Monthly |
| Schema validation | Google Rich Results Test | After each deploy |
| Core Web Vitals | PageSpeed Insights / GSC | Monthly |
| Backlinks | Ahrefs/Semrush | Monthly |
| Click-through rate | GSC | Weekly |
5.2 Monthly Cadence
| Week | Activity | Skill |
|---|---|---|
| Week 1 | Publish 2 new content pieces | /content-brief |
| Week 2 | Run cannibalization check | /cannibalization |
| Week 3 | Internal link optimization | /internal-links |
| Week 4 | AI visibility re-audit | /ai-visibility |
5.3 Quarterly Activities
- Full
/seo-auditre-run - Keyword cluster refresh with new GSC data
- Competitor comparison page updates
- Schema markup validation
- Meta tag A/B testing on high-traffic pages
Execution Roadmap
Skill Dependency Map
The 8 SEO skills feed into each other in a specific workflow:
Quick Wins (< 30 min each, do first)
These can be done immediately without waiting for the full plan:
- Set
metadataBasein root layout → 5 min - Create
sitemap.tswith all public routes → 30 min - Create
robots.tswith Sitemap directive → 15 min - Add
og:imagestatic branded image to all pages → 20 min - Fix Twitter meta bug on changelog page → 10 min
- Add
OrganizationJSON-LD to root layout → 15 min - Add canonical URLs to marketing pages → 20 min
Total quick wins: ~2 hours for foundation that enables everything else.
Risks & Mitigations
| Risk | Impact | Mitigation |
|---|---|---|
| Cloudflare robots.txt overrides Next.js robots.ts | Sitemap directive not served | Test both; may need Cloudflare Page Rule |
| AI bot unblocking enables training on content | IP concern | Use selective unblock (search bots only) |
| Comparison pages seen as aggressive by competitors | Brand risk | Be honest and fair in comparisons (boosts E-E-A-T) |
| Low blog volume (1 post) limits content strategy | Slow keyword coverage | Prioritize comparison pages first (higher conversion intent) |
| JP locale hreflang adds complexity | Duplicate content risk | Implement hreflang correctly or defer until JP is fully live |
| www → non-www 307 redirect | Link equity dilution | Change to 301 in Vercel settings |
SOLID Analysis
- Single Responsibility: Each phase handles one concern (technical → keywords → content → AI → measurement). Schema, meta, and sitemap are separate files, not bundled.
- Open/Closed: Comparison page template is extensible — add new competitors without modifying existing pages. Schema generation uses composable JSON-LD blocks.
- Liskov Substitution: N/A for content strategy.
- Interface Segregation: Each SEO skill has a focused interface —
/meta-optimizerdoesn't touch schema,/schema-gendoesn't touch meta tags. No bloated "do everything" skill. - Dependency Inversion: Content strategy depends on keyword data (abstraction), not specific keyword tools. Can swap Ahrefs → Semrush → GSC without changing the plan.
No violations found. The phased approach naturally enforces SOLID principles.
Expected Outcomes (6 months)
| Metric | Current | Target (3 mo) | Target (6 mo) |
|---|---|---|---|
| Indexed pages | ~10 | 30+ | 50+ |
| Organic traffic | Minimal | 2-3x baseline | 5-10x baseline |
| AI citations | 0 platforms | 2-3 platforms | 4-5 platforms |
| "Cursor alternative" ranking | Not ranking | Page 2-3 | Page 1 |
| Comparison article mentions | 0 | 3-5 articles | 10+ articles |
| Schema types implemented | 0 | 5+ | 8+ |
| Blog posts | 1 | 8-10 | 20+ |



