function.phpに以下のコードを追加するだけで対応可能
Facebookのキャッシュは記事未公開時などでFacaebookにURLが送られてしまうと、その状態でキャッシュされてしまうのでOGPがうまく表示されないということがありました。
また、記事を修正・更新した際にもFacebookのキャッシュの削除しにいかないと、シェアした際には古いOGP情報が表示されてしまうということも。そういったことが起きないように「記事公開、更新時にFacebookのキャッシュを自動更新する」という方法が紹介されています。
WordPressを利用している人限定になりますが、function.phpに以下のコードを追加するだけで対応することが可能になるそうです。
class my_facebook_debugger { private $api = 'https://graph.facebook.com?id=%s&scrape=true'; public function __construct() { add_action( 'transition_post_status', array( $this, 'debugger' ), 10, 3 ); } public function debugger( $new_status, $old_status, $post ) { if ( $new_status === 'publish' ) { $t = wp_remote_post( sprintf( $this->api, get_permalink( $post->ID ) ) ); } }}new my_facebook_debugger();
function.phpに追記だけで対応することができるのは非常に便利ですね。僕は手作業でチェックを行っていましたが、確かに手間のかかる部分でした。同じように悩みを持っている人は是非お試しください。
今後WordPressのプラグイン「MW WP Hacks」に機能追加予定
モンキーレンチを運営されているTakashi Kitajimaさんが公開しているプラグイン「WordPress › MW WP Hacks « WordPress Plugins」でも今後同様の機能を追加する予定だそうです。
source:モンキーレンチ