The hero card metadata only lived on the index. When somebody shared
a tutorial or changelog link in Slack / Discord / LinkedIn / X, the
preview fell back to whatever the platform invented from the page
title (often nothing useful, sometimes nothing at all).
Now every page in site/ has a complete OG + Twitter block with
page-specific og:title / og:description / og:url + canonical link,
all reusing the shared og-card.png as the preview image. Tutorials
use og:type=article (the more accurate semantic), changelog and
tutorials index stay og:type=website.
The og:description for each page is taken from the existing
<meta name="description"> the page already had — no rewriting,
just lifting into the OG namespace so social platforms see it.
No CLI/MCP behavior change — site copy only, no version bump.
Co-authored-by: Cursor <[email protected]>