Twitter Card 画像が表示されない: 7 つの原因と解決策
Twitter カードの画像が表示されません?
Proovd でOpen Graph タグを無料でチェックします。URL を貼り付けて、X/Twitter、LinkedIn、Slack、Discord、WhatsApp、Reddit でどのように表示されるかを正確に確認します。
簡単な回答
- X/Twitter には
twitter:cardおよびtwitter:imageタグが必要です - summary_large_image の場合、画像は少なくとも 800×418 ピクセルである必要があります
- Twitter Card Validator を使用してデバッグし、キャッシュをクリアします
Twitter Card 画像が見つからない 7 つの原因
X (旧 Twitter) で共有された URL にカード画像が表示されない場合、ほとんどの場合、次の 7 つの問題のいずれかが原因です。それぞれを見ていきましょう。
1. twitter:card タグが見つからないか正しくありません
X には明示的な twitter:card タグが必要です。これがないと、たとえ OG タグが完璧だったとしても、X はカードをまったくレンダリングしません。
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Your Title" />
<meta name="twitter:description" content="Your description" />
<meta name="twitter:image" content="https://yoursite.com/image.jpg" />
カードの種類は 2 つあります: まとめ (小さいサムネイル) と summary_large_image (完全なカード)。視覚的なインパクトを最大限に高めるには、summary_large_image を使用します。
2. 画像が小さすぎる
X には最小画像サイズ要件があります。
- summary_large_image: 最小 800×418 ピクセル
- 概要: 最小 400×150 ピクセル
- 推奨: 1200×628 (すべてのプラットフォームで動作します)
画像が最小値より小さい場合、X は黙ってカードをドロップします。エラー メッセージはなく、リンクはプレーン テキストとして表示されるだけです。
3. 画像の URL は公開されていません
X のクローラーは、認証なしで画像をフェッチできる必要があります。一般的な阻害要因:
- ログインウォールまたは認証の背後にある画像
robots.txtによってブロックされました- Cloudflare または CDN がクローラーに 403/429 エラーを返す
- CORS 制限によりクロスオリジンフェッチが妨げられる
4. Twitterのキャッシュが更新されない
すべてのプラットフォームと同様に、X はカード データをキャッシュします。タグを更新すると、キャッシュの有効期限が切れるか、強制的に更新するまで、X は変更を取得しません。
<meta property="og:image" content="https://yoursite.com/new-image.jpg" />
Twitter Card Validator を使用して URL を入力し、キャッシュの更新をトリガーします。バリデーターは、X が見ているものを正確に示します。
5. 間違った MIME タイプまたは破損した画像
画像サーバーが間違った MIME タイプを返した場合 (例: image/jpeg content-type の PNG を提供する)、X はそれを拒否する可能性があります。同様に、破損したイメージや部分的に読み込まれたイメージも削除されます。
6. ページが Twitter のクローラーにエラーを返す
Twitter のボットがページを取得したときにページが 4xx または 5xx エラーを返した場合、カードは生成されません。これは次の場合に発生する可能性があります。
- レンダリングに JavaScript が必要な SPA アプリ (Twitter のクローラーは JS を実行しません)
- 米国を拠点とするクローラーをブロックする地理的ブロッキング
- Cloudflare 改札口または CAPTCHA
7. Twitter Card タグを使用せずに OG タグのみを使用する
X は OG タグにフォールバックできますが、 twitter:card タグを優先します。 og:image のみを設定し、twitter:image を設定しない場合、X はカードを正しくレンダリングしない可能性があります。必ず両方を設定してください。
<!-- Open Graph (for LinkedIn, Discord, Slack, WhatsApp) -->
<meta property="og:image" content="https://yoursite.com/image.jpg" />
<!-- Twitter/X specific (for X/Twitter) -->
<meta name="twitter:image" content="https://yoursite.com/image.jpg" />
クイックフィックスチェックリスト
twitter:cardタグが値summary_large_imageで存在することを確認します。twitter:imageタグに絶対 URL があることを確認します- 画像が 800×418 ピクセル以上であることを確認してください
- 画像がパブリックにアクセスできることを確認します (認証なし、ブロックされていない)
- Twitter Card Validator で検証
- マルチプラットフォーム検証のために Proovd でテストします
よくある質問
Twitter はカードデータをどれくらいの期間キャッシュしますか?
Twitter のキャッシュは通常 24 ~ 48 時間持続します。 Card Validator を使用すると、これがほぼ瞬時に加速されます。
X は今でも「Twitter Card」という名前を使用していますか?
はい。 X にブランド名が変更された後でも、ドキュメントとツールでは依然として「Twitter Card」用語が使用されています。
OGとTwitter Cardに同じ画像を使用できますか?
はい。 og:image と twitter:image の両方に同じ URL を使用します。唯一の違いはタグ名と属性です。
関連記事
ツイートする前に Twitter カードを検証してください
Proovd でOpen Graph タグを無料で確認します。URL を貼り付けると、X、LinkedIn、Slack、Discord、WhatsApp、Reddit でプレビューが表示されます。