のウェブマスターツールズによると、ブログ内で同じタイトル<title>を重複して使用するのは、問題だそうです。

googlewebmastertools.pngそこで、WordPressのブログで、全てのページが違うタイトルになるコードを考えてみました。

出発地点

最初は、こちらを参考にしました。プラグインを使わずに、ブログ名を後ろに表示できるようになります。ここから出発です。
» wordpressのタイトルを表示形式を変更[to-R]

<title><?php wp_title(”);

if(wp_title(”, false)) echo ‘ – ‘;

bloginfo(‘name’); ?><title>

月別アーカイブ

まず、月別アーカイブのタイトルを改善します。初期状態のwp_title()では「2008 1 月 – 東京税理士ブログ」と表示されますが、これはかっこ悪いので、年をつけて月を詰めてみました。

echo get_the_time(‘Y年n月’);

ページ番号を追加

最初の問題点に戻ります。どこのページのタイトルが重複しているのかというと、ホーム、カテゴリー別、月別の2ページ目以降が同じタイトルで重複しています。 ちなみにページ表示は、Pagebar1.3というプラグインを使用しています。

ここで、都合がいいことに、$pagedという関数をみつけました。1ページ目では何も表示せず、2ページ目以降ではページ番号を表示してくれます。

検索ページ

気がつきにくいのですが、ブログ内検索ページもタイトルが同じなので、変更しておきます。タイトルに検索キーワードを表示させてみました。

完成コード

最終的に以下のコードになりました。どのように表示されるのかは、このブログであちらこちらのページを表示してお確かめください。

<title><?php if(is_month()): echo get_the_time(‘Y年n月’);

elseif(is_search()): echo ‘\”.$s.’\’の検索結果’;

else: wp_title(”); endif;

if(wp_title(”, false)) echo ‘ ‘.$paged.’ – ‘;

bloginfo(‘name’); if(is_home()) echo ‘ ‘.$paged ?></title>

今のところ、問題はありませんが、検索エンジンのインデックスが全て書き換わるまで時間がかかるようです。

修正

(2009-6-22)
WordPress2.8にした頃に、気がついたら検索結果のタイトルがおかしかったので、書き直しました。

以下の記事も参考になります。
» WordPressでページタイトルを全て異なった表記にする p15.jp 版

Finlayson Point At Night
CreativeCommons Attribution-NonCommercial License, Tyler Batty

公開2008-01-03 WordPress