Stale Embed on Discord

Why Discord keeps showing old preview data after you've updated your tags

Why it happens

Discord caches embed data for an unpredictable period, typically 20 minutes to several hours. No documented TTL, no public invalidation tool. Updated meta tags won’t affect existing embeds until the cache expires.

Images are cached separately through Discord’s CDN proxy, so you can see updated text with an old image, or the reverse.

Append a query parameter

Fastest fix for new shares:

https://example.com/page?v=2

Discord caches by exact URL, so this forces a fresh crawl.

Change the image URL

If the stale part is the image, change the og:image URL itself, not just the file at that path. Discord’s CDN caches by URL, so same-path updates don’t propagate.

<!-- Before -->
<meta property="og:image" content="https://example.com/og-image.png">

<!-- After -->
<meta property="og:image" content="https://example.com/og-image-v2.png">

Edit the message

Editing a message with a link sometimes triggers a re-fetch. Not guaranteed, but worth trying before deleting and re-posting.

Prevention

  • Use versioned image URLs: include a hash or version in the filename (og-image-abc123.png) so every update gets a unique URL
  • Set reasonable Cache-Control headers: Discord doesn’t always respect them, but it doesn’t hurt
  • Avoid dynamic content in og:description: if it changes frequently, the cached version will always look wrong

Already shared widely?

If the URL is already posted across many channels and you can’t control where, you have to wait for the cache to expire. For future shares, use a versioned query parameter.