WordPressのページネーションのせいでtitleタグの重複が発生する

WordPress4.4以降では、下記のようにwp_titleを使ってtitleタグを生成することが非推奨になりました。

<title><?php wp_title('|',true,'right'); ?><?php bloginfo('name'); ?></title>

従来のやり方だと、ページネーションで生成されたページのtitleタグが重複して「Search Console」で怒られたり、SEOを考えてめちゃめちゃif文を使ってtitleタグを書いたり…と、結構たいへんでした。

現在では、functions.phpに以下のコードを書いて、titleタグを自動生成させるのが推奨されています!

titleタグ生成のコード

自動で生成されるので、header.phpにtitleタグを書く必要はありません。

書いてしまうと、titleタグが2つになっちゃいます。

これのおかげで、カテゴリーやアーカイブページのページ番号まで自動で付与してくれるので、titleタグの重複がなくなります。

//----------------------------------------
// titleタグ
//----------------------------------------
function theme_slug_setup() {
   add_theme_support('title-tag');
}
add_action('after_setup_theme', 'theme_slug_setup');

セパレータを変更したい

わたしは、「|」で区切るほうが好きなので、下記のようにセパレータを変更したりします。

//----------------------------------------
// titleタグ
//----------------------------------------
function theme_slug_setup() {
   add_theme_support('title-tag');
}
add_action('after_setup_theme', 'theme_slug_setup');
//セパレータ
function title_separator($sep) {
    $sep = '|';
    return $sep;
}
add_filter('document_title_separator', 'title_separator');

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA