通販サイト(商品一覧ページ)におけるページネーションの処理方法(ポイント7~9)
次に通販サイトの話に移るが、改めて重要な要件について確認しておく。
情報を一覧化したページ、いわゆる検索結果ページの場合、原則として2ページ目移行そのものがインデックスさせなければいけない必然性はない。なぜなら、SEOの観点から確保したい検索経由の流入は大別すると
- a.(カテゴリと一致するキーワードによる)検索流入
- b.キーワードと合致する商品詳細(個別)ページへの検索流入
上記の2つとなる。
aは先述したとおり「江東区 マンション」「渋谷 クリーニング」「冷蔵庫」といった、当該キーワードの一覧も検索要求の1つとして含まれているようなケースだが、これは一覧の1ページ目に誘導できれば十分だ。
一方、bは検索結果にヒットする可能性のあるページとして、当該キーワードを含む商品一覧ページと、当該キーワードの商品詳細(個別)ページの2つが考えられるが、UXの観点からは後者が望ましい。
なぜなら、もし前者に誘導するとユーザーは[検索エンジンの検索結果]→[到達サイトの検索結果]へと遷移し、移動した先で再び目当ての商品の記述箇所を探さなければいけないという手間が発生する。こうしたケースで、結局キーワードに相当する商品リンクを探せなかったという経験をお持ちの方もいらっしゃるのではないだろうか。
突き詰めていくと、サイト運営者が商品一覧ページの分割ページをインデックスさせたいのは商品個別ページという深い階層のページをインデックスさせたいことが目的の場合がほとんどである。よって、通販サイトのページネーションの処理で検討すべき真の課題は「どのように商品詳細ページをもれなくインデックスさせるか」ということを認識して欲しい。
なお、タイトルのユニーク化や一覧ページの最初(1ページ目)にリンクを集めるといった施策は共通なので、ポイント(1)(3)(4)を参照してほしい。
ポイント(7) 過剰な一覧ページ数は、インデクシングを阻害する
商品一覧の分割された一連のページ群を無理にインデックスさせようという意識をまず捨ててほしい。これは最近頻繁に発生している事例だが、商品一覧ページ数が膨大であっても、そもそもGoogleにそれらがインデックスされない、あるいは、ページネートされたページのインデクシングにリソースが割かれてしまい、肝心の商品詳細ページがインデックスされないという問題がある。
たとえば昨年米国で報告された事例を紹介すると、その通販サイトは数千規模のアイテムを扱っているが、それのクローラビリティを改善するために、サイト内検索結果ページそのものをインデックスさせたり、タグクラウドを多用してとにかく大量の「一覧ページ」を生成していた。
ところが、ある日を境に、site:(ドメイン名)で検索した時に、急激にインデックス数が減少すると共に、本来その企業が望んでいた、主要カテゴリページや商品詳細ページがインデックスから外れてしまったという。
この問題をウェブマスター向けのフォーラムに投稿したところ、幸いGoogleのエンジニアがその問題を分析してアドバイスを送ってくれたのだが、同社によるとgooglebotが過剰にページネートされたページ群のクローリングに全時間の80%を割かれてしまい、その他のページへのクローリングが行われない状況になっていると指摘をしていた。
結局、そのウェブマスターはタグクラウドなどを全て撤去して、分割されたページへのリンクを大幅削減したところ、サイト全体が正常にインデックスされるようになったという。
類似事例は日本でも報告されており、サイト(ドメイン配下)を大きく見せかけるために、自動生成されるページを大量に保有すると、インデックスが正常に行われていないようだ。
こうした背景もあり、一覧対象となる商品アイテム数が数百・数千に及ぶ場合、最初から2ページ目以降をnoindexなどでブロックして、クローリングさせないよう対応している通販サイトも出始めている。
話をまとめると、表示対象となる情報点数が膨大で、ページネート数も数十・数百件に及ぶような場合は、次のような対応が必要となる。【注】
- a)最初からnoindexでインデックスさせない
- b)canonicalで1ページ目を指定する
- c)1ページあたりの表示件数のデフォルトをできるだけ多くして、インデックス対象となる分割数を最小に抑える
cのように表示件数を少なくする、極論をいえば商品一覧を1ページにまとめたページを別途作成して、それをインデックスさせればよいというアドバイスを耳にしたことがあるかもしれないが、商品点数が少なければまだしも、数百件もある場合は非現実的だ。
点数が少ない場合はその方法で構わないが(現実に本稿で取り上げるような悩みを抱えているサイトは大半が当てはまらないので)推奨方法からはずしている。
では、肝心の商品個別ページをどのようにインデックスさせるべきかであるが、これはサイト設計時のナビゲーションを十分に検討して、「ユーザーが情報を探す最小限の単位」までカテゴリを作成しておく、特集ページやランキング、レコメンデーションなど、複数の機能を駆使して、クローラがページ詳細ページにアクセスできる経路をできるだけ自然なコンテンツ・ナビゲーション設計を通じて確保しておくことが必要となる。
ポイント(8) ソート順はデフォルトを決めて、rel="canonical"を設定
商品一覧ページの場合、「人気順」「在庫あり」「金額が安い」「送料無料」「10件表示」「30件表示」「100件表示」など、ユーザー任意の並び替えを行う機能を備えていることが多い。このソート順を変更した場合に固有のURLが与えられている場合もあるだろう。
このケースは、まず検索エンジンにインデックスさせたい並び順を決定した上で、そのURLをrel="canonical"で指定しておく。たとえば、「人気順」の「30件表示」をデフォルトと決めたら、そのパラメータ付きのURLがインデックスされるようにしておく、ということだ。
表示件数の違いや並び順の違いというのは、検索エンジン側から見ると「同一コンテンツ」(duplicate content)なので、そのままインデックスさせると、本来インデックスさせたいページが登録されなかったり、リンクがもたらす価値の最適配分が行えなくなる。
ポイント(9) ページ遷移をなくしてしまう
これはニュース記事の方でも取り上げているが、商品一覧ページをそもそも分割しなければ良い、という考え方もある。たとえば米国のとある不動産会社は、(不動産は大抵、都市部だとヒット件数が数百件単位になることもある)Ajaxを使ってページ分割を行っている。
Ajaxを利用しているため、2ページ目移行をクローラがアクセスすることはないのだが(つまり、クローラがサイト内を無駄にクローリングして大切なページがインデックスされないリスクを最小化する)Ajax読み込み時に各物件詳細ページへのリンクは読み込まれているので、(全部ではないが)一部はそれを経由してクローリングされている。
まとめ
本記事では最小限押さえておくべきポイントについて挙げたが、実際はサイトが保有する独自のコンテンツや機能によって、もっとスマートな方法もある。
本記事で挙げたものは比較的どのサイトでも対応できそうなものをピックアップしているので、考える際の参考にしてほしい。繰り返しになるが、この問題対処の最適解はサイトによって異なる。
