No Embed Showing on Discord

Why your link shows as a plain URL with no preview

Minimum requirements

Discord needs at least og:title or og:description to generate an embed. No special card-type tag is required, but if both are missing, the URL shows as plain text.

Diagnosis checklist

  1. Check for og:title and og:description: view page source and confirm at least og:title exists
  2. Check server-side rendering: curl the URL and verify meta tags are in the HTML, not injected by JS
  3. Check robots.txt: a blanket Disallow: / blocks Discordbot
  4. Check response time: Discord has a ~5-second timeout: bash time curl -A "Mozilla/5.0 (compatible; Discordbot/2.0; +https://discordapp.com)" https://yoursite.com/page
  5. Check SSL: valid HTTPS required; self-signed or expired certs break embeds
  6. Check Content-Type: must be text/html; JSON or other types won’t generate embeds
  7. Check the URL: unusual characters or very long query strings can cause issues

Client-side rendering

Discordbot doesn’t run JavaScript. If your app (React, Vue, Angular, etc.) renders OG tags client-side, you need SSR, pre-rendering, or static meta tags in your HTML template.

User-level settings

The viewer may have disabled link previews. Under User Settings > Text & Images, “Show embeds and preview website URLs pasted into chat” must be enabled. This is a per-user setting, and there’s nothing you can control.

Testing

curl -A "Mozilla/5.0 (compatible; Discordbot/2.0; +https://discordapp.com)" https://yoursite.com/page | grep -i "og:title"

If the tag shows up and the response is fast, paste the URL in Discord with ?v=2 appended to bypass cache and confirm the embed renders.