Facebook link preview not updating

Last updated October 31, 2026 · Reviewed by Sumera Yaqoob

Facebook saves the first title, description, and image it scrapes for a URL and keeps serving that copy. Changing your Open Graph tags on the site does not automatically refresh every Facebook post. This guide walks through a practical order: prove what your HTML sends, force a re-scrape, handle stuck images, and decide what to do about posts that already went out.

Why Facebook still shows the old preview

Work from most common to least:

  1. Facebook is serving a cached scrape. Your live page is already correct; Facebook has not fetched it again.
  2. Your origin still emits the old tags. Page cache, CDN, or a plugin serves stale HTML to facebookexternalhit while you see a fresh browser view.
  3. The post was created before the fix. Existing posts often keep the card they started with.
  4. og:url or the canonical points elsewhere. Facebook may scrape that other URL and build the card from it.
  5. Several plugins print competing og:* tags. Facebook may pick an older or smaller image.

If the image is missing everywhere—not just “stale on Facebook”—start with why your og:image is not showing instead.

Step 1: Confirm what the live HTML sends

Do this before opening Facebook’s tools.

  1. Open the exact URL people share (same host, path, trailing slash, and query string).
  2. Use View Source (not the Elements panel). Search for og:.
  3. Confirm there is one og:title, one og:description, and one og:image.
  4. Confirm og:image is a full https:// URL, not /uploads/….
  5. Confirm og:url matches the page you intend to share.
  6. Open the image URL in a private window with no login.

Then paste the page into the Link Preview Checker. It fetches the public HTML the way a crawler would and flags missing or relative tags. If View Source still shows old values, purge the page cache and CDN, then check again. Re-scraping Facebook will not help while your server still emits the old markup.

Optional: rebuild the tags with the Meta Tag Generator so you can compare a clean snippet to what your CMS prints.

Step 2: Re-scrape with Sharing Debugger

When View Source and the checker agree the page is right:

  1. Open the Sharing Debugger and sign in.
  2. Paste the exact share URL and click Debug.
  3. Compare the listed tags and preview to your page.
  4. Click Scrape Again until the preview matches (or until Facebook’s warnings make the remaining issue obvious).

If Facebook keeps returning old data after a clean View Source check, your edge or app server is usually still serving stale HTML to the crawler. Fix that first. Our Facebook Sharing Debugger landing page explains common warnings in plain language.

Step 3: Unstick a cached image file

Sometimes the title updates but the picture does not. Facebook may reuse the binary it already stored for that image URL.

  1. Export a fresh 1200×630 PNG or JPG (safe default for link cards).
  2. Upload it under a new file name (for example post-cover-v2.png).
  3. Update og:image to the new absolute URL.
  4. Scrape again in Sharing Debugger.

Use the OG Image Generator for a correctly sized card, or the Image Resizer if you already have artwork. Check dimensions against the OG image size guide and the Facebook size page. After export, the Social Image Checker can flag files that are too small for a large card.

Facebook’s absolute image minimum is 200×200; a large card needs about 600×315. Smaller files become small thumbnails even when the scrape is “successful.”

Step 4: What to do with posts already published

A successful scrape updates the stored preview for new shares of that URL. A post that already exists generally keeps its original card. Editing the post text does not reliably rebuild it.

Practical options:

  • Delete the post and share the link again after Sharing Debugger shows the correct card.
  • Share the link in a new post (or a comment) and verify that new card.
  • Do not assume Scrape Again alone will rewrite every historical post.

Common mistakes

Mistake What to do instead
Debugging example.com/page when people share …/page/ Inspect the exact string that appears in posts
Theme + SEO plugin + social plugin each printing og:image Keep one source; remove or disable the rest
Firewall blocking facebookexternalhit Allow Facebook’s crawler on the page and the image (see SocialImageKitBot for how our checker identifies itself)
Overwriting cover.png in place Use a new file name when the image is stuck
Expecting the mobile app to refresh instantly Test in a new post after the debugger is green

Platform note: Facebook vs WhatsApp

A clean Facebook debugger result does not prove WhatsApp will show the same image. WhatsApp is stricter about file weight. If Facebook looks right and WhatsApp does not, follow og:image works on Facebook but not WhatsApp.

When the debugger shows warnings

Sharing Debugger may report that the image could not be downloaded, that the URL redirected too many times, or that properties are missing. Treat those as origin problems, not Facebook bugs:

  • Image download failures usually mean a private CDN URL, hotlink protection, or a timeout on a huge file.
  • Redirect loops between www and apex confuse the scraper—canonicalize once and point og:url at that final address.
  • Missing properties mean your theme or plugin is not printing a full Open Graph set. Compare against a clean snippet from the Meta Tag Generator.

After each fix, scrape again. Do not keep scraping while View Source is unchanged; you will only confirm the same stale HTML.

Quick checklist

  • View Source shows one absolute https:// og:image
  • Image opens logged-out; prefer about 1200 by 630 pixels
  • Page cache and CDN purged after publishing the new tags
  • Sharing Debugger matches after you click Scrape Again
  • New file name used if only the picture was stuck
  • New post used to verify; old post re-shared only if needed

For the same class of problem on LinkedIn, see LinkedIn link preview not updating. For WordPress-specific tag sources, see How to set an OG image in WordPress.

Frequently asked questions

Short answers from this guide.

How long does Facebook cache a link preview?

Facebook does not publish a fixed TTL. Third-party reports often mention roughly a month, but it varies. Do not wait — re-scrape the URL in Sharing Debugger after your HTML is correct.

Will Scrape Again change posts I already published?

Usually not. A new scrape updates the preview for new shares. Posts created earlier often keep the card they were built with. Delete and re-share, or post the link again, after the debugger shows the right card.

Why does the Sharing Debugger show the new image but my post shows the old one?

The post was created before the re-scrape, or you are looking at an old app/tab cache. Share the link in a brand-new post and compare that card to the debugger.

Do I need a Facebook login to use the Sharing Debugger?

Yes. Facebook’s Sharing Debugger requires you to be signed in.

Should I change the image file name when only the picture is stuck?

Yes. Upload a new file (for example cover-v2.png), point og:image at that URL, then scrape again. Overwriting the same path often leaves Facebook serving the old binary.

Does og:url affect which preview Facebook builds?

Yes. Facebook treats og:url as the canonical address for the scrape. If it points at another path, Facebook may build the card from that URL instead of the one you pasted.

Related pages