wordpressで「重複するメタデータ(descriptions)のあるページ」の対策をする ~wp.Vicuna Ext. Customをカスタマイズ~

どうも、うしねずみです。

ブログを始めてから、Googleのウェブマスターツールにお世話になっています。Googleアカウントがあれば利用できて、自分のサイトがGoolgeからどのように見られているかが分かるのでとても役立ちます。例えば自分のサイトがどんな検索クエリで上位に来るのかとか、Googleのボットがクロールしに来た時のクロールエラーとか、サイトの作り方について参考になる情報が得られます。

私のブログではウェブマスターツールの「HTMLの候補」のタブで以下の二つの問題を指摘されていました。

  • タイトルタグの重複
  • 重複するメタデータ(descriptions)

つまり、「違うページなのに同じタイトルタグ(メタデータ)がついてるよ」ってことです。違うページにはちゃんと違うタイトル(メタデータ)をつけなさいってこと。タイトルタグの重複については、WordpressのプラグインであるAll in one SEO packが役に立ちます。このプラグインの設定で「Rewrite title」にチェックを入れてタイトルのテンプレートを指定しておけば、記事ごとに違ったタイトルを自動的につけてくれます。私もこれを使っていましたが、最近使い始めたwordpressのテーマであるwp.Vicunaでは最初からページごとに違うタイトルタグを付けるようになっていました(さすがです)。

ところが、もうひとつのdescriptionメタタグに関しては、wp.Vicunaでも対応していません。wp.Vicunaではdescriptionのメタタグは“header.php”で吐き出していますが、header.phpはどのページにも共通に読み込まれるので、記事ごとに違ったメタタグを付けることができません。ですのでここは自分で改造することにしました(違うテーマを使っている人は参考にならないかもしれませんが)。

まずheader.phpのdescriptionメタタグ部分をコメントアウトします。header.phpの26行目の以下の部分をコメントアウトして

<meta name="description" content="<?php bloginfo('description'); ?>" />

次のようになります。

<!-- <meta name="description" content="<?php bloginfo('description'); ?>" /> -->

このままだと全てのページでdescriptionメタタグが表示されない(コメントアウトしたから)ので、以下の7つのphpファイルにメタタグを出力する部分を書き加えていきます。

  1. 404.php
  2. archive.php
  3. category.php
  4. index.php
  5. page.php
  6. single.php
  7. tag.php

それぞれのファイルの先頭付近にタイトルタグを出力している部分がありますので、その直前にdescriptionメタタグを付け加えていきます。別に直前じゃなくてもいいですが</head>よりは前に書く必要があります。

<?php get_header(); ?>
<title><?php vicuna_title(single_cat_title()); ?></title>

これはtag.phpの例ですが、付け加えるとこうなります↓

<?php get_header(); ?>
<meta name="description" content="<?php vicuna_title(single_cat_title()); ?>" />
<title><?php vicuna_title(single_cat_title()); ?></title>

wp.Vicunaではもともと各ページに違ったタイトルタグを付けるので、descriptionメタタグも同じものにしました。テーマによっては複数のページに同じタイトルタグをやdescriptionメタタグを付けるものもあるので、その場合は各ページで違ったものになるようにしてください。(記事のタイトルを含めるとか、「archive」、「category」といった文字を含めるとか)

これで無事、各ページに違うdescriptionメタタグが付くようになりました。
ところでGoogleに指摘されたからやってみたものの、SEO的にはどれぐらい効果があるんだろうか。。。

↓ぽちっと押してください。
人気ブログランキングへ