The Wayback Machine - https://web-wp.archive.org/web/20140826104330/https://dev.twitter.com/ja/docs/cards/troubleshooting

トラブルシューティング&FAQ

Updated on Sun, 2014-04-13 23:35

English | 日本語

Twitterカードの設定に関して、よくある疑問やトラブルをまとめました。

なるべくすべての問題を網羅するよう心掛けておりますが、もし内容に誤りがあったり、他にも疑問がある場合は、 Twitter Card Discussion にてお気軽にお問い合せください。

  1. カード検証ツールに関する問題
    1. "exceeded 15.seconds to pink-floyd while waiting for a response for the request, including retries (if applicable)" というエラーが表示される。
    2. "Failed to get a proxied URL for the image."というエラーが表示される。
    3. "Invalid Image. This image cannot be fetched."というエラーが表示される。
    4. "Caught Exception in App Proxy Service..."というエラーが表示される
    5. "Invalid card type."というエラーが表示される。
    6. 検証ツールがウェブサイトのテスト環境にアクセス出来ない
  2. カードの承認に関する問題
    1. どうすればカードが承認されますか?
    2. カードが承認されません。どのような原因が考えられますか?
    3. Playerカードに混合コンテンツに関するセキュリティの問題がある
    4. カードを再申請しましたが、この後どうなりますか?
  3. タイムラインに表示されたカードに関する問題
    1. ツイートに画像やビデオ、サマリーが表示されない
    2. 古いバージョンのカードが表示される
    3. Playerカードにサマリーのみが表示される
    4. Playerカードでビデオが正しく再生されない
    5. Playerカードがモバイルで正しくレンダリングされない
  4. カードを更新するには?
    1. サイトのメタタグを更新しましたが、ツイート内のカードが古いカードのままです。どうすればカードを更新できますか?
    2.  カードの画像以外の部分は更新されました。どうすれば画像も更新されますか?
  5. アプリケーションカードのデバッグ
  6. Playerカードのデバッグ
  7. アクティブ混合コンテンツに関する問題

カード検証ツールに関する問題

"exceeded 15.seconds to pink-floyd while waiting for a response for the request, including retries (if applicable)" というエラーが表示される。

エラー表示例:



以下のような原因が考えられます:

  • CMSサイトでクローラーをブロックするよう設定されています。もし、WordpressやBloggerといったCMSサービスをサイト内で用いている場合、意図せずにTwitterのクローラーをブロックしている可能性があります。TwitterのクローラーによるCMSサイトへのアクセスを許可する方法につきましては こちらのドキュメント(英語) をご参照ください。
  • ウェブサイト上の robots.txt でTwitterのクローラーをブロックする設定になっているため、クローラーがカードのメタデータを取得できていない この症状を確認するためには こちら をご参照ください。
  • Apacheの.htaccessファイルにリクエストを拒否するよう設定されている .htaccessファイルを開いて以下の様なディレクティブがないかご確認ください: .htaccessファイルより「deny from 199.59.149.*」のようなディレクティブを全て削除してください。
  • 指定された画像ファイルが大きすぎる Twitterのクローラーは最大2MBまでのファイルをダウンロードできます。このような症状が見られる場合は、ファイルサイズを縮小してから再度お試しください。
  • ネットワークの遅延によって、メタデータの取得に遅れが生じている もし、ウェブサーバーが遠隔地や不安定なネットワーク下で管理されている場合、Twitterのクローラーがメタデータを取得しづらくなっている可能性があります。再度カード検証ツールをお試しください。
  • ウェブサーバーのホスト先のネットワークがクローラーをブロックしている ネットワーク管理者に問い合わせて、IPやASNUMを用いてTwitterからのアクセスをブロックしていないか確認してください。TwitterクローラーのIPとAS番号は以下のとおりです:
    • クローラーのIP:
      • 199.59.148.209
      • 199.59.148.210
      • 199.59.148.211
      • 199.16.156.124
      • 199.16.156.125
      • 199.16.156.126
    • Twitter AS番号: AS13414

    なお、現在カード検証ツールの不具合の改善に取り組んでおります。完了するまでの間ご迷惑をお掛けしますがご理解ください。

