Skip to content

feat(meta): give the site a real social preview - #130

Merged
github-actions[bot] merged 2 commits into
mainfrom
fix/og-preview
Aug 7, 2026
Merged

feat(meta): give the site a real social preview#130
github-actions[bot] merged 2 commits into
mainfrom
fix/og-preview

Conversation

@catomean

@catomean catomean commented Aug 7, 2026

Copy link
Copy Markdown
Collaborator

Every link to this site currently shares as a blank grey rectangle — it ships no og:image at all.

Adds the Next file-convention card (opengraph-image.tsx, 1200x630 — the 1.91:1 size Slack, Telegram and the OpenGraph scrapers crop to), drawn in this site's own palette from globals.css.

Also sets metadataBase, which is the load-bearing half. Without it Next resolves the generated image to http://localhost:3000/opengraph-image: a tag that is present, looks configured, and is unfetchable by every scraper. The fallback is the real host, so a missing env var degrades to correct instead of to localhost.

Also corrects site.url, which pointed at botsmann.com — a domain with no DNS A record. Everything derived from it (canonical URL, og:image, sitemap) named a host that does not resolve.

Verified end-to-end on a sibling repo before porting: build, render, 200 image/png, 1200x630, and og:image emitted as the absolute production URL. Local tsc --noEmit clean; CI does the build.

Part of a fleet-wide sweep — 10 of 15 sites shared blank, found by FleetCrown Atlas.

This site shipped no og:image, so every link to it — Telegram, Slack, a DM —
rendered as a blank grey rectangle. Adds the Next file-convention card
(1200x630, the size those scrapers crop to) drawn in the site's own palette.

Also sets metadataBase, which is load-bearing rather than cosmetic: without it
Next resolves the generated image to http://localhost:3000/opengraph-image — a
tag that is present, looks configured, and is unfetchable by every scraper. The
fallback is the real host, so a missing env var degrades to correct rather than
to localhost.

site.url also pointed at botsmann.com, which has no DNS A record — so
everything derived from it (canonical URL, og:image, sitemap) named a host that
does not resolve. Corrected to where the site actually serves.

Pattern verified end-to-end on a sibling repo: build, render, 200 image/png at
1200x630, and og:image emitted as the absolute production URL.
@github-actions
github-actions Bot merged commit 3cb98fe into main Aug 7, 2026
2 checks passed
@github-actions
github-actions Bot deleted the fix/og-preview branch August 7, 2026 09:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant