feat(seo): add use-case landing pages for rules, data MCP, and slash commands#465
feat(seo): add use-case landing pages for rules, data MCP, and slash commands#465sxxtony wants to merge 3 commits into
Conversation
…commands Add three new use-case clusters to the existing /best/[slug] landing page system so visitors can browse by intent rather than registry category: - claude-rules-for-engineering-teams (rules category, not previously headlined) - mcp-servers-for-databases-and-data (narrower MCP intent than the broad cluster) - slash-commands-for-claude-code (commands category, not previously headlined) Pages are generated from existing registry data through the current seoClusterDefinitions config; no schema, route, or SEO infrastructure changes are needed. The route already emits BreadcrumbList, CollectionPage, and ItemList JSON-LD via the shared seo helpers, and sitemap entries are auto-derived from the definitions list. Closes JSONbored#431
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository UI (base), Organization UI (inherited) Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📜 Recent review details🧰 Additional context used📓 Path-based instructions (2)apps/web/src/**/*.{ts,tsx}📄 CodeRabbit inference engine (Custom checks)
Files:
apps/web/src/**/*📄 CodeRabbit inference engine (AGENTS.md)
Files:
🔇 Additional comments (1)
📝 WalkthroughSummary by CodeRabbitRelease Notes
WalkthroughThree new SEO cluster definitions are added to support use-case landing pages for engineering team rules, MCP servers for data workflows, and Claude Code slash commands. Each cluster includes slug, display titles, descriptions, category, tags, and item limits for registry filtering. ChangesSEO Cluster Definitions for Use-Case Landing Pages
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~5 minutes Poem
Important Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional. ❌ Failed checks (1 error, 1 inconclusive)
✅ Passed checks (6 passed)
✨ Finishing Touches✨ Simplify code
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint skipped: no ESLint configuration detected in root package.json. To enable, add Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Pull Request
Summary
/best/[slug]system so visitors can browse the registry by intent instead of registry category.rulesorcommands, and there is no narrow data/database-focused MCP page:/best/claude-rules-for-engineering-teams— TypeScript, React, security, OWASP, performance rules/best/mcp-servers-for-databases-and-data— database, infra, deployment, and ops MCP servers/best/slash-commands-for-claude-code— testing, documentation, refactoring, performance, security audits, automationseoClusterDefinitionsinapps/web/src/lib/seo-clusters.ts; the route, scoring, JSON-LD, sitemap, andgenerateStaticParamsalready handle new slugs automatically.Submission Source
content/<category>/submittedByandsubmittedByUrlfrontmatter matching the PR author.README.md, generated registry outputs, orapps/web/public/downloads/**unless this is a maintainer/internal automation branch./downloads/...package hosting for community-submitted ZIP/MCPB artifacts.Schema and Quality Checks
pnpm validate:contentpassed (pnpm validate:content:strict— 386 files validated)pnpm validate:packagespassed (not applicable — no package changes)pnpm scan:packagespassed when package artifacts changed (not applicable)pnpm audit:contentran and I reviewed findings (not applicable — no content file changes)viewCount,copyCount,popularityScore)Validation
pnpm build) —/best/[slug]now prerenders 13 paths (10 existing + 3 new)pnpm exec vitest run tests/seo-jsonld.test.ts tests/discovery-surfaces.test.ts tests/seo-metadata.test.ts— 16/16 passedgit diff --checkcleanseoDescriptionvalues are within the 120–160 character bound enforced bytests/seo-metadata.test.ts(153, 159, 151)Acceptance criteria for #431
getSeoCluster/scoreItempath as the existing clusters.generateMetadata+ JSON-LD helpers (buildBreadcrumbJsonLd,buildCollectionPageJsonLd,buildItemListJsonLd) used by the existing clusters.Closes #431.Notes
generateStaticParamsautomatically pick up the new slugs throughgetSeoClusterDefinitions().rulesandcommandswere not previously headline categories in any of the 10 existing clusters — these add long-tail intent pages.mcp-servers-for-databases-and-datacomplements the broadmcp-serverscluster with a narrower data-focused intent ("Claude MCP database", "Postgres MCP", etc.).Closes #431