"Failed to get a proxied URL for the image."というエラーが表示される。

エラー表示例:



twitter:imageタグで指定された画像ファイルにアクセス制限をかけていることが主な原因です。社内専用ネットワーク等を用いている場合等に、このような症状がよく見られます。画像ファイルがインターネット上で一般的にアクセスできるかご確認ください。

自身のプライベートなネットワークにクローラーがアクセスできるか確認したい場合は、 こちら を参照ください。

"Invalid Image. This image cannot be fetched."というエラーが表示される。

エラー表示例:



以下のようにいくつかの原因が考えられます:

  • 画像サイズが推奨サイズより小さい プロダクトカードのイメージは160 x 160以上を推奨しております。
  • ネットワークの遅延によって、画像の取得に遅れが生じている もし、ウェブサーバーが遠隔地や不安定なネットワーク下で管理されている場合、Twitterのクローラーが画像を取得しづらくなっている可能性があります。再度カード検証ツールをお試しください。

なお、現在カード検証ツールの不具合の改善に取り組んでおります。完了するまでの間ご迷惑をお掛けしますがご理解ください。

"Caught Exception in App Proxy Service..."というエラーが表示される

エラー表示例:



twitter:app:id:iphonetwitter:app:id:ipadタグの値が"id"ではじめている場合、余計な"id"を取り除き、数字のみに修正したうえ、再度お試しください。

"Invalid card type."というエラーが表示される。

エラー表示例:



ページのコンテンツタイプを指定するメタタグがないことが考えられます。通常、このメタタグは以下のように指定します。

  1. <meta content='text/html; charset=UTF-8' name='Content-Type'/>

検証ツールがウェブサイトのテスト環境にアクセス出来ない

多くのデベロッパーがテスト環境へのアクセスに制限をかけています。このため、検証ツールがウェブサイトへアクセスできずにカード用のメタタグを読み込むことができないことがあります。

このようなときに役立つ対策をまとめました:

  • ウェブサーバーを、公開されたポート番号で動かしてください。
  • 特定のポート番号へのアクセスのみをテスト環境へルートするように、ファイヤーウォールを設定してください。
  • クローラーがウェブサーバーにアクセスできるように、ウェブサイトの robots.txt ファイルを設定してください。 TwitterのクローラーではTwitterbotというユーザーエージェントを使用しています(Twitterbot/1.0の場合もあります)。このユーザーエージェントからのアクセスを許可するよう、以下のようにrobots.txtファイルで設定してください。

    1. User-agent: Twitterbot
    2. Disallow: 

カードの承認に関する問題

どうすればカードが承認されますか?

Twitterでは各カードの実装がガイドラインに沿ったものであるかチェックしております。なるべく早くカードを承認するように努力しておりますが、承認されるまでにお時間を頂く場合がありますのでご了承ください。

承認プロセスを円滑かつ迅速に進めるためには、以下の点について確認してください:

  • ページに正しくタグが埋め込まれており、ページが一般に公開されているか
  • カード検証ツールでテストを行ったか
  • カード検証ツールで"Request Approval"ボタンをクリックして、カードを申請したか
  • Playerカードをご利用の場合、 twitter:playerで指定したURLがブラウザで正常に機能するか

上記やこのドキュメントで紹介されている他の事項も合わせてご確認ください。

カードが承認されません。どのような原因が考えられますか?

もし申請が承認されなかった場合、再度このドキュメントをご確認頂いたうえ、カード検証ツールより再度申請してください。

特に、Playerカードのご利用にあたっては多くの要件を満たす必要がありますので、 Playerカードのシンプルなルール をご確認ください。

上記のドキュメントでカバーされていない問題につきましては、引き続き以下をご参照ください。

Playerカードに混合コンテンツに関するセキュリティの問題がある

ユーザーの安全性の観点から、Playerカードを使用するにはページ内のすべてのコンテンツがセキュアに読み込まれる必要があります。実際、Playerカードがウェブブラウザ上で開かれた際のブラウザのアドレスバーの表示を見れば、ページが混合コンテンツであるか分かります:

良い例 良くない例

