Yoast SEOの設定画面で設定したOGP画像をどの投稿でもデフォルトに設定する方法

SEO対策用プラグイン「Yoast SEO」を利用すると、タイトルやディスクリプションの他にOGP画像なども設定できます。

OGP画像は個別の投稿またはYoast SEOの設定画面で設定することが可能ですが、個別の投稿にOGP画像が未設定の場合は投稿内の一番上の画像がOGPとして設定される仕様になっています。

具体的には以下の優先度で反映されています。

  1. 投稿に設定されたOGP画像
  2. 投稿のコンテンツ内にある画像
  3. Yoast SEOの設定画面に設定されたOGP画像

この時、どうしても2番目の画像というのは投稿のコンテンツに挿入した画像ですのでOGP画像に適した画像サイズでは無いことが多く、見栄えが悪くなりがちです。

その場合、2番目の画像が反映されないように下記のコードをfunctions,phpに追記すると1番目の次に3番目の順番でOGP画像が設定されるようになります。

// 投稿にOGP画像が登録されていない場合はYoast SEOの設定画面で設定したOGP画像を設定
function override_wpseo_opengraph_image($img){
	global $post;
	if(!WPSEO_Meta::get_value( 'opengraph-image', $post->ID )){
		$img = get_option("wpseo_social")["og_default_image"];
	}
	return $img;
}
add_filter( 'wpseo_opengraph_image', 'override_wpseo_opengraph_image', 10, 1 );