RSS į 66 socialinius tinklus: Facebook, Instagram, X, LinkedIn, Telegram ir kitus Blogas Partnerių programa Kontaktai
Prisijungti Pradėti nemokamai
Updated: 2026-10-13
Discord Link Embeds for RSS Posts: Fix Missing Previews

Short answer: When an RSS item is posted to a Discord channel through a webhook, Discord creates the link embed itself by fetching your article page and reading its Open Graph tags. Missing or wrong embeds usually come from a page that blocks Discord’s crawler, missing or relative image tags, extra links in the message text, or an embed that Discord cached earlier. Fix the tags, allow the Discordbot user agent, add a summary_large_image Twitter card for big pictures and a theme-color for the side bar, and new posts will show the embed you expect.

Discord servers are a natural home for blog posts, release notes, news and product updates, and a webhook makes posting them automatic. What members actually see, though, is decided by the embed: the coloured card with the site name, title, description and image under each message. This guide explains how Discord builds embeds for auto-posted links, which tags control each part of the card, the most common reasons embeds go missing or look wrong, and how to test and fix them without spamming your community.

How Discord builds a link embed

A message posted through a Discord webhook can contain text and, optionally, embeds supplied by the sender. When the text contains a URL, Discord also fetches that page and generates an embed from its metadata. PostRSS uses that second route: it posts the item text with the link, and Discord builds the card from your page. The result is that the embed always matches what your website declares for sharing, the same way it does when a member pastes the link by hand.

Discord’s crawler identifies itself with a user agent that contains Discordbot. It reads standard tags from the Open Graph protocol and a few extra ones:

  • og:site_name for the small line at the top of the embed;
  • og:title for the bold, clickable title;
  • og:description for the text under the title;
  • og:image for the picture;
  • twitter:card set to summary_large_image to show the picture large under the text rather than as a small thumbnail beside it;
  • theme-color for the colour of the bar on the left edge of the embed.

A minimal set of tags for good embeds

Most sites already output Open Graph tags through their theme or an SEO plugin. For Discord, check that each article page has the following in its HTML source:

<meta property="og:site_name" content="Example Blog">
<meta property="og:title" content="How we cut build times in half">
<meta property="og:description" content="Caching, parallel jobs and two config changes.">
<meta property="og:image" content="https://example.com/img/build-times.jpg">
<meta name="twitter:card" content="summary_large_image">
<meta name="theme-color" content="#E8541F">

The image URL must be absolute and use https. The image should be a normal JPEG or PNG file of a sensible size, such as 1200 by 630 pixels, and it must open directly in a browser without a login or redirect. More on the image side is in how to control which image gets auto-posted.

Why the embed is missing

If a message shows only a blue link and no card, Discord could not build an embed. Check these causes in order:

  1. The crawler is blocked. Firewalls, bot protection services and security plugins often answer unknown clients with a challenge page or HTTP 403. Allow user agents containing Discordbot, or relax the rules for article pages.
  2. The page is slow or not public yet. If the feed publishes an item before the page is reachable, or the page takes too long to render, Discord gives up.
  3. There are no tags. Without Open Graph tags, Discord may show very little or nothing at all.
  4. The viewer has embeds turned off. Discord users can switch off link previews in their own chat settings. If only one member reports missing embeds, ask them to check that setting.
  5. A moderator removed it. Members with permission to manage messages can remove embeds from individual messages.

Bot protection is the most common cause on modern hosting. The same issue can block feed fetching too, as explained in Cloudflare blocking your RSS feed.

Why the embed looks wrong

An embed that appears but shows the wrong content has different causes:

  • Logo instead of article image. The page has no featured image, so the SEO plugin’s default image is used. Give every post its own image.
  • Small thumbnail instead of a large picture. The page lacks twitter:card set to summary_large_image, or the image is small or square.
  • Several embeds under one message. Discord can create an embed for each link in the message. If your item description contains other URLs, they produce extra cards. A message format based on the title avoids it.
  • Grey or random side colour. Add a theme-color meta tag with your brand colour.
  • Old title or image after a fix. Discord caches embeds for a URL for some time. New links show the corrected card; a link that was already posted may keep the cached version for a while.
  • Cut description. Discord shortens long descriptions. Write an og:description of one or two sentences that works on its own.
Part of the embedControlled byCommon problem
Site name lineog:site_nameMissing or set to a domain
Titleog:titleGeneric site title used instead
Descriptionog:descriptionNavigation text or cookie notice
Imageog:imageRelative URL or default logo
Large or small imagetwitter:cardMissing summary_large_image
Left colour bartheme-colorNot set

Test embeds without spamming the server

Every test message in a real channel notifies members. A private test setup avoids that:

  1. Create a private server with one text channel, or a private channel visible only to you.
  2. Create a webhook in that channel and connect it as a separate target with the same feed.
  3. Paste a few article links by hand in the same channel to see how Discord renders them.
  4. Compare an article with a featured image, one without, and one of each content type you publish, such as a product page or an event.

When you test a page you just fixed, use a fresh URL so the cache does not hide the change, for example by adding a harmless query parameter such as ?test=2. Remove the test target once the real channel is set up.