混合コンテンツに関する問題の詳細と解決方法につきましては、以下の「混合コンテンツに関する問題」のセクションをご確認ください。

カードを再申請しましたが、この後どうなりますか?

通常、カードの申請後、数週間以内で結果をお知らせします。もし何らかの理由でカードをテスト出来ない場合、 Twitter Cards Discussionよりお問い合わせください。

タイムラインに表示されたカードに関する問題

ツイートに画像やビデオ、サマリーが表示されない

以下のように、いくつかの原因が考えられます:

  • まだカードが承認されていない カード検証ツールよりタグが挿入されたURLをテストし、Request Approvalをクリックして承認プロセスを開始してください。
  • ウェブサイト上の robots.txt でTwitterのクローラーをブロックする設定になっているため、クローラーがカードのメタデータを取得できていない この症状をに関する詳細は こちらをご参照ください。
  • ビデオのフォーマットがサポートされていない ビデオをデバッグする手順に関しては こちらをご参照ください。

古いバージョンのカードが表示される

一旦サイトが承認されると、Twitterのクローラーはおよそ週一回の割合でサイトのメタデータを再度取得します。

カードの表示内容を繰り返しテストしたい場合、アップデート内容をテストすることが有効です。 こちらより、カードのアップデート内容を確認する手順を確かめてください。

Playerカードにサマリーのみが表示される

Playerカードがまだ承認されていない可能性が高いです。

Playerカードに用いるURLの一例を カード検証ツール よりテストし、 Request Approval をクリックして承認プロセスを開始してください。



承認後、再度カード検証ツールでURLをテストして、Playerカードが正しく再生されることを確認してください。

Playerカードでビデオが正しく再生されない

いくつかの原因が考えられます。以下にあげる対策を試してください:

  • コンテンツを含むウェブページ全体がtwitter:playerとして指定されており、iframeに含まれるべきコンテンツ自身のURLが指定されていない twitter:playerの値はプレイヤーのみが表示される、シンプルなページでなければなりません。プレイヤーを一部として含むページ全体を指定すると、Playerカードのiframeにその一部のみが表示されます。
  • Playerカードのサイズが指定されていない twitter:player:heighttwitter:player:width タグが正しく挿入されていることを確認してください。
  • ビデオのフォーマットがサポートされていない ビデオをデバッグする手順に関しては こちらをご参照ください。

Playerカードがモバイルで正しくレンダリングされない

Twitterではすべてのコンテンツがウェブとモバイルの両プラットフォーム上で動作することを目指しています。

そのため、動画のフォーマットや実装が少し異なる二種類のタグがあります:twitter:playertwitter:player:stream

モバイルにおけるプレーヤーの動作に関する詳細については、 Playerカードに関するドキュメント内のモバイルの項目を確認してください。

カードを更新するには?


サイトのメタタグを更新しましたが、ツイート内のカードが古いカードのままです。どうすればカードを更新できますか?


およそ週一回の頻度で、Twitterのクローラーはメタタグを再度クローリング、インデクシングを行っています。

もし、カードのテストを行う場合、Twitter上での表示を確認する必要もあるでしょう。このような場合、以下の様な方法でクローラー側にキャッシュされているカード情報を最新のものに更新できます。

  1. メタタグをページに挿入します。
  2. ページヘのリンクをツイートします。
  3. ブラウザのウィンドウをリフレッシュします。
  4. メタタグを更新します。
  5. 同じURLを今度はbit.lyを使ってツイートします。
  6. ブラウザを更新してカードが更新されているか確認します。

また、複数のbit.lyリンクを用意しておくとテストを繰り返す際に便利です。 例えば http://www.test.com/?x=test1http://www.test.com/#test1 のようにダミーのパラメータやハッシュをURLに追加すると、固有のbit.lyリンクを同一のURLに対して複数作成することができます。


 カードの画像以外の部分は更新されました。どうすれば画像も更新されますか?


カードより参照されている画像もURLを元にキャッシュされています。これが原因で上の手順を行ってもカード内の画像が更新されないことがあります。

画像のURLの末尾に余分なパラメーターを追加すると、クローラーが別の画像として扱って再度画像を取得するため、このような状況を回避できます。

