記事をXにシェアした時、画像が表示される記事とされない記事がある。設定は同じはずなのに何故かムラがある。色々試してみたので記録として残しておく。結論から言うと完全には解決していない。
OGP設定とキャッシュプラグインを確認したが問題なかった
WordPressでCocoonを使っている。まずCocoonの設定画面でOGP周りを確認した。
※OGPとはSNSでシェアされたときにタイトルや画像を表示するための仕組みのこと
- 「OGPを使用する」がオンになっているか
- 「Twitterカードを使用する」がオンになっているか
- カードの種類が「summary_large_image」になっているか
全部問題なかった。次にキャッシュ系プラグインを疑ったが、WP Fastest Cacheを無効化した後に書いた記事でも表示されないものがあったので関係なかった。

Xのキャッシュをリフレッシュできるカード検証ツールを使ってみた
Xは一度OGPを取得するとキャッシュする。自分の場合、記事を公開してすぐ予約投稿を設定していたので、そのタイミングでXがOGPを取得しにきて失敗キャッシュが残った可能性があった。
Xにはカード検証ツールというものがあり、URLを入れるとXがOGP情報を再取得してキャッシュをリフレッシュできる。以下が表示されればOKだ。
- 情報:ページが正常に取得されました
- 情報:twitter:card = summary_large_image タグが見つかりました
- 情報:カードの読み込みに成功しました
表示されていなかった記事のうち1個目はこれを試したところ、数分後に画像が表示されるようになった。
1個目が直ったので2個目も同じように試した。こちらのアイキャッチ画像は624×360とやや小さかったので、念のため1230×710に差し替えた上で検証ツールも通した。しかしそれでも表示されていない。
ちなみに1個目の画像サイズは673×711で推奨サイズより小さかったが、検証ツールだけで直った。つまり画像サイズが決め手かどうかも正直よくわからない。
おわり 法則性が見えない、正直運ゲー
Xのクローラー自体が不安定という話もあり、同じ条件でも表示されたりされなかったりするらしい。
そしてこの記事を書いている途中、2個目の記事もいつの間にか表示されるようになっていた。さらに一切触っていない別の記事まで勝手に表示されていた。つまり時間が経てば勝手に直ることもあるらしい。
とりあえずやっておいた方がいいのはこのくらい。
- 画像サイズは1200×630px前後を目安にしておく程度でいいと思う
- 記事公開から少し待ってから予約投稿を設定する
- ポストする前に気になる記事はカード検証ツールにURLを通しておく
完璧な解決策ではないが、やらないよりはマシだと思っている。あとは待てば勝手に直ることもあるので、あまり気にしすぎないのが一番かもしれない。




コメント