Instant WhatsApp Image Update for WooCommerce

An instant WhatsApp image update for WooCommerce means the correct card is ready the moment you save a product — not that WhatsApp re-reads the link on command. Nobody can make WhatsApp re-read a link: it caches previews in the recipient's app and exposes no refresh API. What you control is everything on the store side, and that is enough to make the next person who shares the link see the current product, price and photo.

The short answer

There are two clocks in a WhatsApp preview, and only one of them is yours.

Clock Who owns it Can it be instant?
The og:image your page serves You (the store) Yes — this is the part to fix
WhatsApp reading the page, and caching what it read WhatsApp, per recipient No — no API, no debugger, no workaround

Every "instant update" claim that ignores the second row is a lie, and every product that only fixes the first row still shows the right image as soon as WhatsApp looks again. That is the whole game: get the store side provably correct, then stop hoping WhatsApp cooperates.

Why your update does not show up

Four separate caches sit between "I changed the price" and "the preview changed". Merchants almost always blame the wrong one.

# Cache Keyed on What actually clears it
1 Your store's page cache / CDN the page URL purging the page cache
2 WhatsApp's link-preview cache the link people shared nothing — it expires on WhatsApp's schedule
3 WhatsApp's copy of the image bytes the image URL a new image URL
4 Your image CDN / render cache the image URL a new image URL, or purging it

Row 1 is the one people miss. A cached HTML page still contains the old og:image URL, so even a perfectly rebuilt card never gets discovered. Purge the page cache first, then look at the rest.

Rows 3 and 4 are why appending a version to the image URL is the only reliable cache-buster — a new image URL is a cache miss everywhere at once.

The WooCommerce part: your tag should never be stale

On WooCommerce the tag problem is usually one of two things, and neither is WhatsApp's fault:

  • There is no og:image at all. WordPress and WooCommerce emit none for product, product_cat or the shop page. Your SEO plugin supplies one — and for a product it reaches for the static featured image.
  • The tag exists but points at a fixed file. A static image URL cannot change when the price does. Every share after the edit re-caches the same stale picture.

FastOG takes the other route. The cover is a signed URL whose query contains the values that produced it, read from the live catalogue on every request: the product name, the current price (get_price() — the sale price on a discounted product), the compare-at "was" price, the sale badge, rating, stock and the product photo.

That has a consequence worth stating plainly: a price change is a URL change. The old URL no longer describes the product, so the CDN has nothing stale to serve, and the next fetch re-renders. No cache-busting hack, no "did I purge it" checklist.

What happens when you hit Save on a product

For Facebook — the one platform that lets anyone ask — FastOG does the asking for you:

  1. WooCommerce fires its native product.updated / product.created webhook (the permalink is in the payload).
  2. FastOG refreshes its catalogue record for the store, so the next cover is drawn from current data.
  3. A RefreshMetaPreview job is queued for that product's page URL. It is queued rather than inline — a full-catalogue sync must not add one blocking call to Meta per item — and it is de-duplicated, so re-saving the same product repeatedly does not spend Meta's rate limit.
  4. The job calls Meta's scrape endpoint with an app access token, and Meta replaces its cached copy of the preview for that page.

This is best-effort by design. If Meta is slow, refuses, or rate-limits, the sync still succeeds: the tag on your page is already correct, and the only cost is that Meta refreshes on its own schedule instead of immediately.

It does not refresh WhatsApp, LinkedIn or X, because none of them offers an API to refresh anything. That is not a FastOG limitation — it is the absence of an endpoint at the other end.

Check it in the right order

When a preview will not update, work down this list instead of guessing:

bash
# 1. Does the page still serve the OLD tag? (page cache — cache row 1)
curl -s https://your-store.com/product/example | grep -i 'og:image'

# 2. Is that image URL reachable without credentials? (cache row 3)
curl -I "https://...the-og-image-url-from-step-1..."

# 3. Did the image URL change after the edit? Compare with the URL from before.

If step 1 still shows the pre-edit URL, nothing downstream can help — purge the page cache. If step 1 shows a new URL and step 2 returns 200 OK with an image/png, the store side is correct and you are looking at cache row 2, which is WhatsApp's clock.

Want to see all four rows from the outside? Paste the product URL into See Your Links The Way Buyers Do — it fetches the page the way a crawler does, reads the live tags, and renders the result as WhatsApp, X and Messenger show it, next to a FastOG cover built from the same product data. No signup.

Does a cache-busting plugin or ?v=2 help?

They help in one narrow way, and the trade-off is real.

A preview is cached against the link people shared. A URL nobody has ever shared has no cached preview — which is why appending a changing query string (?v=2) is such a common trick. It works, and it costs you: the shared link is no longer your canonical product URL, search engines see a second address, and analytics split the traffic.

FastOG applies the same mechanism one level down, where it is free. The page URL stays canonical; only the image URL changes with the content. So the old cover cannot be served again, and the link you share is still the product page you want indexed.

What nobody can fix, and why we say so

  • WhatsApp caches the preview in the recipient's app. There is no API, no debugger and no tool — including ours — that can reach into it.
  • LinkedIn and X expose no documented programmatic invalidation API either. Their crawlers re-read on their own schedules; do not treat a third-party timing estimate as a platform guarantee.
  • Facebook is the exception, and the only platform FastOG pings for you. See Force a Facebook Open Graph Cache Refresh for the mechanics.

A vendor that tells you it refreshes WhatsApp is describing Facebook's behaviour and hoping you do not check. We would rather hand you the accurate map.

FAQ

No. WhatsApp exposes no refresh endpoint or debugger, and the cached preview lives in the recipient's app. You can only make sure the correct image is waiting for the next read.

There is no published figure and no way to query it — it is per recipient, per device. Treat it as "until WhatsApp decides otherwise" and optimise the store side instead.

Why did it update for me but not for my customer?

Because you tested by sharing a link that had never been shared from your device, or you sent it to a fresh chat. Your customer is reading a cached preview. Their preview and yours are independent.

Does changing the product URL force an update?

A URL nobody has shared has no cached preview, so yes — at the cost of a second address for the same product. Changing the image URL gets the same effect without touching your permalink, which is what FastOG does.

Do I need a plugin, or can I edit my theme myself?

A static og:image in your theme is much better than nothing, and it is free. What it cannot do is differ per product without hand-authoring an image per product — or track a price change. That is the point at which a dynamic cover pays for itself.

My site is not on FastOG. Does any of this still help?

Yes. The four caches, the check order and the platform limits are how the platforms behave, not how FastOG behaves. Work the list with curl and the debuggers.

Is there a free plan?

No, and that is deliberate — every FastOG plan is paid, so render capacity and bandwidth serve paying stores rather than a queue of free accounts. There is a 14-day trial with no credit card so you can judge the covers on your own catalogue.

Try it free — no signup required

Preview and test dynamic OG images in seconds.

Open the Free OG Image Tester