ハマったのでメモです。
TwitterでシェアしてもTwitter Cardが表示されない現象に悩みました。
metaタグもしっかり記述しててもです。
Card Validator | Twitter Developers で特定のURLを指定しても、以下のエラーメッセージが表示されてしまします。
Unable to render Card preview
LogERROR: Fetching the page failed because the fetcher cannot resolve the address.
何故か読み込んでくれません。
色々試して以下の解決方法を見つけました。
解決方法:URL末尾に “?abcdef” とか “#abcdef” とか付ける
どうもTwitter側に何かしらのキャッシュが残ってるようです。
一度失敗するとしばらくエラーが続く感じがします。
そこで”Card URL” に入れたURLの末尾にクエリやハッシュを付けて違うURLとして読み込ませてみます。
例)http://tsukuruto.net?abcdefg , http://tsukuruto.net#abcdefg
無事、表示されました。
このURLで一度Twitterの方にも投稿してみて問題なく表示されるのを確認します。
以下は http://tsukuruto.net?abcdefg でTwitterに投稿。
— 俳人 我流 (@Garyuten) 2016年9月3日
10分程度しばらく放置してから、 元URL(クエリ)も http://tsukuruto.net もCard Validator | Twitter Developers で表示されるようになりました。
追記 2016.09.03
Twitter Card 公式のトラブルシューティングに解決方法?が掲載されていました。
参考までに引用しておきます。
ツイートに表示されるカードの更新
サイトのメタタグを更新したが、ツイートに古いカードが表示される。カードを更新する方法は?
Twitterのウェブクローラは、ページ内のカードタグ情報をほぼ毎週再インデックスします。
カードのテストやイテレーションを行う場合は、タイムラインでの最新の内容によるテストが役立つことがあります。次の方法を使用すると、ページに指定されているカードの最新の内容でキャッシュを更新できます。
- カードのメタデータをページに追加
- そのページのURLをツイート
- ブラウザを再読み込みしてカードのコンテンツをタイムラインに表示
- ページ上のカードのメタデータを変更
- 同じURLをbit.lyから実行
- 新しいbit.ly URLをツイート
- ブラウザを再読み込みして最新の内容を表示
また、複数のbit.ly URLを作成して繰り返しテストすることもできます。たとえば、URLの最後にダミーのパラメータを追加したり (
http://www.test.com/?x=test1
)、独自のハッシュを追加したり (http://www.test.com/#test1
) すると、通常、ページのコンテンツには影響しませんが、xの値ごとに固有のbit.ly URLが生成されます。https://dev.twitter.com/ja/cards/troubleshooting#refreshing_tags
問題のURLをTwitterに投稿した後に、bit.ly でも実行すればいいみたいです。
今度、この現象が起きたら試してみます。
参考)Wordpressの方はrobots.txtも疑ってみてください。
Twitter Cardsの画像が表示されなかった原因はキャッシュじゃなくてクロール設定だった *Ateitexe
コメント
コメント一覧 (1件)
[…] ▶Twitter Card Validatorで”ERROR: Fetching The Page Failed Because The Fetcher Cannot Resolve The Address.” と出る時の対処法 – 我流天性 がらくた屋 […]