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

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

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

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

Facebok auto url linter

また、記事を修正・更新した際にもFacebookのキャッシュの削除しにいかないと、シェアした際には古いOGP情報が表示されてしまうということも。そういったことが起きないように「記事公開、更新時にFacebookのキャッシュを自動更新する」という方法が紹介されています。

WordPressを利用している人限定になりますが、function.phpに以下のコードを追加するだけで対応することが可能になるそうです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
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:モンキーレンチ

関連する記事
関連するカテゴリ
Facebook
LINE@ "友だち追加"

スマホでLINEを起動 > その他 > 友だち追加 > QRコード

メール配信登録
ランキング