ホーム > ブログ > WordPressでtitleタグが2つダブって表示されてしまう場合の対処法

WordPressでtitleタグが2つダブって表示されてしまう場合の対処法

2017.11.07

WordPressでtitleタグが2つダブって表示されてしまう場合の対処法

タイトルタグがダブる

僕自身、Wordpressをさわり始めた頃によくあったのですが、
header.phpに直接titleタグを書いて、自由に編集したのに、
どうもブラウザで見るとタイトルが変わっていない。

ファイルもちゃんと上書き保存したし、FTPアップもちゃんとできている。
何故だ何故だとなって、ソースを見てみると、なんとtitleタグが2つも表示されている。

自分で頑張ってheader.phpに書いたtitleの後に、別のtitleタグがあるので
そりゃいくらやっても変わらない。

ということがありました。

結論から言いますと、これはWordPressに設置されている「wp_head」が自動で出力しているものでした。
それが自分で追記したheader.phpのtitleタグとダブっていたのです。

デフォルトで表示されるtitleタグは、管理画面で指定した「サイト名」や「記事タイトル」を自動で反映してくれるので、便利なのですが、
全ページで固定にしたいときなどは、自分でtitleタグを固定で書かないといけなかったりします

そんなtitleタグを自分で書きたいのに、自動表示でダブってしまう時の解決方法をご紹介します。

「wp_head」は必須

ならば勝手にtitleタグをはき出す「wp_head」ごと消してしまえばいいのか?ということになりますが、
wp_headが無いとプラグインなどが動かなくなったりすることがあるので、これはNGです。
これはfooter.phpなどにあらかじめ書いてある「wp_footer」についても同様です。

「wp_head」からtitleタグを削除する手順

となるとやはり「wp_head」からtitleタグだけを削除しなければなりません。
そのためにはfunctions.phpを編集します。

まず、このタグ自体は下記のように「wp-includes/default-filters.php」というファイルで、表示設定がされています。

// Actions
add_action( ‘wp_head’, ‘_wp_render_title_tag’, 1 );

でもこれはWordpressをバージョンアップすると上書きされてしまうので、ここは編集しません。

functions.phpに、上記を削除する命令を書きます。
functions.phpに下記を追記

//wp_headのtitleタグを削除
remove_action(‘wp_head’, ‘_wp_render_title_tag’, 1);

これで「wp_head」からtitleタグが削除されました。
自由にtitleタグを書いていただければと思います。

当然ですが、「wp_head」が行っていた、トップ、カテゴリページ、記事ページなどでの自動振り分け表示も無くなるので、
振り分け等が必要な場合は、自分で書く必要があります。