【facebook】 Debuggerキャッシュクリアを自動化する方法

wordpressで記事を書いた後にfacebookにシェアする時にサムネイル(アイキャッチ画像)が表示しない場合、facebook Debuggerでキャッシュのクリアをすると表示されるようになるのですが、これを毎回やらなきゃいけないのは面倒だと。

探してみると、自動でfacebookのキャッシュをクリアする方法がいくつかあったのですが、設定が面倒だったり、すぐに反映されなかったり。

で、ようやく理想的な方法が見つかったのでご紹介↓↓↓

参考:Facebook のキャッシュを URL Linter で更新するのが面倒なので記事の公開・更新時に自動的にキャッシュを更新させる。

wordpressの使用中のテーマの『functions.php』に下記のコードを入れるだけで、投稿(更新)と同時にfacebook Debuggerでキャッシュのクリアをした状態になります。

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();

助かりました!感謝です。

\ SHARE /