Discord リンクのプレビューが表示されない理由: 原因と解決策
Discord リンクのプレビューが表示されません?
最も一般的な原因は、無効な埋め込み、Open Graph メタデータの欠落またはアクセス不能、または Discord ページまたは画像をフェッチできないことです。まずOGプレビュー/DiscordリンクチェッカーでURLを確認してから、以下のDiscord側の設定を行ってください。
ここから始めましょう
- 自分がどのケースに該当するかを決定します: 他の人のリンクを表示する か、Web サイトを所有する。
- どこにいても、no リンクのプレビューが表示される場合、それはほとんどの場合、Web サイトではなく、クライアントまたは権限の設定です。
- 同じ URL が 1 つのサーバーでプレビューされ、別のサーバーではプレビューされない場合は、そのチャネルまたはロールで Embed Links を確認してください。
- URL が誰にもプレビューされない場合は、
Discordbotが見るものを取得します: 生の HTML のタグ、HTTPS、ボットチャレンジなし。
他の人のリンクを見たいだけの場合
別のサイトのメタタグを修正することはできません。変更できるのは、Discord が you に表示できる内容、またはそのチャンネルで自動埋め込みが許可されている内容のみです。
1. クライアントが Web サイトのプレビューを非表示にしています
Discord には、Web サイトへの自動埋め込みをオフにするユーザー設定があります。デスクトップでは、[ユーザー設定] → [チャット] または [テキストと画像] の下にあり、「埋め込みとプレビュー Web サイトのリンクを表示」のようなラベルが付いています。これをオフにすると、他の人がカードを見ているときでも、プレーンな URL が表示されます。
2. メッセージは意図的に埋め込みを抑制しました
URL を山括弧で囲むと、Discord に URL を自動埋め込まないよう指示します。
<https://example.com/page>
メッセージがそのように見える場合、プレビューは壊れているのではなく、全員に対して非表示になっています。
3. チャンネルまたはロールが Embed Links を拒否します
Discord の権限 EMBED_LINKS は次のように文書化されています: この権限を持つユーザーによって送信されたリンクは自動埋め込まれます。 @everyone、投稿者の役割、および特定のメンバーに対するチャンネルの権限の上書きを確認してください。そのチャネルでの拒否は、サーバー全体の許可よりも優先されます。
あなた がよく知られた公開 URL (Wikipedia の記事など) を投稿してそれが埋め込まれている場合、そのチャンネルには問題がなく、元のサイトが問題です。
4. 影響を受けるのは 1 人のみ
同じチャンネルにいる他の人に質問してください。相手にはカードが表示され、あなたにはカードが表示されない場合、それはクライアント設定、古いアプリ、またはローカル キャッシュが原因であり、Open Graph ではありません。
あなたがウェブサイト所有者の場合
Discord は、クローラー (Discordbot、多くの場合、Discordbot/2.0) で URL を取得します。 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 のような相対パスは失敗することがよくあります。 Proovd または Discord リンク プレビュー チェッカー で確認してください。これらのツールは、Discord 自身のキャッシュに現在保存されているタグではなく、クローラーが解析できるタグを表示します。
Discord は完全な公式 OG 仕様を公開していません。実際には、埋め込みに Open Graph タグを使用します。 twitter:image だけに依存しないでください。
2. Discordbot がページと画像をフェッチできることを確認します
- HTML URL と画像 URL は、ログイン ウォール、403、または Cloudflare 「ちょっと待ってください…」チャレンジではなく、成功 (通常は 200) を返す必要があります。
- Bot Fight Mode および同様の WAF ルールは、クローラーをボットとして扱います。これは、Slack とメタをブロックするのと同じ方法で、Discord をブロックします。 Cloudflare リンクのプレビューをブロックする をご覧ください。
robots.txtで Discordbot を許可することはまだ価値があります。オリジンの前にあるチャレンジ ページではタグが非表示になります。
3. 画像サイズ — 実際にわかっていること
Discord は、開発者権限ドキュメントで「最小 300×300 または埋め込みなし」という厳密なルールを公開していません。 Proovd でプレビューを実行してわかったこと: HTTPS 経由でアクセス可能な大規模な JPEG または PNG を使用します。 1200×630 は他のプラットフォームでも動作するため、安全なサイズです。ファイルは通常のアップロード制限内に十分に保ってください(Proovd の Discord の画像チェックでは、8 MB を超えるファイルにフラグが立てられます)。
タイトルと説明は表示されるが画像が表示されない場合、通常、画像の URL はブロックされているか、奇妙にリダイレクトされているか、最初の HTML に含まれていません。
4. 古い Discord キャッシュ
Discord は URL ごとに埋め込みをキャッシュします。 Discordには公開「Sharing Debugger」はありません。タグを変更した後:
?v=2など、少し異なる URL を投稿すると、Discord はそれを新規として扱います。- または、古いメッセージを削除し、サイトが実際に新しい HTML を提供してから再投稿します (ブラウザーだけでなく、view-source またはcurl で確認してください)。
5. ボットと Webhook は別の問題です
Discord が URL を自動埋め込むことを期待する場合、URL を投稿するボットにはそのチャンネルに EMBED_LINKS が必要です。 API に組み込まれたリッチ埋め込みは、Open Graph ではなく、JSON ペイロードです。人間が貼り付けた URL が機能するが、ボットの URL が機能しない場合は、og: タグではなく、ボットのメッセージ フラグ (suppress-embeds を含む) を検査してください。
Discord リンク チェッカー vs Discord サーバー チェッカー
「Discord リンク チェッカー」、「Discord 埋め込みチェッカー」、「Discord サーバー リンク チェッカー」などの検索クエリは同じジョブではありません。
- リンク/埋め込みチェッカー — 公開 URL のOpen Graph を検査します。 Proovd の Discord プレビュー ページ はそのためのものです。
- サーバー / 招待チェッカー — 招待スプラッシュ画像とサーバー ウィジェットは別の Discord 機能です。この記事は、Proovd がそれらを検査しているとは主張しません。
クイックチェックリスト
- 同じチャンネルにいる他の人にもカードが表示されますか?
- Discord ユーザー設定で Web サイトのプレビューが有効になっていますか?
- チャンネルは投稿者に Embed Links を付与しますか?
- URL が
< >でラップされていませんか? og:title/og:imageは最初の HTML 応答 (JavaScript の後だけでなく) に含まれていますか?- ブラウザ以外のクライアントは 403 チャレンジなしで URL を取得できますか?
- タグを変更した後、新しいクエリ文字列を使用して再投稿しましたか?
よくある質問
私のリンクがDiscordでプレビューを表示しないのはなぜですか?
問題を分割します。自分だけが失敗する場合は、クライアントまたはチャネルの埋め込み権限を修正してください。全員が失敗した場合、Discordbot は使用できない Open Graph データ — タグの欠落、JS のみのタグ、HTTP 画像、またはフェッチのブロックです。
Discord でリンクのプレビューを作成するにはどうすればよいですか?
サーバーでレンダリングされた HTML に Open Graph タグを挿入し、Discord が取得できる HTTPS 画像 URL を使用し、ポスターに許可されている Embed Links を保持し、裸の URL (< > でラップされていない) を貼り付けます。
サーバーに投稿せずに Discord の埋め込みを確認するにはどうすればよいですか?
Proovd などの Discord リンク プレビュー チェッカーを使用します。 Discord のキャッシュはクリアされません。クローラーにタグが存在するかどうかを示します。
関連記事
まずはWebサイト側を確認してください
URL を Proovd に貼り付け、Discord カードを Slack、LinkedIn、X、WhatsApp、Reddit と比較します。タグがそこにあるのに、Discord がまだ何も表示されない場合、残りの作業は Discord の設定か、Discordbot のブロックです。