Skip to content

feat(web): fix critical SEO issues and add AI-friendly infrastructure#23

Merged
davidlu1001 merged 3 commits intomainfrom
claude/sovereign-engineer-protocol-2yqSI
Jan 20, 2026
Merged

feat(web): fix critical SEO issues and add AI-friendly infrastructure#23
davidlu1001 merged 3 commits intomainfrom
claude/sovereign-engineer-protocol-2yqSI

Conversation

@davidlu1001
Copy link
Contributor

  • Fix canonical URL bug: use './' instead of '/' so each page gets correct canonical
  • Add sitemap.ts with 11 URLs (core, docs, legal pages)
  • Add robots.ts with AI bot rules (GPTBot, ClaudeBot, PerplexityBot, etc.)
  • Enhance metadata with metadataBase, googleBot settings, category
  • Upgrade JSON-LD to @graph structure with Organization and WebSite entities

The canonical fix prevents Google from treating all docs as homepage duplicates.

- Fix canonical URL bug: use './' instead of '/' so each page gets correct canonical
- Add sitemap.ts with 11 URLs (core, docs, legal pages)
- Add robots.ts with AI bot rules (GPTBot, ClaudeBot, PerplexityBot, etc.)
- Enhance metadata with metadataBase, googleBot settings, category
- Upgrade JSON-LD to @graph structure with Organization and WebSite entities

The canonical fix prevents Google from treating all docs as homepage duplicates.
@vercel
Copy link

vercel bot commented Jan 20, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Review Updated (UTC)
replimap-mono-web Ready Ready Preview, Comment Jan 20, 2026 10:32am

@github-actions github-actions bot added the web label Jan 20, 2026
…G images

- Add lib/schema.ts: generate JSON-LD from pricing.ts (SSOT)
  - Fixes wrong prices: $0/$29/$99 (not $0/$49/$99 for obsolete Solo plan)
- Update layout.tsx: use generateSiteSchema() for dynamic JSON-LD
- Add opengraph-image.tsx: dynamic OG image for homepage
- Add docs/opengraph-image.tsx: dynamic OG image per doc page with title/description
- Update docs/page.tsx: add openGraph metadata with proper URLs
- Replace sitemap.ts: dynamically read from content/docs/ directory

Prices now correctly reflect: Community ($0), Pro ($29), Team ($99)
Next.js doesn't allow static file conventions (opengraph-image.tsx) inside
catch-all route segments ([[...slug]]). Docs pages will use the default
OG image from layout.tsx metadata.
@davidlu1001 davidlu1001 merged commit 72f0c2b into main Jan 20, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants