Short practical fixes for things that silently break on small sites.
Your page looks fine in a browser but the link preview is blank. Crawlers don’t run your JavaScript and don’t share your cookies, so check what they get.
og:image. content="/og.png" works in some places and fails in others. Use an absolute https:// URL. (In our homepage scan of the top 1,500 Tranco domains, 3.1% of HTML homepages used a relative og:image path.)og:image at all in the server-rendered HTML. If a client-side router injects tags after load, crawlers never see them. 36% of the HTML homepages we scanned had none.facebookexternalhit, LinkedInBot or Twitterbot while humans get 200. Test: curl -A "LinkedInBot/1.0" -I https://your-site/page.image/png/image/jpeg. curl -I the image URL with a bot UA and check content-type.og:image:width/height so the first share renders (only 20.5% of scanned homepages did).Free tools: paste your <head> into og-lint, or fail PRs with og-lint-action.
Disclosure: I build SharePack, a $29 one-time pack that fetches your live page as Facebook, X, LinkedIn, Slack and Discord crawlers and generates the tags plus a correctly sized image set. Its free check only offers the pack when it confirms the problem on your page. Everything above works without it.