How-to guide

How to Fix a Facebook Link Preview Not Showing

Last updated: 2026-05-29 · Facebook · By SocialKit Team

A missing or broken Facebook link preview — blank image, wrong title, stale thumbnail — usually comes down to three things: missing Open Graph meta tags on the page being shared, a cached bad scrape that Facebook is still serving, or an image that fails the aspect-ratio or size rules. This guide walks the complete fix.

Before you start

You need access to the HTML of the page whose link preview is broken — either via your CMS (WordPress, Webflow, Shopify, etc.) or direct access to the page's <head> section. If the page is on a third-party platform you don't control, your options are limited to choosing a different URL or adjusting the shared post caption.

You also need a Facebook account to use the Sharing Debugger (the tool Facebook provides for clearing its link cache). The Debugger URL as of June 2026 is developers.facebook.com/tools/debug — search "Facebook Sharing Debugger" if that path has moved.

Step by step

  1. Check whether Open Graph tags exist on the page

    Open the page whose preview is broken in a browser. Right-click and choose "View Page Source" (or open DevTools > Elements). Search for og:title, og:description, og:image, and og:url in the <head> section. These are the four Open Graph properties Facebook uses to build the link card. If any are missing — especially og:image — Facebook falls back to guessing, which often produces a blank card or picks the wrong image from the page.

    Tip: If you use a CMS, check whether an SEO plugin (Yoast, RankMath, Rank Logic, etc.) is already generating OG tags. Duplicate or conflicting tags — one from the plugin, one hand-coded — can confuse the scraper.

  2. Add or correct the four core Open Graph tags

    In your page's <head> section, add the following tags (replace the placeholder values with your actual content): <meta property="og:title" content="Your Page Title Here" /> <meta property="og:description" content="A short, compelling description of the page." /> <meta property="og:image" content="https://yourdomain.com/images/preview-image.jpg" /> <meta property="og:url" content="https://yourdomain.com/your-page-url" /> The og:image URL must be absolute (starting with https://), publicly accessible without authentication, and must not be blocked by your robots.txt. Facebook's scraper cannot access images behind a login, a Cloudflare challenge page, or a robots.txt Disallow rule.

    Tip: As of June 2026, Facebook recommends an og:image at 1200 × 630 px (1.91:1 aspect ratio) for link card previews. Images smaller than 200 × 200 px or larger than 8 MB are silently ignored. Serve the image on the same domain as the page, or a reliable CDN — slow image servers cause partial scrapes.

  3. Verify the image is publicly crawlable

    Paste your og:image URL directly into a fresh incognito browser window and confirm the image loads with no login wall. Then check your site's robots.txt (yourdomain.com/robots.txt) and confirm there is no Disallow rule covering the image path or the /images/ directory. Facebook's crawler identifies itself as facebookexternalhit — some security tools or WAFs (Web Application Firewalls) block non-browser user agents, which prevents the image from loading during the scrape.

  4. Open the Facebook Sharing Debugger and scrape the URL

    Go to developers.facebook.com/tools/debug (as of June 2026). Paste the exact URL of your page into the input field and click "Debug". Facebook will show you what it currently has cached for that URL: the og:image, og:title, og:description, and any warnings about why the preview failed. If the tags look correct in your page source but the Debugger still shows old data, it means Facebook cached a previous (broken) scrape. Click "Scrape Again" to force a fresh crawl and update the cache.

    Tip: If the Debugger shows the correct data but the preview still looks wrong when you paste the URL into a Facebook post composer, click "Scrape Again" one more time and wait 2-3 minutes. Facebook's CDN sometimes takes a few minutes to propagate a fresh scrape to all edge nodes.

  5. Fix common Sharing Debugger warnings

    The Debugger surfaces specific warnings for each issue. The most common ones and their fixes as of June 2026: "Could not download" / "og:image not scraped": the image is blocked (robots.txt, auth wall, or WAF). Unblock facebookexternalhit in your server config. "Object is invalid / missing required properties": og:title or og:url is missing — add them. "Image ratio not optimal" or blank thumbnail despite a valid URL: the image is smaller than 200 × 200 px or has an unusual aspect ratio. Replace with a 1200 × 630 px image. "og:url does not match canonical URL": your og:url tag points to a different URL than the one being debugged. Update og:url to exactly match the canonical page address including or excluding the trailing slash consistently.

  6. Preview the corrected link card before posting or scheduling

    Once the Sharing Debugger confirms the correct title, description, and image are loading, use SocialKit's free Facebook post preview tool (/tools/facebook-post-preview) to see exactly how the link card will render in the Facebook feed — including the link domain label, title truncation, and image crop — before you schedule or publish the post. The preview shows both desktop and mobile rendering, so you can catch a title that gets cut off on mobile before it goes live.

    Tip: The preview tool does not require a SocialKit account or login. Paste your URL, see the card, and adjust your og:title or og:description length if it truncates awkwardly.

  7. Schedule the post with the corrected link in SocialKit

    With the Open Graph tags fixed and the card previewed, create or re-queue the post in SocialKit's composer. Paste your URL into the post body — SocialKit will fetch the link card at compose time and show it inline so you can confirm the preview one final time before setting the date and time. Use the best-time data at /best-time-to-post/facebook to slot the post when your audience is most active. As of June 2026, Facebook Pages auto-publish via the Graph API through SocialKit — no notification step required for Page posts.

