web-dev-qa-db-ja.com

投稿されたURLのメタデータを更新する

Facebookで、リンクを投稿すると http://wisdomuniversity.org の場合、Fascebookに古いメタデータ(タイトル、説明など)が含まれます。最近Open Graph Protocolメタタグを追加しましたが、Facebookはまだ古いものを使用しています。 Facebookはこのメタデータをどのように更新しますか、また強制的に更新できますか?

23
Dan Gauthier

Facebookにpingを送信し、変更を更新するよう通知する必要があります。そのためには、 RL Linter を使用できます。 Facebookが変更を更新するまでに時間がかかる場合があります。 pingを実行してから更新にどれくらい時間がかかるかはわかりませんが、試してみてください。

EDIT:これは公式にFacebookからです: Open Graphプロトコル

メタタグの編集

ページのタグを更新することで、ページの属性を更新できます。 og:titleとog:typeは最初にのみ編集可能であることに注意してください。ページが50件のいいねを受信すると、タイトルが固定され、ページが10,000件のいいねを受信すると、タイプが固定されます。これらのプロパティは、既にページを気に入っている意外なユーザーを避けるために修正されています。これらの制限に達した後でタイトルまたはタイプのタグを変更しても何も起こりません。ページは元のタイトルとタイプを保持します。

変更をFacebookに反映するには、ページを強制的にスクラップする必要があります。ページの管理者が[いいね!]ボタンをクリックしたとき、またはURLがFacebook URL Linterに入力されたときに、ページがスクレイピングされます。 。リンターをcURLすることにより、プログラムでページを強制的にスクレイピングすることができます。例えば:

curl
> https://developers.facebook.com/tools/lint/?url={YOUR_URL}&format=json
48
Syed I.R.

Facebookデバッガを使用して、og FBメタデータに関連する問題を検出します https://developers.facebook.com/tools/debug/ 。次に、Fbが画像が小さすぎると言った場合、より大きな画像を引き出し、画像に奇数の幅を使用します。 300px、500pxなど。FBが正しい画像サイズ、タイトル、または説明、メインサイトのメタデータを取得する傾向を見つけられない場合があります。

5

ここに記載されているように、Open Graphオブジェクト情報を更新できますが、CURLリクエストを送信するだけです。 https://developers.facebook.com/docs/sharing/opengraph/using-objects

POST https://graph.facebook.com/?id={object-instance-id or object-url}&scrape=true

これがお役に立てば幸いです...

3

ツールのURLが https://developers.facebook.com/tools/debug に変更されました。 GETリクエストは次のアドレスに送信する必要があります:https://developers.facebook.com/tools/debug/og/object?q={YOUR_URL}

「入力URLの解析エラー、データは取得されませんでした」というエラーが発生した場合。リクエストに次のヘッダーを追加してみてください:Referrer: https://developers.facebook.com

1

2016年末の時点で、プログラムでURLの変更をFacebookに通知し、それを再度取得する方法は、POSTをこのURLに送信することです。

https://graph.facebook.com/?id={YOUR_URL}&scrape=true

以前の方法(このページに記載されている方法もある)は推奨されていません。これは文書化されています ここ

Facebookクローラーはオブジェクトを再スクレイピング(したがって更新)します。

  • オブジェクトデバッガにオブジェクトURLを入力した場合30日ごと
  • 最初のスクレイピングの後アプリがAPIを使用してスクレイピングをトリガーしたとき
  • エンドポイントこのGraph APIエンドポイントは、単に次の呼び出しです。

POST /?id={object-instance-id or object-url}&scrape=true

このエンドポイントからの応答は、スクレイピングされたオブジェクトに関するすべての情報を含むJSONオブジェクトになります(オブジェクトIDがGraph APIから読み取られたときに返されるのと同じデータ)。

idパラメータには、オブジェクトの正規URLまたはグラフ内のオブジェクトインスタンスのIDを指定できます。

0
Aviram