7

URL の例を次に示します。

http://www.motherjones.com/mojo/2012/05/reince-priebus-lgbt-workplace-discrimination

上記は、Facebook のステータス更新ボックスに貼り付けたときに、画像、タイトル、または説明を取得していませんでした。これは、むき出しの URL のままでした。その後、デバッガーで実行しましたが、問題は見つかりませんでした。ステータス更新ボックスに貼り付けると、見出し、画像、説明が表示されるようになりました。

比較のために、まだデバッグしていない投稿を次に示します。アップデートボックスに貼り付けても変形しません。ただし、私または他の誰かがデバッガーで実行するとすぐに、見出しが表示され始めます (ただし、これには画像や説明はありません)。

http://www.motherjones.com/kevin-drum/2012/05/health-insurers-required-credit-obama-when-sending-out-rebate-checks

これは単にタイミングの問題である可能性があります -- FB はページのメタデータを準備するのに時間がかかります -- しかし、共有が適切に機能し始めるまでに数時間、場合によっては数日かかることに気付きました. それはトラフィックがピークに達してからずっと後のことなので、あまり役に立ちません。

これは 4 月 9 日頃から見られるようになりました。

私の質問: 私たちのページについて、Facebook がそれらをスクレイピングするのを遅らせている何かがありますか? 私は何が欠けていますか?問題がある場合、なぜデバッガーは私に知らせないのですか? 試してみるべきDoctypeのわずかに更新されたバージョンがあるようですが、それが原因である可能性は低いです。また、パブリッシュ時にデバッガーを介してすべてを実行するためのフックを作成してはならない理由はありますか?

4

1 に答える 1

2

Facebook は、ユーザーが共有したときの応答を高速化するために、破棄されたデータを自分の側にキャッシュします。いいねボタンのドキュメントには、次のように書かれています。

Facebook はいつ私のページをスクレイピングしますか?

Facebook は、ページをサイト内に表示する方法を把握するために、ページをスクレイピングする必要があります。

Facebook は 24 時間ごとにページをスクレイピングして、プロパティが最新であることを確認します。Open Graph ページの管理者が Like ボタンをクリックしたとき、および URL が Facebook URL Linter に入力されたときにも、ページがスクレイピングされます。Facebook は、URL のキャッシュ ヘッダーを観察します。「Expires」と「Cache-Control」を優先順に調べます。ただし、より長い時間を指定しても、Facebook は 24 時間ごとにページをスクレイピングします。

スクレーパーのユーザー エージェントは次のとおりです。「facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)」

ご覧のとおり、リンター (別名デバッグ ツール) を使用すると、使用された URL のキャッシュがクリアされ、新しいデータに置き換えられます。これが、ページをデバッグした後に異なる共有結果が得られる理由です。時には何日もかかるとあなたが言っているのは正しくありませんが、彼らの文書はその主題に関して完全に正確ではないかもしれません。

ページが新しい場合、つまり以前に廃棄されていない場合、キャッシュはなく、共有時に正しい結果が得られるはずです。これは、キャッシュをクリアする必要があるときに og データが変更された場合のみです。したがって、破棄されたページのデータを更新する場合は、必ず後でデバッグしてください。サーバー側からデバッグ ツールで使用するのと同じ URL に http 要求を発行するだけで済みます。Web インターフェイスを使用する必要はありません。

それでも期待どおりに動作しない場合は、着信要求のユーザー エージェント文字列を確認して比較し、 facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)一致する場合は返信した応答をログに記録し、一致しない場合は共有時に取得した結果と比較します。バグレポートを提出してみてください。パブリッシュごとにデバッガー リクエストを「フック」することに関しては、私は反対することをお勧めします。回避策を使用するよりも、問題を解決する方が良いと思います。

于 2012-05-15T00:18:42.990 に答える