BizVektorのページネーション問題解決の方法として、前回はCustom Query String Reloadedを導入することを提案した。しかし、これで全て解決するわけではないことに気がついた。また、ページネーションさせないために全てのページを一括表示させるというのもあまり格好の良い方法ではない。まず、ページネーションの問題が何故発生するのか、もう一度確認してみよう。
BizVeckorのタイトル作成方法
このまま何の対処もしない場合、BizVektorは重複するタイトルとメタデータを作り続けることになる。まず、BizVektorのタイトルとメタデータの作り方を再確認する。問題となるのは、AuthorカテゴリーとDateカテゴリーである。この二つのカテゴリーでは、まったく同じ方法でタイトルとメタデータが生成されていた。まずタイトルを見てみよう。タイトルの生成は、theme-options.phpというファイルの中に記述されている。ファイルの場所は、以下の通り。
wp-contents⇒themes⇒bizvektor⇒ins⇒theme-options.php
「タイトル生成」の中の「投稿アーカイブページ」というのがAuthorカテゴリーとDateカテゴリーに使われていると思われる。登校日が2012年12月だとすると、
2012年12月 | ブログ | サイト名称
というのがタイトルとして生成される。仮に12月に21件の投稿があったとすると、以下のURLが重複することになる(□□□□はユーザー名)。
- www.exsample.com/author/□□□□/page/02/
- www.exsample.com/author/□□□□/page/03/
- www.exsample.com/2012/page/01/
- www.exsample.com/2012/page/02/
この場合、重複タイトルは2種類あることになる。
- AuthorカテゴリーとDateカテゴリーン
- 2つのカテゴリー内のページネーション
BizVeckorのメタデータ作成方法
メタデータを作成しているのは、functions.php内の「description 生成」、その中の「アーカイブ」の部分に記述してある。functions.phpは、BizVektorでは珍しくWordPressの「テーマ編集」から見ることができる。2012年12月の投稿の場合、以下のようなメタデータがAuthorとDateカテゴリーの両方に作成される。
2012年の投降。 サイト名称+キャッチフレーズ
タイトルの場合は月単位であるが、こちらは年単位となっている。したがって、重複ページは投稿数に応じて数十ページとなる。URLの例はタイトルの場合と同じであり、重複の内容もまったく同じとなる。
Custom Query String Reloadedではページネーションにしか対応できない
Custom Query String Reloadedを導入し、Autorカテゴリーの表示を200件、Dateカテゴリーを30件表示する設定とした。そうすることでAuthorカテゴリーは1ページに収めることができたが、200ページを超えたらどうする、という問題が残ってしまう。また、Dateカテゴリの場合、月単位となるタイトルは重複がなくなるが、年単位となるメタデータのページネーションは解決していない。つまり、Custom Query String ReloadedではBizVektorのタイトルとメタデータの重複問題に完全には対応しきれないということになる。