The symptom
When you paste your link into Facebook, LinkedIn, X, or Slack, the card appears without an image — or with a wrong image. The tag exists in your HTML. Why?
Why it happens
- A relative og:image URL like "/image.png" instead of "https://yourdomain.com/image.png". Social platforms cannot resolve it against your domain.
- The image bytes do not meet platform requirements: Facebook wants at least 1200x630 and recommends under 8MB; small or compressed images get rejected or cropped.
- Platform caching. Facebook caches up to 30 days, X around 7 days, LinkedIn ~24 hours. Even a perfect tag change will not show until the cache refreshes.
- The URL blocks crawlers (robots.txt disallow on the image path, or a 403/404), or the image requires an authenticated session.
Diagnose it — in order
- 1
Check the tag value itself
Run the URL in the URL Debugger and look at the OG image row. It flags relative og:image URLs as errors — the single most common cause.
- 2
Verify the actual image bytes
Paste the og:image URL into the OG Image Checker. It fetches the file server-side and reports real dimensions, format, and size — the same data Facebook crawler uses.
- 3
Test with a platform debugger
Facebook Sharing Debugger and LinkedIn Post Inspector fetch fresh and show you the exact image their crawler received. This separates "my HTML is wrong" from "the platform cached it".
- 4
Check with the crawler view
In the URL Debugger, enable the Facebook crawler comparison. If Facebook sees no og:image while your browser does, the crawler is being blocked or served different HTML.
How to fix it
- 1
Use absolute URLs everywhere
og:image (and og:url, canonical) must be full URLs. The debugger reports this as an error — fix it in your template and re-generate your tags.
- 2
Export a 1200x630 image
Create or export a 1.91:1 image at 1200x630. Verify it with the OG Image Checker after upload — format, size, and aspect ratio are checked against the real file, not the extension.
- 3
Force a re-scrape
Facebook: Sharing Debugger > "Scrape Again". LinkedIn: Post Inspector. X: delete the old post and compose fresh. Slack: "Refresh preview". These are instant, unlike natural cache expiry.
- 4
Unblock the image URL
Make sure robots.txt does not disallow the image path and the file returns 200 to a plain GET with no cookies. Re-run the debugger to confirm.
Free tools that help
Still not sure what your page is sending?
Run your URL through the free URL Debugger — it shows the raw HTML evidence, redirects, headers, and what Googlebot and Facebook each receive.
Debug a URL free