2014 年もウェブマスター向け公式ブログをご覧頂き、ありがとうございました。
2014年12月26日金曜日
http://www.example.com/category.php?category=gummy-candies&price=5-10&price=over-10
http://www.example.com/category.php?category=gummy-candies
http://www.example.com/product.php?item=swedish-fish
カノニカル | 重複 |
example.com/product.php?
item=swedish-fish |
example.com/product.php?
item=swedish-fish&category=gummy-candies&price=5-10 |
![]() | ![]() |
URL | example.com/category.php?
category=gummy-candies&taste=sour&price=5-10 |
example.com/category.php?
category=gummy-candies&taste=sour&price=over-10 |
![]() | ![]() | |
Issues |
|
|
ワースト プラクティス:ワースト プラクティス 2: ページ コンテンツを変更しない値を、パラメータではなくディレクトリやファイル パスとして追加する
ベスト プラクティス:
example.com/category?[category:gummy-candy][sort:price-low-to-high][sid:789]
- キー=値ペアに = ではなく : が使用されている
- 複数のパラメータが & ではなく [ ] で追加されている
example.com/category?category,gummy-candy,,sort,lowtohigh,,sid,789
- キー=値ペアに = ではなく , が使用されている
- 複数のパラメータが & ではなく ,, で追加されている
人間であれば「,,」のような非標準の URL パラメータを解読できますが、クローラがこのような URL パラメータを解釈するのは難しくなります。Google のクロール チームのソフトウェア エンジニアである Mehmet Aktuna は、「標準以外のエンコードを使用するのは、わざわざ災難を招いているようなものだ」と述べています。キー=値ペアには等号(=)を使用し、複数のパラメータの追加にはアンパサンド(&)を使用してください。example.com/category?category=gummy-candy&sort=low-to-high&sid=789
ワースト プラクティス:ワースト プラクティス 3: ユーザー生成値を、クロールもインデックス登録も可能だが、検索結果では有用でない(場合によっては無限の)URL パラメータに変換する。
グッド プラクティス:example.com/c123/s789/product?swedish-fish
(/c123/ がカテゴリ、/s789/ がセッション ID だがページ コンテンツは変更されない)
ベスト プラクティス:example.com/gummy-candy/product?item=swedish-fish&sid=789
(ディレクトリ /gummy-candy/ によってページ コンテンツが意味のある形で変更される)
有用な値(たとえば「gummy-candy」)と有用でない値(たとえは「sessionID」)をパスに直接記述した場合、自動化されたプログラム(たとえば検索エンジン クローラ)がそれらを区別することは困難です。一方、URL パラメータを使用すれば検索エンジンにとって柔軟性が増し、クローラが各値のすべてのパターンにアクセスする必要があるかどうかを判断しやすくなります。example.com/product?item=swedish-fish&category=gummy-candy&sid=789
(URL パラメータにしたことで柔軟性が増し、検索エンジンが効率的にクロールできる)
ページ コンテンツを変更せず、URL パラメータとして設定されるべき一般的な値には次のものがあります:
- セッション ID
- トラッキング ID
- リファラー ID
- タイムスタンプ
ワースト プラクティス(例: 緯度/経度、「~日前」といったユーザーごとに変動する値を含む URL をクロールとインデックス登録の対象にする):ワースト プラクティス 4: URL パラメータの追加に論理性がない
ベスト プラクティス:
example.com/find-a-doctor?radius=15&latitude=40.7565068&longitude=-73.9668408
example.com/article?category=health&days-ago=7
ユーザーごとに変動する値を含む URL をクロールするようにしても、処理が無限になる可能性があるだけで、検索ユーザーにとってはほとんど価値がありません。それよりも、最も一般的な値のカテゴリ ページを公開して追加情報を含めるようにすると、通常の検索結果ページより多くの付加価値を提供できます。ユーザー生成値を使用する場合は、生成値を別のディレクトリに格納し、robots.txt がそのディレクトリをクロールしないように設定します。
example.com/find-a-doctor?city=san-francisco&neighborhood=soma
example.com/articles?category=health&date=january-10-2014
robots.txt を使用する場合:
example.com/filtering/find-a-doctor?radius=15&latitude=40.7565068&longitude=-73.9668408
example.com/filtering/articles?category=health&days-ago=7
User-agent: *
Disallow: /filtering/
ワースト プラクティス:ワースト プラクティス 5: 該当する検索結果のない絞り込み条件が表示されている
ベター プラクティス:
example.com/gummy-candy/lollipops/gummy-candy/gummy-candy/product?swedish-fish
example.com/product?cat=gummy-candy&cat=lollipops&cat=gummy-candy&cat=gummy-candy&item=swedish-fish
ベスト プラクティス:example.com/gummy-candy/product?item=swedish-fish
関連性の低い URL パラメータを追加しても、重複が増えてクロールやインデックス登録の効率が下がるだけです。URL を生成する前に、不要な URL パラメータを削除してサイト内を「整理整頓」しましょう。ユーザー セッションに必要なパラメータが多い場合は、example.com/product?item=swedish-fish&category=gummy-candy
cat=gummy-candy&cat=lollipops&cat=gummy-candy&
... のように次々と値を追加するのではなく、Cookie を使って情報を保持するようにします。
ワースト プラクティス:無用な URL をなくしてクロール領域を最小にするには、商品が存在するときにのみ URL が生成されるようにします。これにより、商品が存在しないページが表示されなくなり、ユーザー エクスペリエンスが高まるだけでなく、クローラが認識する URL の数も最小限に抑えることができます。また、ページの商品が一時的に在庫切れになっているわけではなく、今後もそのページに有益なコンテンツが掲載される可能性が低い場合は、404 ステータス コードを返すことを検討してください。404 を返すことで、ユーザーに対して他のナビゲーション オプションを示すダイアログを表示したり、関連商品を見つけるための検索ボックスを表示したりできます。
該当する商品が 1 つもない絞り込み条件が選択可能になっている。
ベスト プラクティス:
ユーザーの選択が妥当な場合(つまり商品が存在するとき)にのみリンク/URL が生成されるようにします。該当する商品がないフィルタ条件はグレー表示されるようにします。使い勝手をさらに向上させるには、各フィルタ条件の横に該当する商品数を表示することも検討してください。
item-id
、category-id
、page
などが考えられます。taste
」パラメータは検索ユーザーにとって有用です。[sour gummy candies] で検索すると、結果として example.com/category.php?category=gummy-candies&taste=sour
が表示されます。一方、「price
」パラメータは、category=gummy-candies&taste=sour&price=over-10
のような重複の原因になるだけです。以下に一般的な例を示します:item-id
、category-id
、name
、brand
...session-id
、price-range
...すべての不要な URL へのリンクに rel="nofollow" を追加します。このオプションを追加すると、クローラによって不要な URL がクロールされるのを最小限に抑えることができ、ファセット ナビゲーションによってクロール領域(クローラが認識する URL の領域)が極端に大きくなるのを防ぐことができます。なお、rel="nofollow" は不要な URL のクロールをブロックするわけではありません(クロールをブロックできるのは robots.txt の disallow だけです)。ただし、不要な URL へのクロールを許可することで、それらの URL からのインデックス登録のシグナルを、ユーザーにとって有用な URL に統合することもできます。それには、不要な URL に上位の URL への rel="canonical" を追加します。たとえば、example.com/category.php?category=gummy-candies&taste=sour&price=5-10
にrel="canonical"
を追加し、上位 URL としてexample.com/category.php?category=gummy-candies&taste=sour&page=all
)(すっぱいグミをすべて表示するページ)を指定します。
不要なパラメータを含む URL に、robots.txt でクロールをブロックする/filtering/
ディレクトリを含めます。これにより、すべての検索エンジンが有用なコンテンツを自由にクロールできるようになりますが、不要な URL のクロールはブロックされます。たとえば、有用なパラメータが item、category、taste で、不要なパラメータが session-id と price だとします。例:
example.com/category.php?category=gummy-candies
このような URL を、別の有用な URL パラメータ(たとえば taste)にリンクさせることができます。
example.com/category.php?category=gummy-candies&taste=sour
.
ただし、不要なパラメータ(たとえば price)を追加する場合は、URL に定義済みのディレクトリ/filtering/
を含めます:
example.com/filtering/category.php?category=gummy-candies&price=5-10
これでこの URL は、robots.txt によってクロールがブロックされます。
User-agent: *
Disallow: /filtering/
CDN を使用していない場合(CDN を使用しているサイトでは、上記のようなウェブマスター ツールの柔軟な機能を利用することはできません)は、不要なパラメータを含む URL を別のホストに配置することを検討してください。たとえば、メイン ホストwww.example.com
とサブ ホストwww2.example.com
を作成します。サブ ホスト(www2)では、ウェブマスター ツールのクロール速度を低く設定します(メイン ホストはできるだけ高く設定したままにします)。これにより、メイン ホストの URL は完全にクロールされますが、不要な URL が Googlebot によってクロールされる可能性が低くなります。
- メイン ホストのすべてのアイテムに、1 つ以上のクリック パスがあることを確認してください。
- インデックス登録のシグナルを統合したい場合は、サブ ホストからメイン ホストの上位 URL への rel="canonical" を追加することを検討してください(例:
www2.example.com/category.php?category=gummy-candies&taste=sour&price=5-10
に rel="canonical" を追加し、上位 URL としてwww.example.com/category.php?category=gummy-candies&taste=sour&page=all
(すっぱいグミをすべて表示するページ)を指定します)。
example.com/product?cat=gummy-candy&cat=lollipops&cat=gummy-candy&item=swedish-fish
)example.com/category.php?session-id=123&tracking-id=456&category=gummy-candies&taste=sour
category=gummy-candies&page=all
への rel="canonical" を追加します)。その際に、検索ユーザーのエクスペリエンスを損なわない(各ページがすばやく読み込まれるなど)よう注意してください。example.com/product?cat=gummy-candy&cat=lollipops&cat=gummy-candy&item=swedish-fish
のような URL は避けます)。example.com/category?session-id=123&tracking-id=456&category=gummy-candies&taste=sour&
ではなく example.com/category.php?category=gummy-candies&taste=sour&session-id=123&tracking-id=456
とします)。category=gummy-candies&page=all
への rel="canonical" を追加します)。その際に、検索ユーザーのエクスペリエンスを損なわない(各ページがすばやく読み込まれるなど)よう注意してください。