← Blog

為什麼 Discord 連結預覽未顯示:原因和修復

Proovd 編寫 — 我們在 proovd.in 建立了一個免費的 Open Graph 預覽工具。

最後一次驗證是在 2026 年 9 月 19 日,針對 Discord 發布的 EMBED_LINKS 權限和當前公共客戶端設定。 Discord移動中的選單標籤;尋找控制,而不是一條永久路徑。

涵蓋 Discord 連結預覽、嵌入檢查器和「不顯示預覽的連結」—而不是直播串流縮圖或邀請啟動影像。

Discord 未顯示連結預覽?

最常見的原因是嵌入被禁用、Open Graph 元資料遺失或無法訪問,或Discord 無法取得頁面或圖像。首先使用 OG 預覽 / Discord 連結檢查器 檢查 URL,然後完成下面的 Discord 端設定。

從這裡開始

  1. 確定您屬於哪種情況:查看別人的連結擁有網站
  2. 如果 no 在任何地方為您連結預覽,則幾乎總是客戶端或權限設定 - 而不是網站。
  3. 如果相同的 URL 在一台伺服器上預覽,而在另一台伺服器上沒有預覽,請檢查該頻道或角色上的 Embed Links
  4. 如果 URL 從未向任何人預覽過,請取得 Discordbot 會看到的內容:原始 HTML 中的標籤、HTTPS、無機器人挑戰。

如果您只是想查看其他人的鏈接

您無法修復其他網站的元標記。您只能變更 Discord 允許顯示 you 的內容,或該頻道允許自動嵌入的內容。

1.您的客戶隱藏了網站預覽

Discord 有一個使用者設定可以關閉自動網站嵌入。在桌面上,它位於用戶設定→聊天文字和圖像下,標籤類似於「顯示嵌入和預覽網站連結」。如果關閉該功能,即使其他人都看到卡片,您也會看到普通的 URL。

2. 該訊息故意抑制嵌入

將 URL 括在尖括號中告訴 Discord 不要自動嵌入它:

<https://example.com/page>

如果訊息看起來像這樣,則每個人的預覽都會被抑制,而不是被破壞。

3. 渠道或角色否認Embed Links

Discord的權限EMBED_LINKS記錄為:具有此權限的使用者所傳送的連結將會自動嵌入。檢查頻道對@everyone的權限覆蓋、發布者的角色以及特定成員。此通道上的拒絕優於伺服器範圍內的允許。

如果 you 可以發布一個眾所周知的公共 URL(例如維基百科文章)並嵌入,則頻道沒有問題,原始網站才是問題所在。

4. 只有一個人受到影響

詢問同一頻道中的其他人。如果他們看到該卡而您沒有看到,則這是您的客戶端設定、過時的應用程式或本地快取 - 而不是 Open Graph。

如果您是網站所有者

Discord 使用其爬蟲取得 URL(Discordbot,通常為 Discordbot/2.0)。它讀取 HTML 元標記。它不運行您的客戶端 JavaScript。如果僅在 React 水合後注入標籤,Discord 會看到一個空殼。

1. 確認原始 HTML 中存在標籤

你至少想要:

<meta property="og:title" content="Your Title" />
<meta property="og:description" content="A short description" />
<meta property="og:image" content="https://yoursite.com/image.jpg" />
<meta property="og:url" content="https://yoursite.com/page" />

使用圖像的絕對 https:// URL。像 /og.png 這樣的相對路徑經常會失敗。使用ProovdDiscord連結預覽檢查器進行檢查 - 這些工具顯示爬蟲可以解析的標籤,而不是Discord自己的快取目前儲存的內容。

Discord 沒有發布完整的官方 OG 規範。實際上,它使用 Open Graph 標籤進行嵌入。不要單獨依賴twitter:image

2. 確保Discordbot可以取得頁面和圖像

3. 圖像尺寸-我們實際知道的

Discord 並未在其開發者權限文件中發布嚴格的「最小 300×300 或無嵌入」規則。我們從 Proovd 中運行預覽得知:透過 HTTPS 使用大型、可存取的 JPEG 或 PNG。 1200×630是一個安全的尺寸,因為它也適用於其他平台。將檔案保持在典型上傳限制以下(Proovd 的 Discord 影像檢查標記檔案超過 8 MB)。

如果標題和描述顯示,但圖像沒有顯示,則圖像 URL 通常會被封鎖、奇怪地重定向,或不在初始 HTML 中。

4. 陳舊的Discord緩存

Discord 快取每個 URL 的嵌入。 Discord 沒有公共「Sharing Debugger」。更改標籤後:

  1. 發布稍微不同的 URL,例如 ?v=2,因此 Discord 將其視為新的。
  2. 或刪除舊訊息並在網站實際提供新 HTML 後重新發布(使用檢視來源或curl 進行確認,而不僅僅是瀏覽器)。

5. Bot 和 Webhooks 是不同的問題

如果您希望 Discord 自動嵌入 URL,則發布 URL 的機器人仍需要在該頻道中使用 EMBED_LINKS。 API 內建的豐富嵌入是 JSON 有效負載,而不是 Open Graph。如果人工貼上的 URL 有效,而機器人的 URL 無效,請檢查機器人訊息標誌(包括抑制嵌入),而不是您的 og: 標籤。

Discord 連結檢查器與 Discord 伺服器檢查器

像是「Discord連結檢查器」、「Discord嵌入檢查器」和「Discord伺服器連結檢查器」這樣的搜尋查詢不是同一個作業:

快速清單

  1. 同一頻道中的其他人是否看到該卡?
  2. 您的 Discord 用戶設定中是否啟用了網站預覽?
  3. 頻道是否授予發布者Embed Links
  4. URL 是否包含在 < > 中?
  5. og:title / og:image 是否位於第一個 HTML 回應中(不僅在 JavaScript 之後)?
  6. 非瀏覽器用戶端能否在沒有 403 質詢的情況下取得 URL?
  7. 更改標籤後是否使用新的查詢字串重新發布?

常見問題

為什麼我的連結在 Discord 上沒有顯示預覽?

分解問題。如果僅對您失敗,請修復用戶端或頻道嵌入權限。如果每個人都失敗,則 Discordbot 無法取得可用的 Open Graph 資料 — 缺少標籤、僅 JS 標籤、HTTP 影像或阻止取得。

如何在Discord上進行連結預覽?

將 Open Graph 標籤放​​入伺服器渲染的 HTML 中,使用 HTTPS 圖像 URL Discord 可以獲取,保留 Embed Links 允許用於海報,並貼上裸 URL(未包含在 < > 中)。

如何在不發佈到伺服器的情況下檢查 Discord 嵌入?

使用 Discord 連結預覽檢查器,例如 Proovd。它不會清除Discord的快取;它顯示爬蟲程式是否存在標籤。

先查看網站端

將 URL 貼到 Proovd 中,並將 Discord 卡片與 Slack、LinkedIn、X、WhatsApp 和 Reddit 進行比較。如果標籤看起來就在那裡,而Discord仍然沒有顯示任何內容,則剩下的工作是Discord設定或Discordbot被阻止。