Open Graphでメタタグに問題があります。 Facebookは私のメタタグの古い値をキャッシュしているようです。属性og:title
およびog:url
の古い値は、既に変更していますが、まだ使用されています。
私のサイトのページ でLintを実行すると、これが表示されました:
og:title
とog:url
には2つの値があり、最後の値が優先されることに注意してください。ただし、最後の2つのエントリは、このサイトで使用したOLDエントリです。現在、これらのメタタグを使用しています(HTMLのソースを表示するかどうかを確認できます)。
<meta property="og:title" content="Smart og rummelig pusletaske fra Petit Amour med god plads til alt – værdi 1.099 kr – køb nu kun 599 kr "/>
<meta property="og:description" content="Pinq.dk - Det gode liv for det halve"/>
<meta property="og:type" content="product"/>
<meta property="og:url" content="http://pinq.dk/tilbud/landsdaekkende/lissy/"/>
<meta property="og:image" content="http://pinq.dk/wp-content/themes/pinq/images/logo-top.png"/>
<meta property="og:site_name" content="Pinq" />
<meta property="fb:app_id" content="161840830532004" />
Facebookがog:title
とog:url
をキャッシュするのはなぜですか?誰も同じ問題を経験していますか?
fbrefresh=CAN_BE_ANYTHING
の後にURLを入力します例:
http://www.example.com?fbrefresh=CAN_BE_ANYTHING
http://www.example.com?postid=1234&fbrefresh=CAN_BE_ANYTHING
http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com/?p=3568&fbrefresh=89127348912
私は昨夜同じ問題を抱えていましたが、この解決策をいくつかのウェブサイトから入手しました。
Facebookはキャッシュのサムネイルを保存します。サーバーからthumnail/imageを削除しても更新されません。ただし、Facebookではfbrefresh
を使用して更新できます
これがお役に立てば幸いです。
最も投票された質問はかなり時代遅れです。
これらは、2014年11月の時点で使用すべき2つのオプションです:
多くのページがあり、手動で更新したくない場合は、自動的に更新できます。
写真付きのユーザープロフィールページがあるとします。
$url = 'http://'.$_SERVER['HTTP_Host'].'/'.$user_profile;
$user_photo = 'http://'.$_SERVER['HTTP_Host'].'/'.$user_photo;
<meta property="og:url" content="<?php echo $url; ?>"/>
<meta property="og:image" content="<?php echo $user_photo; ?>"
これをページに追加するだけです:
// with jQuery
$.post(
'https://graph.facebook.com',
{
id: '<?php echo $url; ?>',
scrape: true
},
function(response){
console.log(response);
}
);
// with "Vanilla" javascript
var fbxhr = new XMLHttpRequest();
fbxhr.open("POST", "https://graph.facebook.com", true);
fbxhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
fbxhr.send("id=<?php echo $url; ?>&scrape=true");
これにより、Facebookキャッシュが更新されます。 jQueryソリューションを使用する場合は、console.logの「response」をご覧ください。「updated_time」フィールドとその他の有用な情報があります。
OGサムネイルは、fbrefresh変数を渡しても更新されないようです。自動クリアを待たずにこれを更新するには、サムネイルに関連付けられたメタタグ値のファイル名を変更して更新する必要があります。
og:image
を使用しても同じ問題が発生しました。ファイルの名前変更やFBキャッシュのクリアを何度も試みても、facebookデバッガーまたは実際のアカウントでテストできませんでした。
新しいFacebookのガイドラインでは、画像サイズは1200 x 630であるか、そのアスペクト比を持つ必要があると述べていますが、これは間違っているようです。私のために働いた唯一のことは、平方寸法。
Edit *1200 x 630を使用するために戻った数時間後、魔法のように動作しました。
また、ファイルの名前をf * ^ * kfacebook.jpgに変更しました。これが役立つかどうかはわかりませんが、良い感じがしました。
基本的に、答えは忍耐です;)
今朝、リンターをチェックしました。og:titleとog:urlは、冗長な値なしで正しく表示されます。 FaceBookは特定の間隔でキャッシュを自動的にクリアすると思います。待つだけです。
Ooook、最後に役立った(私はIP.Boardを使用している)。私がしなければならなかったことは:
このスレッドの著者に感謝します!
編集:画像の要件についてさらに覚えておく必要があるもの。今のところ(2013年1月):-双方向で少なくとも200ピクセル-最大比3:1
実は、実際のURLにはクエリ文字列が含まれていたため、正しいURLをリントしていませんでした(ボットに関する限り、別のページです)。
http://example.com/
!==
http://example.com/?utm_campaign=foo
リンターwillページを再キャッシュします。待つ必要はありません。
はい、facebookは24時間ごとにキャッシュを自動的にクリアします:実際にはfacebookはページをスクレイプし、24時間ごとにキャッシュを更新します https://developers.facebook.com/docs/reference/plugins/like/#scraperinfo 。
申し訳ありませんが、正しい答えは次のとおりです。
オープングラフog:imageのURLをすぐに更新する確実な方法はありません。fbが更新されるまでキャッシュされます(24時間ごとに報告されます)
以下は、他の人によって機能すると報告されているものですが、私はそれらのいずれかでゼロの成功を収めました。
コードを検査することは、ブラウザのキャッシュやキャッシュサービスの問題ではないことを確認するための方法です。メタ情報がコード内で最新であり、上記のすべてを試した場合(別の提案が実現しない限り)、正しい答えはです。待機する以外は何もできません。
追加する1つのことは、URLが大文字と小文字を区別するです。ご了承ください:
apps.facebook.com/-HELLO
リンターの目は違う
apps.facebook.com/-hello
アプリの開発者設定で入力した正確なサイトURLを使用してください。それ以外の場合、リンターはプロパティを返しますが、キャッシュは更新しません。
Facebook Developer Documentsによると、titleプロパティには例外があります。
50のアクション(いいね!、共有、コメント)がオブジェクトに関連付けられると、タイトルを更新できなくなります
https://developers.facebook.com/docs/sharing/opengraph/using-objects#update
画像が72dpiの場合、画像サイズのエラーが発生することがわかりました。代わりに96dpiを使用してください。お役に立てれば。
ページのURLを貼り付けて、[デバッグ]をクリックします。サイトでURLエイリアスを使用している場合、Facebookが共有しているページに使用しているURLと同じURLを使用していることを確認してください(例:Drupalでは、ページがそのURLを介して共有されている場合、エイリアスの代わりにnode/*パスを使用します)。
これはキャッシュであり、更新されますが、キャッシュが時々行うことを意図しています。したがって、待機は最終的には機能しますが、時にはそれをより速くする必要があります。ファイル名の変更は機能します。
本当に簡単に解決します。テスト済みで動作しています。メタタグを更新するときに、新しいURLを生成するだけです。 URLに「&cacheBuster = 1」を追加するのと同じくらい簡単です。メタタグを変更する場合は、「&cacheBuster = 2」をインクリメントするだけです
元のURL
www.example.com
ogメタタグが更新されるときのURL:
www.example.com?cacheBuster=1
ogメタタグが再度更新されるときのURL:
www.example.com?cacheBuster=2
Facebookはそれぞれを新しいURLのように扱い、新しいメタデータを取得します。
同様の経験がありました。ウェブサイトのリンクは、facebookが生成したプレビューに404を表示していました。 og:urlメタデータが間違っていたことが判明しました。数日前にすでに修正していましたが、まだプレビューで404が表示されていました。 https://developers.facebook.com/tools/debug/ でツールを使用し、更新を強制しました(途中でパラメーターを追加する必要はありませんでした)。 24時間後にキャッシュを更新しませんでしたが、ツールはキャッシュを強制的に支援しました。
私もこの問題を抱えていました。スクレイパーには正しい情報が表示されますが、共有URLにはまだ古いデータが入力されています。
これを回避する方法は、共有の代わりにフィードメソッドを使用し、データを手動で入力することでした(共有メソッドでは公開されません)
このようなもの:
shareToFB = () => {
window.FB.ui({
method: 'feed',
link: `signup.yourdomain.com/?referrer=${this.props.subscriber.sid}`,
name: 'THIS WILL OVERRIDE OG:TITLE TAG',
description: 'THIS WILL OVERRIDE OG:DESCRIPTION TAG',
caption: 'THIS WILL OVERRIDE THE OG:URL TAG'
});
};
私にとっては、すべてのソリューションが機能しませんでした。 Wordpress with Yoast SEOを使用している場合、この2つのタグを更新する必要があることがわかりました。
<meta property="article:modified_time" content="2017-09-29T00:37:33+02:00" />
<meta property="og:updated_time" content="2017-09-29T00:37:33+02:00" />
値を更新するには、記事への変更を送信する必要があります。この日付を変更しないと、facebookのキャッシュは更新されません。
functions.php
にフィルターを追加して、この追加タグを無効にすることもできます。
add_filter( 'wpseo_og_article_published_time', '__return_false' );
add_filter( 'wpseo_og_article_modified_time', '__return_false' );
add_filter( 'wpseo_og_og_updated_time', '__return_false' );