WordPress の SEO 対策で定番の Yoast SEO。非常に便利なプラグインですが、出力されるタイトルタグやパンくずリストを、もう少し柔軟に調整したいと思うことがあります。
この記事では、Yoast SEO が出力するタイトルやパンくずリストを、フィルターフックを使って自在にカスタマイズする方法をご紹介します。

LINE着せかえ「回るお寿司」販売中!

タイトルをカスタマイズ

Yoast SEO が出力する<title> タグを、独自のロジックで変更したい場合には、wpseo_title フィルターを使用します。例えば、特定のカスタム投稿タイプの時だけタイトルを変える場合は、functions.phpに以下のように記述します。Open Graph の meta タグも書き換える場合は、wpseo_opengraph_titleフィルターにも同じ関数をフックします。

function custom_wpseo_title($title) {
  // カスタム投稿タイプ product の個別記事ページの場合
  if (is_singular('product')) {
    $title = single_post_title() . 'の製品詳細';
  }
  return $title;
}
add_filter('wpseo_title', 'custom_wpseo_title');
add_filter('wpseo_opengraph_title', 'custom_wpseo_title'); // og:title も同じように書き換え

他にも、色々な条件分岐を組み合わせることで、柔軟な調整が可能です。

パンくずリストをカスタマイズ

Yoast SEO のパンくずリストは、yoast_breadcrumb()で出力されますが、そのリンク構成を変更したいときにはwpseo_breadcrumb_linksフィルターを使用します。

function custom_breadcrumb_links($links) {
  // カスタム投稿タイプ product の個別記事ページの場合
  if (is_singular('product')) {
    $custom_link = array(
      'url'  => home_url('/product/'),
      'text' => '製品一覧',
    );
    // 投稿タイトルの直前に挿入(最後から2番目の位置)
    array_splice($links, count($links) - 1, 0, array($custom_link));
  }
  return $links;
}
add_filter('wpseo_breadcrumb_links', 'custom_breadcrumb_links');

このように、パンくずの中身も自在にコントロールできます。URL の構造とパンくずリストの構造が異なる場合、このフィルターを使用して合わせることで、SEO の観点でも非常に有効です。

終わりに

Yoast SEO はプラグインとして非常に高機能ですが、そのままでは痒いところに手が届かない場面もあります。しかし、こうしたフィルターフックを活用することで、テーマに合わせたSEO最適化が可能になります。
自分のサイト構造に合ったタイトル・パンくずを出力し、検索エンジンにもユーザーにも優しいページを作っていきましょう!