「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」を使うほどでもない、または使えない
というサイトの設定に有効なのではないかと思います。
コメント