If Facebook, LinkedIn, or another network shows no image for your link, fix the page’s server-rendered Open Graph metadata first. Add a valid, absolute HTTPS og:image URL to the HTML head, make sure crawlers can fetch an actual image, remove duplicate tags, then run the destination platform’s inspector or sharing debugger to replace its cached preview.
What a missing Open Graph image usually means
A CMS featured image, page thumbnail, or hero image does not automatically become a social preview image. The URL being shared must expose Open Graph (OGP) tags in the document head that a crawler can read without running your application’s client-side JavaScript.
The Open Graph protocol defines four required properties for a page:
og:titleog:typeog:imageog:url
og:image is the URL of the image representing the page or object. If that URL is relative, protected, blocked, trapped in a redirect loop, returns an HTML error page, or appears only after JavaScript runs, a social crawler can produce a blank card even though the image looks fine in your browser.
Add a complete, server-rendered head
Put the following in the deployed page’s <head>, not only in a client-side component. Replace the example values with the canonical URL and image URL for the page.
<meta property="og:title" content="Page title">
<meta property="og:type" content="website">
<meta property="og:url" content="https://example.com/page">
<meta property="og:image" content="https://example.com/assets/og-image.jpg">
<meta property="og:image:secure_url" content="https://example.com/assets/og-image.jpg">
<meta property="og:image:type" content="image/jpeg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="Short description of the image">
The four properties are required by OGP. The secure URL, MIME type, dimensions, and alt text are optional structured properties, but declaring them removes ambiguity for crawlers. Keep the URL absolute and use HTTPS.
CMS and framework placement
Generate these tags in the server template, static build output, or framework metadata API that produces the initial HTML response. A tag inserted only after hydration may be invisible to a crawler that does not execute the same JavaScript as a browser. After changing a template, inspect the production response rather than relying on the editor’s preview.
Diagnose the failure in order
1. Inspect the actual HTML
- Open the deployed URL and view its page source or the raw server response.
- Search for
property="og:image". - Confirm that
og:title,og:type, andog:urlare also present. - If the image tag appears only in the post-JavaScript DOM, move it to server-side rendering or a build-time template.
Check the exact URL that is being shared. A different protocol, hostname, path, trailing slash, or tracking variant can represent a different cached document.
Free tools Windows power users keep installed
One-click scans. No signup required.
2. Fetch the image URL directly
Open the exact content value from og:image in a private browser window and with an HTTP client. It should be publicly reachable over HTTPS and return an image response. A login page, access-denied response, HTML 404 document, redirect loop, or bot challenge is not a usable image.
Rank #2
For a quick command-line check, inspect headers first:
curl -I -L "https://example.com/assets/og-image.jpg"
Follow redirects and verify that the final response is successful and has an image MIME type such as image/jpeg, image/png, or image/webp. If your host requires a cookie, special header, signed session, or authentication, social crawlers may not be able to retrieve it.
3. Find duplicate declarations
Search the full HTML, including theme and SEO-plugin output, for every og:image. OGP gives the first tag from top to bottom preference when values conflict. Remove stale duplicates, or place the intended image first. Keep each image’s structured properties immediately after its own declaration:
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →<meta property="og:image" content="https://example.com/a.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta property="og:image:alt" content="First image description">
<meta property="og:image" content="https://example.com/b.jpg">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
Do not put one image’s width or alt tags after another image declaration; crawlers associate structured properties with the preceding image.
4. Check dimensions, crop, and format
There is no single universal OGP image size, but platform guidance matters. LinkedIn documents a minimum of 1200 × 627 pixels. A practical baseline for Facebook-style large previews is approximately 1200 × 630 pixels. That ratio is close to 1.9:1 and works well across common cards.
Rank #3
- Export a crisp image at or above the target platform’s documented minimum.
- Keep logos, headlines, and faces away from the outer edges, where cards may crop.
- Declare the actual width, height, and MIME type; do not claim 1200 × 630 for a smaller file.
- Use a stable, cacheable image URL. Replace the file or URL deliberately when you need a new version.
5. Re-scrape the destination platform
Social networks cache both page metadata and image responses. After deploying the correction, paste the destination URL into that network’s sharing debugger or inspector and request a fresh scrape. This is especially important for Facebook/Meta, whose preview cache is aggressive.
If the debugger shows the new HTML but the old picture remains, verify the image URL itself. Changing the image filename or, where the platform supports it, adding a cache-busting query string can force retrieval of a new asset. Do not change URLs casually if long-lived links or CDN caching depend on them.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsPlatform-specific checks
Facebook and Meta
Facebook reads og:image. Use its Sharing Debugger to inspect the fetched tags and request a new scrape after your production change. The debugger result is more useful than repeatedly refreshing your own browser because it shows what Meta’s crawler received.
LinkedIn expects Open Graph-compliant source code and documents a 1200 × 627 pixel minimum image size. Confirm the raw HTML contains the tags and that the image URL is publicly fetchable before running LinkedIn’s inspector.
X
X primarily uses Twitter Card tags. It can fall back to og:*, but a predictable large-card layout is more reliable when you also provide:
Rank #4
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:image" content="https://example.com/assets/og-image.jpg">
Keep the Twitter image and og:image aligned unless you intentionally want different artwork.
Common causes and precise fixes
| Symptom | Likely cause | Fix |
|---|---|---|
No og:image in page source |
Theme or template never emits OGP metadata | Add the tag to the server-rendered head and redeploy. |
| Tag appears only in DevTools after load | Client-side rendering or hydration | Render metadata on the server or at build time. |
| Image URL opens a login page or 403 | Authentication, hotlink protection, or an allowlist blocks crawlers | Serve a public HTTPS asset without session requirements; adjust CDN rules. |
| HTTP check returns HTML | 404 page, redirect target, or bot challenge | Fix the path and redirects; ensure the final response is an image MIME type. |
| Correct tag exists but wrong picture appears | Duplicate tags or cached preview | Remove duplicates, put the intended tag first, then re-scrape. |
| Image is cropped badly | Canvas ratio or focal point does not suit the platform | Use roughly 1200 × 627–630 pixels and keep critical content centered. |
| One network updates while another does not | Independent platform caches and rules | Run each network’s inspector separately and meet that platform’s dimensions. |
Test a page before publishing
- Generate the final page URL and canonical image URL.
- View the raw production HTML and confirm exactly one intended first
og:image. - Run an HTTP header check on the image, following redirects.
- Verify the file’s real dimensions and MIME type.
- Open the page in each target network’s inspector and request a fresh scrape.
- Share a new post only after the inspector displays the intended title, image, and URL.
For repeatable deployments, make these checks part of your release checklist. A validator or Open Graph preview debugger can speed up inspection, but it cannot repair an inaccessible image or metadata that your server never emits.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
ScreenshotNeo can capture the page directly through one API request when you need a dependable image asset or want to automate previews. Before capture it accepts cookie/consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools to Claude, Cursor, and other MCP clients.
cURL
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
Python
import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)
Node.js
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
See the ScreenshotNeo documentation for request options. The service supports PNG, JPEG, WebP, and PDF; full-page captures with lazy images loaded; CSS-selector element capture; dark mode; 12 device presets or a custom viewport; retina scale; custom CSS and JavaScript; clicks; hide selectors; waits for selectors, delays, or network idle; request and resource blocking; custom headers, cookies, user agents, Authorization, timezone, and geolocation; transparent backgrounds; resizing; chosen-TTL caching; signed public image links; asynchronous jobs with signed webhooks; up to 100 URLs per bulk call; usage API; OpenAPI; and familiar parameter names used by other screenshot APIs.
Every plan includes every feature. The Free plan provides 1,000 shots per month with no card; paid plans start at $5 for 3,000 shots, with yearly billing giving two months free. Create a free ScreenshotNeo account to start.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteFAQ
Will adding a normal HTML image fix the social card?
No. An in-page <img> or CMS featured image does not substitute for a valid og:image declaration in the head.
Best Value
Can I use a relative image path?
Use an absolute HTTPS URL. It removes base-path ambiguity and gives crawlers a directly fetchable address.
Why does the preview work in one network but not another?
Each platform fetches and caches independently and may apply different minimum dimensions or card rules. Inspect each destination separately.
Should I include multiple Open Graph images?
Only when you intentionally offer alternatives. The first declaration wins conflicts, so accidental duplicates are a common source of the wrong image.
Frequently Asked Questions
Will adding a normal HTML image fix the social card?
No. An in-page <img> or CMS featured image does not substitute for a valid og:image declaration in the head.
Can I use a relative image path?
Use an absolute HTTPS URL. It removes base-path ambiguity and gives crawlers a directly fetchable address.
Why does the preview work in one network but not another?
Each platform fetches and caches independently and may apply different minimum dimensions or card rules. Inspect each destination separately.
Should I include multiple Open Graph images?
Only when you intentionally offer alternatives. The first declaration wins conflicts, so accidental duplicates are a common source of the wrong image.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




