All in One SEOでtitleタグの出力をオフにする方法

WordpressのSEOプラグイン「All in One SEO (AIOSEO)」でtitleタグの出力をオフにする方法をご紹介します。
結論
フィルターフックを使います。
これをfunctions.phpに貼り付け。
//titleタグをオフ
add_filter( 'aioseo_disable_title_rewrites', 'aioseo_disable_term_title_rewrites' );
function aioseo_disable_term_title_rewrites( $disabled ) {
return true;
}
すると、全ページでtitleタグが出力されなくなります。
「投稿と固定ページのみ」など、特定のページのみtitleタグをオフにするにはこう。
//titleタグをオフ
add_filter( 'aioseo_disable_title_rewrites', 'aioseo_disable_term_title_rewrites' );
function aioseo_disable_term_title_rewrites( $disabled ) {
if ( is_single() || is_page() ) { //投稿ページと固定ページのみ
return true;
}
return false;
}
titleタグをオフにしたいページを判定して、trueを返せばOK
公式ドキュメントはこちら
aioseo_disable_title_rewrites - AIOSEO
ちなみに、ディスクリプションでも同様のことをする場合はこちら
これと関連して、404ページで空のtitleタグが出力されてしまう問題の対処方法はこちら
何が起こっていたか
All in One SEOの設定で、titleタグの一括設定ができますが
タイトルタグをテーマに直接書いていたり、他のプラグインで出力している場合
このようにしていても...
<head>
<meta charset="utf-8">
<title><?php wp_title(''); ?></title>
<meta name="description" content="記事の説明">
(省略)
</head>
このようにAIOSEOによってtitleタグが上書きされてしまいます。
<head>
<meta charset="utf-8">
<meta name="description" content="記事の説明">
<!-- All in One SEO 4.X -->
<title>記事のタイトル - サイトのタイトル</title>
<meta name="description" content="AIOSEOデフォルトだと記事の冒頭の文章が入る">
<!-- All in One SEO -->
(省略)
</head>
そこで、特定のページではAll in One SEOによるtitleタグの出力をさせないようにする方法でした。
お役に立てましたら応援をお待ちしております!
頂いた応援は子育てに活用させていただきます。
または以下のボタンからなにか買って応援 (PR)