Twitterカード の画像が突然消える?その原因は意外なところに

こんにちは、阿久梨絵です。
Twitterでブログ記事などをシェアしたとき、「カード画像が表示されない…」と戸惑ったことはありませんか?
しかも、そのURLを一度ブラウザで表示してからもう一度投稿すると、今度は画像が表示される――なんて、ちょっと不思議な現象も。

今回はその仕組みと、 Twitterカード とGoogleインデックスの意外な関係について、わかりやすくまとめました。

Twitterカードはどうやって画像を取得している?

Twitterにリンクを投稿すると、Twitterbot(クローラー)がそのURLにアクセスし、以下のようなOGPメタ情報を取得します。

og:image → 表示される画像
og:title → タイトル
og:description → 説明文

しかしこの際に、画像の読み込みに失敗したり、サーバーがBotに正しく応答できなかった場合、Twitterは“画像なし”のカード表示に切り替えてしまうのです。

ではなぜ“ブラウザで一度開くと表示される”のか?

この挙動は以下のような要因が絡んでいます。

原因説明
CDN側で画像キャッシュ生成が遅れていた初回アクセス時にまだ画像ファイルの生成処理が間に合っていない
画像が遅延読み込み(lazyload)でTwitterbotが取得できなかったJavaScriptベースで画像が遅れて表示されるような構成だと、Botが認識できない場合がある
Twitterbotが取得しようとした時にエラーを返していたサーバー負荷・HTTPS設定ミス・アクセス制限などで、画像取得がブロックされていた可能性あり
あなた自身のブラウザアクセスでキャッシュや画像生成が完了し、その後Twitterbotが正常取得“あとから表示される”のは人間アクセスによる副作用とも言えます

それ、Googleのインデックスにも関係あるの?

→→→はい、深く関係しています。

Googlebot(Googleのクローラー)もTwitterbotと同様に、ページのHTML構造や画像のメタ情報を取得して、評価・インデックス登録を行っています。

つまり、Twitterカードで画像が出ない場合は…

Googlebotも同じように情報取得に失敗している可能性がある
結果的にページがインデックスされない/低評価にされる場合がある

TwitterとGoogleは別のサービスですが、「情報取得できるか」の観点では同じような失敗が同時に起きている可能性があるわけです。

確実に画像を表示させるためにできること

1. Twitter Card Validatorで事前確認

 → [こちら]でOGPが取得できるかチェック&修正

2. OGP画像URLが高速で表示されるか確認

 → 遅い場合は画像軽量化やCDN設定見直し

3. 画像URLに制限(noindexやrobots、認証)をかけていないか確認

 → TwitterbotもGooglebotも画像に直接アクセスします

4. 投稿直後に出なくても“再表示で出れば正常”と捉える

 → キャッシュや一時的エラーの可能性があるので、焦らず再確認

まとめ

「 Twitterカード に画像が出ない」と「Googleにインデックスされない」は、
それぞれ別の問題に見えて、“クローラーにきちんと情報が渡っていない”という共通の根っこがあります。

焦らず、TwitterbotやGooglebotの“視点”で、ページの中身と構造を見直してみましょう。
人間には見えていても、Botには届いていない――そんな“見えない断絶”をつなぐことが、SEOにもSNS発信にも効く、一番の近道かもしれません。
阿久梨絵でした!

上部へスクロール
Verified by MonsterInsights