Best practices

  • Always use an absolute og:image URL (https://...) — relative paths like /images/preview.jpg are not resolved by Facebook's scraper and result in a blank card.
  • Target 1200 × 630 px (1.91:1) for og:image as of June 2026; this fills the full-width link card slot in the feed. Square images (1:1) render as a smaller thumbnail on the right side of the card rather than the large top image.
  • Run the Sharing Debugger every time you update the page title, description, or hero image — Facebook caches aggressively and will continue serving the old card until you force a scrape.
  • If you manage many pages or post the same URL repeatedly, scrape the URL once after any change; you do not need to scrape before every post.
  • Keep og:title under 60 characters and og:description under 155 characters so neither truncates in the Facebook link card — check the exact cutoff in the post preview tool since Facebook's card layout has changed multiple times.
  • Add og:type="article" to blog posts and og:type="website" to homepage or evergreen landing pages; this signals to Facebook's scraper what kind of object it is and can improve how the card is weighted in the feed.

Good to know

Why Facebook ignores og:image even when the tag is present

The most common reason a correctly tagged og:image is ignored is that Facebook's crawler (facebookexternalhit) cannot reach the image at scrape time. This happens silently — the Debugger may show a "could not download" warning in its details section even if the main result looks partially correct.

Check three things: (1) your CDN or image host returns a 200 status for a direct HTTP GET with no cookies, (2) your robots.txt does not Disallow the /images/ or similar path, and (3) your WAF or Cloudflare security level does not challenge bots. If you use Cloudflare, set a Page Rule or WAF rule to allow requests from the facebookexternalhit user agent on your og:image path.

Facebook also ignores images served over HTTP (non-HTTPS) and images that redirect more than a small number of times. Serve the image directly on HTTPS with no redirect chain.

Link previews in Facebook Groups and personal profiles vs Pages

The Open Graph + Sharing Debugger fix described in this guide applies to any URL shared on Facebook — in Page posts, personal profile posts, or Group posts. The scraper behavior is the same regardless of surface.

Note that third-party scheduling tools including SocialKit publish to Facebook Pages via the Graph API (as of June 2026). Facebook Group publishing via third-party APIs is restricted by Meta for most app categories — check the current Meta policy if you need to post to a Group, as you may need to post natively through Facebook or Meta Business Suite. Personal profile posting via API is also not permitted by Meta.

Do it in SocialKit

SocialKit's Facebook scheduler lets you paste a URL, see the link card render inline, pick a best-time slot, and auto-publish to your Page via the Graph API — all from one calendar that covers all 11 platforms. 7-day free trial, €0.00 due today.

Schedule Facebook posts with SocialKit
Free tool
Free Facebook post preview tool

No login needed.

All 11 platforms included

Try it free

Schedule and cross-post to all 11 networks from one calendar on one flat plan. 7-day free trial — €0.00 due today.

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee

FAQ

Frequently asked questions

The questions people ask before they schedule — answered honestly, hedged where platform behavior changes.

Start My Free Trial

€0.00 due today · cancel anytime · 7-day money-back guarantee