Yoast SEOでデフォルトのOGP画像を設定する方法

作成日:

Yoast SEOでOGPのタグをヘッダーに追加してますが、個別投稿でアイキャッチ画像が無いと、記事内の先頭画像を自動で取得したり、画像無しとなったりです。

しかし、せっかくシェアして頂いた際に画像が全く無いのはやはり素っ気ないので、デフォルトの画像を設定することにします。

では、
どうするか?

直接画像パスを引っ張ってくるか、テーマ内に保存するかなど考えてみますが、これは「サイトアイコン」を使うのがベターだろうと。

多分テーマカスタマイズの「サイト基本情報」に「サイトアイコン」があろうと思いますので、ここに画像を追加して下さい。

その上で、functions.phpに以下のコードを追加します。og:imageとtwitter:imageそれぞれ個別に指定する必要があります。

PHP functions.php
function mx_yoast_seo_ogpimg($object){
    $image_path = get_site_icon_url();
    $object->add_image($image_path);
}
add_action('wpseo_add_opengraph_images','mx_yoast_seo_ogpimg');
function mx_yoast_seo_twimg(){
    $image_path = get_site_icon_url();
    return $image_path;
}
add_filter('wpseo_twitter_image','mx_yoast_seo_twimg');

参考:

Force default OG:Image - Yoast SEO https://wordpress.stackexchange.com/questions/283477/force-default-ogimage-yoast-seo

So I've always used the following code snippet to force the default OG:Image and Twitter:Card image: add_filter('wpseo_pre_analysis_post_content','mysite_opengraph_content'); function

あくまでデフォルト画像なので、アイキャッチ画像が指定されている投稿であればどちらが優先されます。

物草 灸太郎

WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。

コメントをどうぞ

  • メールアドレスが公開されることはありません。
  • コメント欄にURLは入力できません。
  • このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。