og:image is not an absolute URL
A relative og:image path like /og.png is silently dropped by social crawlers. Here is why the Open Graph protocol requires an absolute URL and how to build one.
What you are seeing: Your og:image is set to something like /og.png or ./images/card.jpg and no platform shows the image.
Why relative paths do not work
A browser resolves /og.png against the address bar. A social crawler is not a browser: it parses your HTML out of context and treats meta tag values as opaque strings. There is no document base for it to resolve against, so a relative path is not a path at all — it is a malformed URL, and it gets dropped.
The Open Graph protocol is explicit about this. og:image must be a full URL including the scheme. Some platforms have historically been forgiving here, which is worse than a hard failure because it means the bug reaches production looking like it works.
How to fix it
Prefix the path with your production origin, including https://. If you generate the tag in a template, build the absolute URL from a configured site URL rather than hardcoding it, so preview deployments do not point at production assets or vice versa.
Protocol-relative URLs — //example.com/og.png — count as relative here and should also be avoided. Write the scheme out.
Getting it right in a framework
Most metadata APIs will do this for you if you tell them the origin. Next.js resolves relative image paths against metadataBase, so setting that once in your root layout makes every relative path in your metadata objects safe. Other frameworks expose a similar site URL setting. Configure it rather than concatenating strings at each call site.
Absolute, not relative
<!-- Dropped by crawlers -->
<meta property="og:image" content="/og.png" />
<meta property="og:image" content="//example.com/og.png" />
<!-- Correct -->
<meta property="og:image" content="https://example.com/og.png" />Frequently asked
Does the same rule apply to twitter:image and og:url?
Yes. Every meta tag that carries a URL needs an absolute one, for the same reason. og:url in particular should be the full canonical URL of the page, not a path.
Should og:image use http or https?
Always https. Several platforms refuse to load images over plain http from an https page, and some drop them regardless of the page's own scheme. If you have a legacy http URL, serve the image over https and update the tag.
Check your page
Run your URL through the checker to confirm the fix is live and see how the card renders on every platform.
Test a URL