ぼやき

0

昨日、 Google ウェブマスターツールでタイトルタグの重複が大量にあった件の対処をした。

重複の原因は大きく分けると 2 つのパターン。

  1. 「 ?view=com ‎」「 ?view=wrt ‎」など URL のあとにパラメータがつく
  2. これは、携帯表示プラグイン MobileEye+ のコメントページ、コメント書き込みページの URL 。実験的に入れているツールがモバイルページもパソコンのページと認識させているため起こっているみたい。「 link rel= ” canonical ”」を入れてとりあえずの対策をしたけれど、根本的な対策が必要っぽい。要相談。

  3. 月別アーカイブやカテゴリ、タグページなどで、記事数が多く複数のページにわたっているとき、同じ <title> タグがついてしまっている
  4. カテゴリとタグで同じ文字列があるとき、 <title> タグが重複

今回は 2) と 3) に対して対策を行った。

まずは、 <title> 要素をカスタマイズできるプラグインがないか調査。 All in One SEO Pack というプラグインが、 <title> タグを気軽に変更できるもので利用したみました。しかし、問題発生。 <title> タグを強制的に書き換えるため、携帯サイトの <title> タグも書き換わり、文字コードの不一致(本体は UTF8 、携帯サイトは Shift-JIS )から文字化けが起こってしまった。なので、テンプレート単位での対応に切り替える。

下記サイトを参考にテンプレートの <title> タグ内の出力を改変。
→東京税理士ブログ: WordPress で全てのページを違うタイトルにする

具体的には以下の変更を行った。

  • タグページはタグ語句の後に [tag] と追加(カテゴリとの差別化)
  • 複数にわたるページには「 Part ○」と追加
  • ついでに検索結果のページも「[ 検索文字列 ]の検索結果」に変更
  • 月別ページも「 2008 5 月」から「 2008 年 5 月」と「年」が入るよう変更(これは好み)

複数ページにわたるときは、「 $paged 」という関数が 2 ページ目以降のページ番号を出力しているらしい。
また、各ページで条件分岐をして対処。
→ WordPress. 日本語:条件分岐タグ

書いたコードは以下の通り。ちなみにアーカイブページには「/ぼやき」と入るようになっているので、参考にされる場合は注意してください。
<title><?php
if(is_home()) {bloginfo('name'); if($paged){echo ' Part '.$paged; }}
if(is_month()){echo get_the_time('Y 年 n 月 ');} else{wp_title('');}
if(is_search()){echo '['.$s.'] の検索結果 '; if($paged){echo ' Part '.$paged;} echo ' : '; bloginfo('name');}
if(wp_title('', false)){if(is_tag()){echo ' [tag]';} if($paged){ echo ' Part '.$paged;} echo ' : '; bloginfo('name'); echo ' /ぼやき ';}
?></title>

一応めでたく対処できたとおもうけど、おかしなところがあったら教えてください。

関連記事