For AI agents: a documentation index is available at /llms.txt. Markdown versions of these pages are available by appending `.md` to the URL or by sending `Accept: text/markdown`.
Blog
Open Graph and social-preview engineering notes from the team building OGKit.
Social crawler User-Agents: the truth table for content forks
facebookexternalhit, LinkedInBot, Twitterbot, and friends almost never run JavaScript. Here is a citable UA matrix (sources + last verified) — and why forking HTML by bot is a double-edged sword.
Dynamic OG images: Next, Satori, and the size traps
When every blog or docs page needs its own share card, how to choose between the code path (Next opengraph-image / Satori) and template SaaS — plus fonts, CJK subsets, emoji, and byte budgets.
Why your Open Graph preview still shows the old image
You shipped a new og:image and the page looks right in the browser — but Facebook, LinkedIn, and chat apps still show last week's campaign. Caches, TTLs, and official rescrape tools explained without the magic button myth.
2026 Open Graph checklist: ship cards that stay correct
A printable OG checklist for pre-release, post-deploy rescrape, and quarterly engineering — tags, images, platforms, SPA, CI, private environments — plus how OGKit maps to each step.
Put Open Graph in CI: a regression gate that actually fails
Visual QA will not catch the PR that deleted og:image for two weeks. Use stable rule ids, exit codes, and a baseline so Open Graph checks behave like ESLint on every pull request.
OG image engineering: size, bytes, format, redirects
1200×630 is only the start. Share cards fail more often because of byte budgets, Content-Type mismatches, redirect chains, and auth-gated CDNs — especially on IM clients.
How to choose Open Graph tools: official debuggers, preview sites, generators
Official debuggers are irreplaceable for cache busting; multi-preview sites are for daily QA; generators bootstrap static pages. Pick by job — not by the loudest “OG checker” ad.
Why opengraph.xyz cannot preview your localhost (and what to do instead)
Online OG tools never reach localhost, VPN staging, or cookie-walled apps. Public scanners must stay public for SSRF safety; private previews belong in a scoped browser extension — not a tunnel that punches a hole in your network.
The Open Graph and Twitter meta tags you actually need
A copy-paste minimum set for og:title, og:type, og:url, og:image, plus description, site name, and twitter:card — with the failure modes that still ship every week.
One set of OG tags, eight different cards: how Facebook, LinkedIn, X, and peers really render your preview
Why does the share card that looked perfect in your mockup break on Facebook, LinkedIn, X, or WhatsApp? A per-platform matrix of field priority, title truncation, image cropping, and official debug tools — every number with its source.
Why SPA crawlers never see your Open Graph tags: SSR and prerender
DevTools shows og:title. Slack shows a bare URL. Social crawlers mostly skip JavaScript — here is how to prove it, what frameworks can do, and what a scanner can honestly report.
What Open Graph actually solves
Open Graph is not a second title tag. It decides how your link looks when someone pastes it into Slack, LinkedIn, X, Discord, or WhatsApp — and the work continues after deploy.
Why your Open Graph card is blank
A blank share card is almost never a missing og:image tag. Here are the five causes we see most, and how to tell them apart in under a minute.