Build & preview Discord component embeds for link previews
<head> of your existing homepage — nothing renders, nothing looks different to a visitor or in your page's HTML body. The only thing that changes is what Discord shows when someone shares that page's link.
example.com) and paste that snippet inside its <head>, next to your other meta tags. That's it — you're not creating a new file or a new route, just adding a few lines to a page that already exists. It has to be in the raw HTML your server sends back, since Discord's crawler doesn't run JavaScript: anything injected afterward by React, a CMS widget, or client-side routing is never seen.og:title / og:description / og:image tags in place (see the Reference tab if you don't have them yet). Discord falls back to those any time the component embed can't be used — nothing breaks either way.example.com into a Discord message (a DM to yourself works) to see the real render. Discord caches a preview per URL for a while, so if you edit the payload and the old version still shows, add a throwaway ?v=2-style query string to the URL while you test.<link> tag to the homepage's <head> pointing at it — still nothing visible, just less markup sitting inline on the page itself. That hosted JSON response has a hard 3,000-byte cap, which the Checks tab warns you about if you're over it.Paste this inside the <head> of your existing homepage — it's invisible, not a new page. Client-side-injected scripts are never seen by Discord's crawler, so it has to be in the HTML your server actually returns.
Host the JSON at a same-site HTTPS URL, then add this one line to your homepage's <head> — still nothing visible. This route has a 3,000-byte cap on the hosted response.
Reference only — this is not a new page to publish. It just shows where the inline tag sits relative to ordinary Open Graph fallback tags, in case your homepage doesn't have those yet. Copy only the tags you're missing into your real homepage's existing <head>.