Discord embed debugging

Discord Embed Preview

Discord embeds are built from page metadata. The preview can fail because the tags are missing, the image URL is not public, the image is cached, or Discord treats the site as a special provider. I check the normal metadata path first.

What to check for Discord

  • The page is public and returns HTML to crawlers.
  • The page has Open Graph title, description, image, URL, and type.
  • The image URL is absolute and crawlable.
  • The image works in a compact embed layout.
  • The metadata has changed at a new URL if Discord keeps showing the old card.
  • The site is not relying on JavaScript to add tags after the crawler fetches HTML.

Metadata first

For ordinary URLs, Discord embeds depend on metadata the crawler can fetch from the page.

Image URL matters

A correct og:image tag is not enough if the image URL redirects to HTML, blocks crawlers, or points at a stale file.

Cache happens

Discord can keep an old embed after you change tags. A changed URL is often the cleanest way to verify a new preview.

Discord embeds I check

  • Community announcements before posting in a server.
  • Game update pages where the image should identify the release.
  • Docs or support links that get pasted repeatedly by moderators.
  • Product pages where Discord keeps showing an old launch image.

Common questions

Does Discord publish full generic embed rules?

Not in the same way Meta, LinkedIn, or Slack document their crawlers. Discord support/community material points to Open Graph and Twitter metadata, so I avoid making stronger claims than that.

Why does Discord show a custom-looking embed for some sites?

Large providers can get special handling. For ordinary sites, I treat crawlable Open Graph metadata and a stable image URL as the practical path.

How do I force Discord to refresh a preview?

There is no universal public re-scrape button like Facebook's debugger. Change the page URL or image URL for a clean test after you fix the tags.

How Discord embeds usually get their data

Discord does not need your JavaScript app to run perfectly. It needs crawlable metadata in the page response. Open Graph tags are the normal path I check for title, description, image, and URL.

Discord support/community material mentions Open Graph and Twitter metadata for embeds. Discord also has special embeds for some large providers. For ordinary sites, I assume the practical contract is Open Graph plus sane image responses.

Why Discord keeps showing the wrong image

Discord cache is the usual reason after the tags are fixed. If the HTML and image are correct in a checker but Discord still shows the old image, change the page URL or image URL for a clean test.

Do not start by redesigning the image. First prove Discord can fetch it. Open the image URL directly, check the response type, check the dimensions, and make sure it is not behind a signed or blocked URL.

What makes a useful Discord embed

Discord embeds are often seen in narrow chat columns. A good image has a clear subject, enough contrast, and text large enough to survive scaling.

If every page uses the same generic image, the embed technically works but still wastes the share. That is where generated per-page OG images help.

Use the checker first

The existing checker already fetches the URL, reads the tags, checks the image, reports dimensions and file size, and shows the platform previews. This page is the entry point; the checker is where the work happens.

Open the checker

Related

cdf733b534ea2f2ed964d150330b323c44837e4f