Ecommerce SEO
Ecommerce SEOとは、オンラインストアの商品ページやカテゴリページを、検索結果やショッピング結果での表示向上のために最適化する実践です。これには、Product構造化データ、読みやすいURL、ファセットナビゲーションにおける重複の扱い、内部リンク設計が含まれます。目的は、価格、在庫状況、評価などの詳細情報を目立たせ、より質の高いトラフィックを獲得することです。
EコマースSEOは、検索結果とショッピング結果での表示を最適化するために、商品ページとカテゴリページを最適化します。
Googleが推奨する基本要素はProduct構造化データ、読みやすいURL、faceted navigationにおける重複への対応、そして意図的なinternal linkingです。
ファセット(フィルター)ページは、事実上無限に近い数の重複URLを生み出し、crawl budgetを無駄にするため、canonical、AJAX、robots.txtで制御する必要があります。
構造化データ内の価格、在庫状況、評価は、ページ上に実際に表示されている値と一致していなければなりません。
概要
Ecommerce SEOとは、オンラインストアの商品詳細ページとカテゴリ(一覧)ページの構造と内容を最適化し、検索エンジンやショッピング結果で適切に表示されるようにすることを指します。一般的なコンテンツSEOとは異なり、数千、あるいは数万ものほぼ同一のページ、大量のフィルター生成URLバリアント、価格や在庫など頻繁に変化するデータに対応する必要があります。
Google Search Centralは、ecommerceサイトの中核的な作業として、structured dataの追加、商品データをどのように共有するかの決定、URL structureの設計、internal linkとナビゲーションの設計、そしてページネーションなどのUXパターンがクロールとインデックスに与える影響の管理を、高品質な商品コンテンツの作成に加えて挙げています。実際には、これらはProduct schema、ファセットと重複への対応、内部リンク設計に集約されます。
コアコンポーネント
コンポーネント | 説明 | 推奨アプローチ |
|---|---|---|
商品構造化データ | 商品の価格、在庫状況、評価などを検索エンジンが理解できるように公開します。購入可能なページ向けの merchant listings と、直接購入できないレビュー形式のページ向けの product snippets の 2 系統に分かれます。 | JSON-LD を使用します。必須の merchant listing プロパティを入力すると、そのページは product snippets の対象にもなります。 |
スキーマとページの一致 | 構造化データ内の値は、ページ上に実際に表示されている内容と乖離していてはなりません。 | 価格と在庫状況は表示値と一致させ、画像 URL はクロール可能な状態に保ちます。 |
商品ページとカテゴリページのパスは、人が読みやすい形式にします。 | 数値 ID (/product/3243) ではなく、説明的なパス (/product/black-t-shirt) を使用します。パラメータは ?key=value の形式にします。 | |
ファセット(フィルター)ナビゲーション | 色やサイズなどのフィルターによって、ほぼ無限に近いバリアント URL が生成され、重複やクロールの無駄が発生します。 | AJAX で URL を生成しない、canonical でシグナルを集約する、価値の低い組み合わせを robots.txt でブロックする、という対応を行います。 |
Canonical | バリアント URL や重複 URL のランキングシグナルを、代表 URL に集約します。 | パラメータなしの URL を canonical に設定し、内部リンクとサイトマップを同じ URL に揃えます。 |
内部リンク | どのページが重要かを検索エンジンに伝えるシグナルです。 | 優先順位を伝えるために、主要なカテゴリと製品へのリンクを設計します。 |
根拠
構造化データ。Google Search Centralによると、Productの構造化データは2つのファミリーに分かれます。直接購入できないレビュー形式のページ向けの product snippets では、長所や短所などの編集情報が強調されます。一方、購入可能なページ向けの merchant listings では、サイズ、配送、返品ポリシーなどの詳細情報をサポートします。Googleは、必要な merchant listing プロパティを入力すると product snippet の対象にもなると述べており、また、人間にとって読みやすく、機械にとって解析しやすいことから、形式として JSON-LD を推奨しています。
Schemaとページの一致。構造化データは、ページ上で表示されている内容を正確に反映していなければなりません。schema の価格は表示価格と一致している必要があり、在庫状況は最新である必要があり、画像はクロール可能なURLで取得できる必要があります。
URL構造。Googleは、数値IDよりも説明的なURLを推奨しており、たとえば /product/3243 よりも /product/black-t-shirt-with-a-white-collar を優先します。フィルターや並べ替えのパラメータには ?value よりも ?key=value を使うことを推奨し、セッションID、トラッキングコード、現在時刻のような一時的なパラメータは避けるよう助言しています。製品バリエーションにそれぞれ専用URLがある場合は、バリエーション間の関係を明確にするため、パラメータのないURLを canonical に設定することを推奨しています。
ファセットナビゲーション。Ahrefsは、ファセットナビゲーションによってほぼ無限のフィルター組み合わせとインデックス可能なURLが生まれ、重複コンテンツや無駄なクロールバジェットにつながると説明しています。推奨される対策は、(1) self-referencing canonical でシグナルを集約する、(2) AJAXを使い、a href の内部リンクを使わずにフィルターを実装して、そもそもバリエーションURLが露出しないようにする、これが最もクリーンな方法です、そして (3) 残る低価値の組み合わせを robots.txt でブロックする、です。noindex は最後の手段であり、ランキングシグナルの集約を失うことになります。
実装チェックリスト
JSON-LDの Product構造化データ(価格、在庫状況、評価)を商品詳細ページに追加し、必要な merchant listing プロパティを入力します。
schema の価格、在庫状況、画像が、ページ上に表示されている実際の値と一致していることを確認します。
数値IDの代わりに、説明的なパスを持つ商品URLとカテゴリURLを構築します。
フィルターと並び替えは ?key=value 形式に標準化し、セッションIDやトラッキングコードなどの一時的なパラメータはURLから除去します。
AJAXによってファセットページがバリアントURLを生成しないようにし、それが不可能な場合は、正規URLを代表URLに設定します。
検索需要のない低価値なフィルターの組み合わせは、robots.txt でクロールをブロックします。
商品バリアントについては、パラメータのないURLを正規URLとして設定し、同じURLを内部リンク、サイトマップ、そして正規URL全体で使用します。
主要カテゴリや主要商品への内部リンクを設計し、優先シグナルが伝わるようにします。