0

ルートページにアクセスするたびにランダムな見積もりを生成するWebサイトがあります:www.hedbergism.com。

いいねボタンを追加する作業をしていて、すべてのOpenGraphメタタグを追加しました。Facebookデバッガーで実行したところ、すべてのタグが正常に読み取られ、問題はないと言われています。

私がしたいのは、誰かが「いいね」をクリックすると、ページへのリンクが共有され、説明が現在表示している見積もりになるということです。これは、og:descriptionが設定されているものです。

実際に起こっているのは、彼らが「いいね」をクリックすることであり、彼らのタイムラインに投稿された「いいね」は、Facebookが最後にページをスクレイプしたときのものです。Facebookデバッガーを介してページを実行すると、そこに返された見積もりは、常に「いいね」ページに表示される新しい見積もりになります。

つまり、Facebookがソースにあるものではなく、キャッシュされたバージョンのog:descriptionを使用しているようです。これはどのように機能するのですか、それとも私は何か間違ったことをしていますか?

4

1 に答える 1

1

それがどのように機能するかです。毎日絶えず変更している場合は、スクレーパーにページを再スクレイプさせる必要があります。

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

Facebookが作成した方法では、各URLはオブジェクトであり、オブジェクトは動的に変更されません。

于 2012-07-10T21:30:23.707 に答える