【WP】All in One SEOを特定の固定ページ以下で使用しない設定方法

「All in One SEO」プラグインを使用していると、ページ単位でタイトルを変更することも可能ですが、「固定ページタイトルフォーマット:」に「 | %blog_title%」を入れていると、良くも悪くも「ブログタイトル」が必ず入ってしまいます。
今回は特定のページやそのページ以下では「ブログタイトル」を入れたくなかったので、その際にした設定をめもしておきます。

「All in One SEO」の「一般設定」で「固定ページを除外する:」を設定する

「All in One SEO」の「一般設定」ページのページ下部に「固定ページを除外する:」という設定欄があります。
こちらに「All in One SEO」の設定を無効にしたいページのディレクトリー名を入力します。

(設定例)
http://web-memo.com/en/ 以下を無効にしたい場合は「/en/」と入力
(複数ある場合は、「,」で区切って入力)

functions.phpに先祖要素スラッグを取得する設定を追記

///先祖要素スラッグ
function top_parent_slug() {
	$ancestors_h_p = get_post_ancestors( $post->ID );
	$ancestor_h = array_pop($ancestors_h_p);
	return get_post_field('post_name', $ancestor_h);
}

header.phpに無効化したページのtitle設定を追記

<?php if(top_parent_slug() =='en'):?>
<title><?php wp_title(''); ?> | 変更したいタイトル名</title>
<?php else: ?>
<title>通常ブログタイトル名</title>
<?php endif ?>

これで通常固定ページのタイトルはAll in One SEOを使用しつつ、「/en/」以下のタイトルでは違うタイトルを使用することができます。
今回の設定は、特定の固定ページ以下を英語化したい場合があったので使用しました。

  • 通常日本語サイトで出来上がっていて、All in One SEOを既に使っている
  • 他言語プラグイン「WPML」を使うほどでもない、または使えない

というサイトの設定に有効なのではないかと思います。

コメント

タイトルとURLをコピーしました