Yoast SEOのwpseo_metadescフィルターを利用したディスクリプション設定

※本ブログの目的は個人の備忘録であり、コードは参考用として掲載しています。
実際に使用される際は、ご自身の環境で十分に動作確認を行ってください。
コードの利用によって生じたいかなる問題についても責任を負いかねますので、あらかじめご了承ください。

はじめに

WordPressサイトのSEO対策において、「Yoast SEO」は定番中の定番プラグインです。しかし、デフォルトの機能だけでは細かいカスタマイズが難しいこともあります。

とくにmeta description(ディスクリプション)は、検索結果のクリック率に直結する重要な要素です。

この記事では、Yoast SEOの wpseo_metadesc フィルターを活用し、ディスクリプションを柔軟に制御・補完するための小技を3つご紹介します。ちょっとしたコードの追加で、SEOの効果を底上げできるので、ぜひ活用してみてください。

1. ディスクリプション未設定時に「サイトのキャッチフレーズ」を代わりに出力する

Yoast SEOでは投稿や固定ページにディスクリプションを個別に設定できますが、空のまま公開してしまったり、設定欄がない場合もあります。そんなとき、代わりにサイトのキャッチフレーズを出力するようにしておくと安心です。

ただし、YoastSEOはディスクリプションがない場合コードに警告のコメントアウトを出力してくれます。それによりディスクリプションを設定していないページがわかりやすくなっています。設定がないページに自動的にディスクリプションを設定すると、ディスクリプションを設定していないことに気づきにくくなってしまいますので、以下の設定をする前に必要なページにはあらかじめディスクリプションを設定しておくことをおすすめします。

add_filter('wpseo_metadesc', function($description) {
  if (empty($description)) {
    return get_bloginfo('description'); // サイトのキャッチフレーズを出力
  }
  return $description;
});

2. ディスクリプションが短すぎるときに補足テキストを自動で追加する

ディスクリプションに変数「抜粋」を利用している場合、こちらで調整することができず、極端に短くなってしまう場合があります。そういった意図せず短くなってしまったディスクリプションを共通で補える文章を追加する方法です。

add_filter('wpseo_metadesc', function($description) {
  if (is_singular() && mb_strlen($description) < 50) {
    $description .= ' 当サイトでは関連情報も豊富に掲載しています。ぜひご覧ください。';
  }
  return $description;
});

3. 404ページにディスクリプションを設定する

Yoast SEOは404ページにもタイトルを設定できますが、ディスクリプションの設定欄はありません。あまり必要はないかもしれませんが、ディスクリプションを設定しないと警告のコメントアウトが表示されてしまうため、気になる場合は設定しましょう。

add_filter('wpseo_metadesc', function($description) {
  if (is_404()) {
    return 'お探しのページは見つかりませんでした。URLに誤りがないかご確認ください。';
  }
  return $description;
});

おわりに

Yoast SEOのフィルターフックを活用すれば、より柔軟にmeta descriptionを制御できます。ちょっとしたカスタマイズでSEOの底上げができるので、今回の小ネタもぜひ導入してみてください。

また、コードを参考にぜひ自分に合ったカスタマイズを考えてみてください。