Preflight Your Launch Link: OGP Cards Before Slack Eats the Old Image

(Updated: July 16, 2026 ) OGP Open Graph launch Slack Discord webdev

Five minutes before the launch tweet, someone pastes the URL into the company Slack to “just check the card.” Slack caches the previous campaign creative. The tweet goes out anyway. Discord looks fine; Facebook looks ancient. This is not bad luck — it is a missing preflight.

Launch-day order of operations

  1. Deploy HTML + image assets to the public host.
  2. Confirm with curl / view-source that og:title, og:description, og:image are absolute and correct.
  3. Open an OGP preview against the production URL.
  4. Run Meta Sharing Debugger scrape (and LinkedIn inspector if relevant).
  5. Only then paste into Slack/Discord/X.

Reversing steps 3 and 5 teaches Slack the wrong card first. Treat the first unfurl as a write once / read forever event for that workspace.

Card content that survives the fold

FieldFailure mode
TitleTruncation mid-word; keyword stuffing
DescriptionEmpty → platform invents garbage from body
ImageRelative URL, 404, or 200 HTML error page
Image sizeToo small → upscaled blur; wrong aspect → crop
Site nameMissing → generic link look

Write titles for humans in the timeline, not for an internal ticket ID. Descriptions should make sense without the hero image. Marketing sometimes ships a gorgeous image with a placeholder title still set to Home — preview tools catch that before 50k impressions do.

Platform quirks worth budgeting time for

  • Slack: sticky; avoid early pastes; consider a unique path for the launch page if you must escape a poisoned cache
  • Discord: faster refresh culture, still not instant
  • X: card types and image crops differ; test with their card validator when available
  • iMessage: opaque; absolute images and HTTPS matter

CDN purge belongs in the runbook next to “tweet.” Overwriting og.png in place without purge is how good deploys look broken.

Template hygiene in the codebase

Centralize meta tags in one layout component. Per-page overrides for launches should be code-reviewed like UI copy. Add a smoke test that fails CI if og:image is relative or missing on key landing templates.

After the first paste goes wrong

Change the image URL (versioned path), scrape debuggers again, and wait. Do not promise “hard refresh fixes Slack” in the war room — it does not. Communicate to the team: unfurl caches are product behavior, not a broken deploy.

Copy length and emoji

Slack truncates aggressively. A witty 120-character og:title may look fine in a preview tool’s full-width layout and broken in the unfurl. Keep titles short; put detail in the description. Emoji in titles render differently across apps — test once if brand depends on them.

Multi-page launches (docs + marketing + app) need consistent site name and image family so the campaign feels intentional when people share deep links. Preview each key URL, not only the homepage.

Ownership

Assign one person on launch day to own “card looks correct” the same way you own DNS and feature flags. Give them debugger access and CDN purge rights beforehand. The worst time to request Meta developer permissions is during the tweet countdown.

Preflight is boring. It is also the difference between a launch card that matches the campaign and a launch card that teleports viewers to last season’s sale.