feat(seo): per-page Open Graph/Twitter metadata + accurate, length-capped descriptions#602
Conversation
…tions applyHead() now rewrites og:url/og:title/og:description and the twitter: equivalents per pre-rendered page (German pages get og:locale=de_DE), so shared subpage links render their own preview instead of the generic home card. The home description states real counts computed from anchors.json/contracts.json (the hard-coded "110+" understated the 161 anchors); the static shell texts are count-free so they cannot go stale. All meta descriptions are capped at ~160 chars on a word boundary, and sub-50-char anchor extracts get the anchor title prefixed. v0.6.1. SEO review findings F1-F3+F5. Refs LLM-Coding#601 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 4 minutes and 59 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (4)
✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
Closes #601
Implements findings F1–F3 (+F5) from the post-#598 SEO review.
Changes
applyHead()): every pre-rendered page — 16 routes, home EN/DE, 161+155 anchor pages — now rewritesog:url,og:title,og:description,twitter:url/title/descriptionto its own values (matching title/description/canonical). German pages getog:locale=de_DEwithen_USalternate. Previously all subpages shipped the shell's home values, so sharing/anchor/mecerendered the generic home preview.anchors.json/contracts.jsonat build time — "161 semantic anchors and 19 semantic contracts …". The static shell texts (meta, og, twitter, WebSite JSON-LD) are now count-free so they cannot go stale again.capDescription()); anchor extracts under 50 chars get the anchor title prefixed ("Clean Architecture — Dependencies only point inward").Verification
dist/anchor/mece/: own og:url/og:title/twitter:title;dist/de/about/:og:locale=de_DE+en_USalternate.🤖 Generated with Claude Code