2012-04-18 15 views
4

私はFacebookのリンクを投稿して遊んでいます。最初の時間に、 "facebookexternalhit"を含むユーザーエージェントからのアクセスがあなたのサイトにアクセスし、some meta tagsを探します。facebookexternalhitに再アクセスさせるにはどうすればいいですか?

これまでのところうまくいきました。しかし、私がリンクを再投稿しようとすると、furureコールは発生しません。どのように私は再びページを読むことができるようにトリガーできますか?

更新をトリガーするために使用できるAPI呼び出しがありますか? Like Buttonのドキュメントで

答えて

4

それは言う:

Facebookが私のページをこすりないときは?

Facebookは、 のサイトを表示する方法を知るためにページを削る必要があります。

Facebookは24時間ごとにページをスクラップし、プロパティが になっていることを確認します。開いているグラフ ページの管理者が[ようこそ]ボタンをクリックしたときと、URLが のFacebook URL Linterに入力されると、そのページもスクラップされます。 FacebookはあなたのURL上のキャッシュヘッダーを観察します。 は、「Expires」と「Cache-Control」を好みの順に見ます。 しかし、長い時間を指定しても、Facebookは ページを24時間ごとに掻き分けます。

スクレーパのユーザエージェントは、 "facebookexternalhit/1.1 (+ HTTP://www.facebook.com/externalhit_uatext.php)"

リンターは現在Facebook Debuggerとして知られていますあなたはURLのためにそれを使用します、それは同じURLのためにFacebookのキャッシュをクリアし、新しい結果をキャッシュします。

+0

しかし、私はまだボタンのように使用しないでください。私はちょうどリンクを掲示することについて話しています。それは同じように扱われますか?ユーザーの投稿は24時間後に更新されますか? – rekire

+0

私はちょうどLikeボタンのドキュメントからその部分を取りましたが、その特定の情報はより一般的です。彼らはおそらくそれを置く別の場所を見つけるはずですが、今のところそれがあります。要点は、デバッガを使用すると、キャッシュを強制的に強制することができます。ただ試してみてください。 –

+0

Facebookデバッガの情報をありがとう、mod_securityがfacebookexternalhitを拒否してルールを削除した後、私は新しいスクレーパーを強制することができました。 – dangel

0

あなたが共有できるURLに「ランダム」GETパラメータを追加するだけでよいのです。ページのコンテンツには何の影響も与えませんが、Facebookのスクレイパーボットはあなたのサイトに再びアクセスします。

オリジナルのURL: "再アクセス" を強制します

http://example.com 
http://example.com?param=1 

新しいURL:

http://example.com?cache_buster=784932789532 
http://example.com?param=1&cache_buster=784932789532 
関連する問題