WordPress wp_headでtitleが2つ出力されないようにする方法
WordPressでtitleタグが2つ出力された時の対処方法です。
WordPressでコーディングした「header.php」には、titleタグの出力は1つしか書いていません。しかし、表示されたページには2つある。
これは「wp_head()」の呼び出しにより、自動で出力されるタグによる影響です。
titleタグ以外にもlinkタグやmetaタグがあります。
ここでは wp_headからtitleの出力を削除する方法 を紹介します。
タグ出力しているコードを確認する
「wp_head()」を記述したときに、どんなタグが出力されるかは「wp-includes/default-filters.php」を見ればわかります。
「// Actions」で検索してみましょう。
// Actions.
add_action( 'wp_head', '_wp_render_title_tag', 1 );
「add_action( 'wp_head', '_wp_render_title_tag', 1 );」がtitleタグを出力しているコードになります。
これをコメントすれば完了なのですが、WordPressをバージョンアップすると更新されてしまうので、別の方法で対応します。
タグの削除方法
対応方法は簡単です。「add_action」されたコードを「remove_action」で削除すればいいのです。
具体的には「functions.php」へ下記のコードを記述します。
// wp_head()で出力されるtitleタグの削除
remove_action(‘wp_head’, ‘_wp_render_title_tag’, 1);
これでtitleタグの出力を削除することができます。
まとめ
WordPressでtitleタグが2つ出力された時の対処方法を紹介しました。
ブラウザは先に書いてあるtitleタグを優先して表示してくれますが、SEO的には1つにしておいた方がいいですね。そもそも2つあること自体が気持ち悪いし。
他にも不要と思われるタグが出力されていたら、同じ要領で削除してしまいましょう。
おつかれさまでした。