この実装、面倒なら代行します
サイトのサイトマップ自動生成からgoogleアナリティクスとの連携、さらにはページのmetaタグ(description, keyword)やページのタイトルまで、まるっとSEO関連設定を簡単に管理画面でできるようにするプラグインに「All in One SEO Pack」というプラグインがあります。
当社でもこのプラグインを重宝しています。
今回は、この「All in One SEO Pack」を利用してページのタイトルを管理しているサイトにおいて、特定のページだけページタイトルをカスタマイズする方法のご紹介。
たとえば固定ページのタイトルを「All in One SEO Pack」で管理したいなら、[一般設定]の[固定ページタイトルフォーマット]にフォーマットを設定しておこないます。
実際、当サイトの[固定ページタイトルフォーマット]は
%page_title% | %blog_title%
としています。
このようにすると、会社情報ページのページタイトルは「会社情報 | 100ウェブ」と出力されます。よしよし。
さて。当サイトには英語のページもありますが、英語ページのときはどうなるでしょうか?
たとえば、Design fee ページの場合--
Design fee | 100ウェブ
となります。
これは中途半端ですね。よくありません。英語はそんなに話せませんが、話せないならなおさらせめてテキストぐらい英語で貫きましょう。
カスタマイズしましょう。
当サイトの場合、英語サイトのトップのスラッグは en です。
そこで、先祖ページあるいは自ページのスラッグが en だったら、後ろの「 | 100ウェブ」を消せばいいわけです。
テーマのfunctions.phpに下記コードを追記します。
/* 英語ページのタイトルカスタマイズ */ add_filter( 'aioseo_title', 'customize_title'); //All in One SEO Packバージョン 4からaioseop_titleは非推奨になったのでaioseo_titleを使いましょう function customize_title( $title) { global $post; $parents_id = get_post_ancestors($post->ID); // 配列で親IDを取得 $parent_slug = ''; $blog_info = ''; foreach($parents_id as $parent_id){ $parent_slug = get_post($parent_id)->post_name; // 親スラッグ } if($parent_slug=='en' || get_post($post->ID)->post_name=='en'){ // 先祖ページあるいは自ページのスラッグがenだったら $blog_info = get_bloginfo('name','display'); //サイトタイトルを取得 $title = str_replace(' | '.$blog_info, '', $title); } return $title; }
できました。
あとは、該当ページ編集画面で「All in One SEO Pack」のタイトル欄にしっかり英語のタイトルを付けて完成です。
これで、海外の方からもお問い合わせ来るかな?
WordPressカスタマイズ事例やウェブ制作ノウハウの新着情報、お役立ち情報を
リアルタイムにメルマガ配信!
100ウェブで手がけた制作・開発案件を一部、ご紹介。
クライアントからご相談いただいた内容とその実装におけるポイント、工期、予算について確認いただけます。
【テレワーク実施中 につきお電話転送中】
コール中1秒程度無音状態になりますがそのままお待ちください。
受付時間
平日 10:00~18:00
メールでのお問い合わせでも
1営業日以内にご連絡いたします。