Facebookのキャッシュを記事公開、更新時に自動で更新する方法

Facebookのキャッシュを記事公開、更新時に自動で更新する方法

2014年11月19日

@JUNP_Nです。記事を予約投稿している場合や記事を修正・更新した際に忘れがちなFacebookのキャッシュの更新。これを自動化する方法がモンキーレンチにて紹介されていました。これは便利なので、覚えておいたほうがいいかも。

function.phpに以下のコードを追加するだけで対応可能

Facebookのキャッシュは記事未公開時などでFacaebookにURLが送られてしまうと、その状態でキャッシュされてしまうのでOGPがうまく表示されないということがありました。

Facebok auto url linter

また、記事を修正・更新した際にも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:モンキーレンチ