Message text that works with embeds

The embed already shows the site, headline, summary and picture, so the message above it can be short. Repeating the full description above an embed that shows the same description makes channels hard to scan. Three formats work well:

  • Title only for blog and news channels.
  • Static text and title when several feeds post into one channel, with the static text naming the source, such as New on the blog.
  • Title and description for channels where members often read with embeds turned off.

Discord message text is limited to 2,000 characters, so long descriptions are shortened anyway. Mentions are another consideration: a feed title that contains something like @everyone could wake up a whole server. PostRSS sends Discord messages with mentions disabled, so such text stays visible as plain text and pings nobody. For channel choice, roles and announcement channels, see our guide to auto-posting to a Discord channel.

Embeds and server performance

Discord fetches a page once to build its embed, not once per member, so even a large server does not cause heavy load on your site. What matters more is that the page answers quickly and with HTTP 200 at the moment the message is posted. If your site publishes many items at once, for example after an import, set a maximum number of posts per update so the channel and your server both receive items at a reasonable pace. Posting windows help further when your community is mostly in one time zone.

Setting the tags on common platforms

You rarely need to write these tags by hand. Most platforms have a place for them:

  • WordPress. SEO plugins output Open Graph and Twitter card tags, usually with a setting for the default card type. Choose the large image card, and set a featured image on every post so the plugin does not fall back to the site logo. A theme-color tag can be added in the theme’s header template or with a small header snippet.
  • Shopify. Themes output Open Graph tags for products and blog articles from the product images and article images. Check that blog articles have an image set, otherwise the shop’s default social image is used.
  • Ghost. Each post has social settings for Facebook and X cards, and the feature image is used when no special social image is set.
  • Static sites. Hugo, Jekyll, Eleventy and similar generators add tags in the base layout from front matter. Build absolute image URLs from the site’s base address, because relative paths do not work in embeds.

Whatever the platform, verify the result in the page source of a real article rather than trusting the settings screen. Caching plugins and CDNs sometimes keep serving an older version of the page head for a while after a change.

Which feeds work best with embeds

Embeds make the biggest difference for content with strong pictures and clear headlines: blog posts, product launches, game updates, event announcements and video pages. For release notes and changelogs, where the text matters more than the picture, a title and description format with a smaller embed is often easier to read. For high-volume news feeds, consider a dedicated channel so embeds do not push conversations off the screen, and use keyword filters to send only the items your members care about. Fewer, richer posts usually get more clicks than a constant stream of cards.

Checklist before you connect a feed

  • Every article has its own absolute https og:image.
  • og:title and og:description are in the HTML source, not added by JavaScript.
  • twitter:card is set to summary_large_image for wide pictures.
  • theme-color is set to your brand colour.
  • Discordbot is not blocked by firewalls or bot protection.
  • Item descriptions contain no extra links before the article link, or the message format uses only the title.
  • A private test channel shows the embed you expect.

How PostRSS helps

PostRSS has posted RSS and Atom feeds to social networks and community platforms since 2014, and Discord is one of its 66 supported networks. You create a webhook in the channel, connect it, add your feed and choose a message format. Each new item is posted with its link, Discord builds the embed from your page, and mentions in feed text never ping your members. Keyword filters, posting windows, posts-per-update limits and UTM parameters let you shape each channel. The steps are on the auto-post RSS to Discord page, every option is on the features page, and plan limits are on the pricing page.

Related reading

The bottom line

Discord embeds for auto-posted RSS items come from your pages. Give every article complete Open Graph tags with an absolute image, add summary_large_image and a theme-color, let the Discordbot crawler in, and keep extra links out of the message text. Test in a private channel with fresh URLs, keep the message short, and your Discord channel will show clean, consistent cards for every new post.

FAQ

Why does my Discord webhook post show a link but no embed?

Discord could not read the page. Bot protection blocking the Discordbot crawler, a slow or not yet public page, or missing Open Graph tags are the usual causes. Members can also turn off link previews in their own settings.

How do I get a large image in a Discord embed?

Add a twitter:card meta tag with the value summary_large_image and use a wide og:image, for example 1200 by 630 pixels. Without it, Discord often shows a small thumbnail beside the text.

How do I change the colour of a Discord embed?

Discord uses the theme-color meta tag of the linked page for the bar on the left of the embed. Set it to your brand colour in the head of your article template.

Why does Discord still show the old image after I fixed it?

Discord caches embeds for a URL for a while. New posts show the corrected card, and for testing you can add a harmless query parameter to get a fresh fetch.

Can an RSS title with at-everyone ping my whole server?

Not with PostRSS. Messages are sent with mentions disabled, so text that looks like a mention stays visible as plain text and does not notify anyone.

New guides, once a month

What changed in the networks, what broke, and how to fix it before it costs you reach.

We send a confirmation e-mail first. Unsubscribe any time.

Daugiau mūsų komandos įrankių

Sukūrė Internet Solutions – PostRSS komanda. Kiekvienas produktas sutaupo laiko savaip.