From Search Console: component pages earn impressions but rank on page 1-2 (striking distance) or carry real vllnt-distinctive demand (e.g. "react callout" 22 impressions at pos 79). The pages that already rank well are exactly the ~13 AI components with hand-written title/description/prose; the rest have generic metadata and thin content.
Generalize that treatment beyond the AI wedge:
- Add
lib/component-seo.ts (general counterpart to ai-seo.ts): hand-written, source-verified title, meta description, usage prose, 3 FAQs, and related slugs for ~26 striking-distance / distinctive components.
- Component page consumes it: title/description precedence, a "What it is & when to use" prose block, FAQPage structured data + a visible FAQ (GEO / AI-overview hook —
searchAppearance is currently empty), and an auto Related components section (internal linking, falls back to same-family siblings for every component).
Part of #469 (SEO/GEO visibility track). Follows the domain migration (#480, #485).
From Search Console: component pages earn impressions but rank on page 1-2 (striking distance) or carry real vllnt-distinctive demand (e.g. "react callout" 22 impressions at pos 79). The pages that already rank well are exactly the ~13 AI components with hand-written title/description/prose; the rest have generic metadata and thin content.
Generalize that treatment beyond the AI wedge:
lib/component-seo.ts(general counterpart toai-seo.ts): hand-written, source-verified title, meta description, usage prose, 3 FAQs, and related slugs for ~26 striking-distance / distinctive components.searchAppearanceis currently empty), and an auto Related components section (internal linking, falls back to same-family siblings for every component).Part of #469 (SEO/GEO visibility track). Follows the domain migration (#480, #485).