インターネット副業のすすめ

codepia

wp_title(タイトルタグ)をページタイプごとに分岐させて表示する、ワンランク上のテクニック

こんにちは!

はじめに、この記事の概要と目次です。本編は少しスクロールすると始まります。

今回は、WordPressの自作テーマ開発やテーマのアレンジで、タイトルタグをより最適化するテクニックを紹介します。タイトルを整頓することでミスが減らせたり、クローラーに合わせたユーザーフレンドリーなタイトルが設定できるので、SEO効果アップも期待できます。コピペもたくさん用意しているので、テーマの編集が苦手な方にも参考になると嬉しいです。

今回編集するところ

今回の記事で触れるところは、タイトル(wp_title)の一点です。

タイトルはホームページや各ページの最も重要な部分の1つで、主に検索結果に表示されるタイトルや、ブックマーク追加時の名前に使われています。

タイトルの使用例と場所
タイトルの使用例と、確認できる場所(Chrome)

タイトルタグはSEO最適化の面でも、言うまでもなくめちゃくちゃ大切なのですが、初めに設定したら、意外とそのあと触らない部分でもあります。

そこで今回は、「どうせ触らないなら、タイトルタグをいい感じに振り分けておこう」をテーマに紹介していきたいと思います。

テンプレートパーツは足りなくてもOK

特にWordPressテーマを自作している人の中には、category.phpやarchive.phpなど、細かいテンプレートを用意していない方もいると思います(僕がそうなので)。

ですが、その場合もindex.phpさえきちんと書いていれば、今回使用するコードでも、WordPress側がトップページか、カテゴリページかを振り分けてくれるため、気にせず使うことができます。

タイトルタグの基本コード

タイトルタグの基本のコードの確認です。あくまで一例なので、設定されているテーマや、参考書等により多少違う場合がありますが、気にしなくて大丈夫です。

①トップページの場合は、「サイトのタイトル|キャッチフレーズ」の人が多いかなと思います。ご自身の設定は、WordPressダッシュボードの「設定」→「一般」から確認できます。

記事の場合は、先に記事のタイトルを表示させるサイトが多く、②のようなコードが主流です。

サイトのタイトルとキャッチフレーズの設定画面

使用したテンプレートタグと、その用途はこちらです。

  • bloginfo(‘name’):サイトのタイトルを取得
  • bloginfo(‘description’):サイトのキャッチフレーズを取得
  • wp_title(”):記事のタイトルを取得

それではここから、本題に入ります。テーマの編集が苦手な方や、簡単に使いたい方向けに、コピペ用コードもたくさん用意したので、ご自身のサイトに合わせて、色々試してみてください!

分岐するwp_titleの基本型

はじめに、if(もしも)を使って、主なページタイプを分岐させた基本型です。それぞれのタグと関連するページタイプは、下記を参考にしてください。

  • is_home:トップ画面
  • is_front_page:トップページに任意の固定ページを設定している場合
  • is_category:カテゴリアーカイブページ
  • is_tag:タグアーカイブページ
  • is_archive:年月別アーカイブページ
  • else(その他):その他のページ(今回は記事・固定ページなど)

また、ホームとフロントページ、カテゴリとタグの間にある2本の縦棒(||)は、「または」を表しています。

対して、wp_titleとbloginfoの間などにある1本の縦棒(|)は、見栄えを良く見せるための、ただの飾りです。こちらは好みに合わせて「-」ハイフンや、「>」大なり記号に変えて大丈夫です。

トップページのタイトル

アレンジ例

トップページは、シンプルな構成で設定しています。もしここでのキャッチフレーズを変えたい場合や、タイトル表記を変えたい場合は、以下のように、description/nameの箇所を直接編集します。

もちろん、サイトタイトルと説明文の、両方を変えることもできます。

カテゴリとタグアーカイブのタイトル

カテゴリアーカイブとタグアーカイブページの例では、タイトルは同じ形(〜に関する記事)に設定しています。

アレンジ例

カテゴリとタグの分岐を、さらに細分化したバージョンです。それぞれの表記を変えたい場合に便利です。

また、カテゴリ名やタグ名は固有名詞なことも多いので、かぎかっこなどで囲うのもおすすめです。ユーザー側が、「何のカテゴリなのか」わかりやすくなります。

年月別アーカイブページのタイトル

年月別のアーカイブページでは、日本語の関係でうまく西暦と月が抽出できないため、get_query_var(任意の値を取得)を使って、西暦と月を取り出しています。

その他のページのタイトル

最後に、上記以外のページでは、投稿時に設定した「記事タイトル」が反映されるように設定しています。

「その他」に該当するのは主に「投稿記事」と「固定ページ」で、elseを使う構文で残り全てのページに対応しています。

さらにアレンジしてみよう

投稿記事と固定ページを細分化

シンプルな型では「投稿記事」と「固定ページ」で同じスタイルを取っていましたが、さらに細分化したい方は、こちらのコードが有効です。

また、特に投稿記事は、サイトによってはカテゴリを含めたい場合もあります。そのようなときは、投稿記事用に、別途カテゴリを取得するコードを追加します。

マルチサイトに対応したタイトル

マルチサイト化させたWordPressのサイトの場合は、子サイトにも親サイトのサイト名を含めるなど、より細かく分岐する必要があります。

例えば、①親サイトではトップページに通常のindex.phpを使用、②子サイトでは固定ページをトップページに設定している(front_page)場合では、以下のような分岐をさせます。

  • 親サイトのトップページ:親サイト名 | 親サイトの説明文
  • 子サイトのトップページ:子サイト名 | 親サイト名
  • 親サイトの各種記事・アーカイブページ:記事タイトル | 親サイト名
  • 子サイトの各種記事・アーカイブページ:記事タイトル | 子サイト名 | 親サイト名

子サイトの記事にも親元のサイト名を含めるため、13行目の!is_main_siteで、「親サイトではない」という分岐を追加して、親サイト名を追加しています。

次に、親サイトも子サイトも、トップページにindex.phpを使う場合は、以下のようなコードになります。

違いがわかりにくいですが、is_main_siteの前に「!(エクスクラメーション)」が入っているかどうかで分岐させています。

また、「&&」は「かつ」を表しています。今回は1つめ(3行目〜)で「トップ画面かつ親サイト」、2つめ(6行目〜)で「トップ画面かつ親サイトではない」を条件にしています。

まとめ

今回は、WordPressのタイトルタグに関連する基本型と、ハイブリッドに分岐するアレンジ型をまとめました。色々な例に対応するため、記事作成に半日以上かかった気がします…。

基本的に、初めのほうに触れた「分岐するwp_titleの基本型」をもとに派生しているだけなので、作成中のサイトに合わせて、より良い感じにアレンジしてもらえたら嬉しいです。

記事が役に立ったら、いいねで教えてください!

[高評価数は次の記事作成の参考にしています]

コメント

コメントする

投稿者名はコメント欄に公開されます。メールアドレスは公開されません。