例:

  1. <meta name="twitter:image:src" content="http://example.com/myimage.jpg?4362984378" />

アプリケーションカードのデバッグ


アプリケーションカードやディープリンクを用いている場合、ツイートをしてもカードがレンダリングされないことがあります。 以下にいくつかの考えうる原因と対策をあげます。

  • カードに紐付いているURLがカード検証ツールで検証されていない。 カード検証ツールを使って確実にURLの検証をしてください。
  • Appleのアップストアにアップロードした画像が2MB以上である。 この場合、カード検証ツールが正常にカードを検証できません。これにより、一旦検証が完了してもツイート内にカードがレンダリングされません。 小さいサイズの画像をアップストアにアップロードしてください(できればアプリケーションをアップストアに再提出して、承認を受けてください)。

Playerカードのデバッグ


ウェブ上では、様々なビデオフォーマットを再生するためウェブブラウザに頼ります。そのため、ビデオストリームの挙動をブラウザ上で直接テストすることが重要です。

一般的に twitter:playertwitter:player:stream タグはブラウザで直接再生できる値でなければなりません。 もし、ブラウザで直接再生できなければ、多くのブラウザで対応されているビデオフォーマットを用いることを検討してください。

ビデオコンテントを直接テストするには、Google Chrome上で以下を行ってください。

  1. ブラウザのウィンドウを開きます。
  2. Twitterカードのメタタグを含むページのURLをアドレスバーに入力します。
  3. ページのソースを確認します。(表示→開発/管理→ソースを表示)
  4. メタタグ twitter:playertwitter:player:stream で指定されているURLをコピーします。
  5. ブラウザのアドレスバーにペーストします。

アクティブ混合コンテンツに関する問題

Twitterではユーザーの安全のために、混合コンテンツに関するポリシーを規定しています。 (なお、Firefoxやその他のブラウザの今後のリリースでは、この挙動を廃止してコンテンツが全く表示されないようになる予定です。)

このポリシーを簡潔にまとめました:

オーディオやビデオコンテンツのロード中や再生中に、アクティブ混合コンテンツに関するブラウザ警告が表示されてはいけません。

アクティブ混合コンテンツに関する問題を診断する簡単な方法を紹介します。Playerカードでコンテンツを再生した場合、



コンテンツページが安全な場合はアドレスバーには安全であると表示され(左)、アクティブな混合コンテンツである場合は安全ではないと表示されます(右)。

安全な場合 安全ではない場合

これをGoogle Chromeで再現する手順は以下のとおりです。

  1. ブラウザのウィンドウを開き、アクティブな混合コンテンツを含むツイートのURLをアドレスバーに入力します。
  2. アドレスバーに鍵アイコンが表示され、安全なブラウズ環境であることを確認します。
  3. メニューバーより 表示→開発/管理→デベロッパー ツール を選択します。
  4. ページ下部のウィンドウで Network タブをクリックします。
  5. ツイート内で"画像/動画を表示する"リンクをクリックしてTwitterカードを表示させます。
  6. 鍵アイコンに変化がない場合、安全なブラウズ環境が保たれたままです。
  7. もし鍵アイコンが開いた鍵アイコンに変化した場合、ブラウズ環境は安全ですが混合パッシブコンテンツ環境です。
  8. もし鍵アイコン上に赤いXマークが表示された場合、アクティブな混合コンテンツを含んでいることを示しています。このような挙動のPlayerカードは許可されません。
  9. スクリプトロード時のエラーを表示するには、 Network タブ内でエラーアイコン ( ) をクリックします。
  10. Network タブ内でメッセージとともに警告アイコンを表示しているスクリプトやコンテンツを探してください。
  11. このようなスクリプトはTwitterカードのセキュリティポリシーに違反しているため、HTTPSを用いる必要があります。

なお、デベロッパー ツール → Networkタブ内で、HTTPSエラーは以下のように表示されます。



多くの場合、ビデオコンテンツプロバイダ(BrightCoveやOoyala等)と協力してこの問題に対処する必要があるでしょう。自分のコンテンツのプロバイダにコンテンツの設定に関して問い合わせてください。