商品ページがインデックスされない:Eコマースのインデックス問題トラブルシューティングガイド
あなたの商品はGoogleショッピングとオーガニック検索に表示されません。商品ページがクロールされインデックスされるのを妨げるEコマース特有のインデックス問題を診断しましょう。
このガイドの内容
商品ページはEコマースサイトの収益を生み出す中核ですが、一貫してインデックスさせるのが最も難しいページタイプの1つです。ホームページやカテゴリーページは問題なくGoogleに表示されるかもしれませんが、個別の商品ページは「クロール済み — インデックス未登録」の煉獄に数週間または数ヶ月とどまることがよくあります。
Eコマースサイトは、ブログや企業サイトとは根本的に異なるインデックスの課題に直面します。
- 重複した商品説明 — 商品ページは、何百もの他の小売業者と同じメーカー提供のテキストを共有していることが多いです
- ファセットナビゲーションの肥大化 — フィルターシステムが何千ものパラメーターベースのURLバリエーションを生成し、クロールバジェットを断片化します
- 商品バリアントの重複 — サイズ、色、構成がほぼ重複したページのクラスターを生成します
- soft 404シグナル — 在庫切れの商品はコンテンツが少なすぎるページを返す可能性があります
- JavaScriptレンダリング — 多くの最新プラットフォームでは、価格と在庫状況をクライアントサイドでレンダリングするため、Googleがコンテンツを評価する能力が遅れます
本ガイドでは、これらのEコマース特有の課題のそれぞれを、具体的な診断手順と修正方法で扱います。Shopifyストア、WooCommerceサイト、Magentoインストール、またはカスタム構築されたプラットフォームを運営している場合でも、ここでの原則が適用されます。
Eコマースにおける重複した商品説明の問題
商品ページがインデックスされない最大の単一の理由は、メーカー提供の説明文による重複コンテンツです。メーカーが商品説明を提供すると、その商品を販売するすべての小売業者が同じテキストを自社の商品ページにコピー&ペーストする傾向があります。Googleは何百または何千もの同一コンテンツのページに遭遇し、どれをインデックスするか選択しなければなりません。
Googleのアプローチは、最も権威があると判断したバージョンをインデックスし、残りはスキップすることです。Amazon、Walmart、メーカー自身のウェブサイトと競合する中小規模の小売業者である場合、その重複した説明文のあなたのバージョンは、ほぼ確実に切り捨てられる側になります。
修正方法は概念としては単純ですが、実践は労働集約的です。ユニークな商品説明を書くことです。インデックスさせたいすべての商品ページには、ウェブのどこにも見つからないオリジナルのコンテンツが必要です。次のような2〜3段落でも十分です。
- 商品に対する独自の視点
- 販売している代替商品との比較
- 顧客が共有した特定の使用事例
- 詳細な技術的観察
…これだけでもページを差別化できます。
何千もの商品を持つストアでは、階層化アプローチを使用します。
- フラッグシップ商品 — 完全にカスタムの説明
- 中堅商品 — 独自の導入段落と共通の仕様表
- ロングテール商品 — 少なくとも独自の冒頭文に加えて、顧客レビューコンテンツ
ユーザー生成コンテンツは秘密兵器です。 顧客レビュー、Q&Aセクション、ユーザー投稿の写真は、他の小売業者には決してないユニークなコンテンツを生み出します。購入後のメールシーケンスを通じてレビューを促進し、レビュー送信プロセスを可能な限り簡単にしてください。10件の本物の顧客レビューがある商品ページは、メーカーの説明だけのページよりもかなり多くのユニークなテキストを持っています。
ファセットナビゲーションとパラメーターURLの爆発的増加
ファセットナビゲーションは、買い物客がサイズ、色、価格帯、ブランド、素材などの属性で商品を絞り込めるフィルタリングシステムです。ユーザーエクスペリエンスには不可欠ですが、天文学的な数のURLバリエーションを生成するため、Eコマースのインデックス作成にとって最も破壊的な力の1つです。
サイズ(10オプション)、色(15オプション)、素材(5オプション)、価格帯(4オプション)、ブランド(20オプション)のフィルターがある衣料品カテゴリーを考えてみてください。数学的な組み合わせは何万ものユニークなURLを生成し、それぞれが同じ商品のわずかに異なるサブセットを表示します。50カテゴリーのサイトは何百万ものファセットURLを生成する可能性があります。
診断の兆候は、Google Search Consoleのページレポートの「クロール済み — インデックス未登録」または「重複、Googleは異なる正規URLを選択しました」の下に、大量のパラメーターURLが表示されることです。これらのレポートに/shoes?color=red&size=10&brand=nikeのようなURLが表示される場合、ファセットナビゲーションがクロールバジェットを消費しています。
対策、最も積極的なものから最も控えめなものまで。
- 1`robots.txt`でブロック — フィルターパラメーター付きURLのクロールを完全に禁止します
- 2ファセットページに`noindex,follow`メタタグを追加 — Googleが商品ページへのリンクをたどることはできますが、フィルター付きページをインデックスしようとしません
- 3すべてのファセットURLに、フィルターなしのカテゴリーページを指すcanonicalタグを実装します
- 4JavaScriptベースのフィルタリングを使用し、URLを変更せずにページを更新します — URLが変更されない場合、Googleはフィルターなしバージョンのみを認識します
一部のファセットページは、SEOにとって本当に価値があります。すべての赤いNikeランニングシューズを表示するページは、正当な検索クエリをターゲットとする可能性があります。これらの高価値の組み合わせには、動的に生成されるファセットURLに頼るのではなく、独自のコンテンツを持つ専用の静的ランディングページを作成してください。
商品バリアントと構成可能な商品の重複
商品バリアントは、メーカー説明の問題とは別の独特の重複の課題を生み出します。商品が複数のサイズ、色、または構成で提供される場合、Eコマースプラットフォームはこれをさまざまな方法で処理しますが、一部のアプローチは深刻なインデックス問題を引き起こします。
プラットフォームがバリアントを処理する方法(および問題)。
- バリアントごとに別のURL — 5サイズと8色のTシャツは40の個別URLを生成し、ほぼ同一のコンテンツを持ちます。Googleは最大1つだけをインデックスし、39のクロールリクエストを浪費します。
/t-shirt?color=blue&size=largeのようなパラメーターベースのURL — パラメーターURLはcanonicalタグで処理できるため、わずかに良いですが、それでもバジェットを消費するクロール可能なURLを生成します。
ベストプラクティスは、すべてのバリエーションに単一の正規商品URLを使用することです。色、サイズ、構成オプションは、URLを変更しないオンページセレクター(ドロップダウン、カラーチップ、ラジオボタン)で処理する必要があります。
プラットフォームがバリアント固有のURLを生成する場合は次のようにします。
- すべてのバリアントURLに、メインの商品URLを指すcanonicalタグを設定します
- XMLサイトマップにはバリアントURLではなく、正規の商品URLのみを含めることを確認します
例外: バリアントが本当に異なる商品である商品(たとえば、まったく異なるデザインのスマホケース)は、別々のインデックスに値する場合があります。各バリアントにユニークなコンテンツを提供します — 異なる商品画像、ユニークなバリアント固有の説明、明確なタイトルタグです。
「重複、送信されたURLは正規として選択されませんでした」ステータスのページがないか、Google Search Consoleを確認して、バリアントURLの増殖についてサイトを監査します。このレポート内のバリアントURLのクラスターは、canonicalタグ戦略に注意が必要であることを意味します。
在庫切れ商品とsoft 404シグナル
サイトが在庫切れ商品をどのように処理するかは、インデックスに直接影響します。在庫切れの商品ページが、ほぼ空のページに「売り切れ」のメッセージだけを表示する場合、Googleはそれをsoft 404として分類する可能性があります — つまり、200 HTTPステータスコードを返すものの、コンテンツがほとんどないため、Googleが404エラーとして扱うページです。soft 404はインデックスから積極的に除外されます。
Google Search Consoleのページレポートでこれを確認してください。「soft 404」としてフラグが立てられた商品URLが表示される場合、プラットフォームは商品が在庫切れになると、商品説明、仕様、レビューを隠している可能性があります。
一時的に在庫切れの商品については次のようにします。
- 商品ページ全体をそのまま維持 — すべてのコンテンツ、画像、説明、レビューを表示します
- 「カートに追加」ボタンを「入荷時に通知」フォームに置き換えます
- これにより、ページのインデックス価値が保持され、商品が再入荷した時点ですぐにトラフィックを生み出します
永久に廃止された商品については次のようにします。
- 直接の代替品が存在する — 代替商品に
301リダイレクト - 代替品はないが、カテゴリーがアクティブ — カテゴリーページに
301リダイレクト - 商品とカテゴリーの両方が廃止 —
410 Goneステータスコードを返して、Googleにページを永続的に削除するよう指示します
URLに外部バックリンクがある場合、廃止された商品に対して標準の404を返すのは避けてください。それらのバックリンクはSEOの価値を持っており、リダイレクトはその価値を宛先ページに転送します。
JavaScriptでレンダリングされる商品詳細
最新のEコマースプラットフォームは、クライアントサイドJavaScriptを使用して商品詳細をレンダリングすることが増えています。商品説明、価格、レビュー、バリアント情報、在庫状況は、最初のHTMLページが読み込まれた後に非同期で読み込まれる可能性があります。
Googleのインデックスプロセスは2つのフェーズで機能します。
- 1第1フェーズ — Googleが生のHTMLをクロールし、初期サーバー応答内で見つけたコンテンツをインデックスします
- 2第2フェーズ — 数時間または数日後に発生する可能性があり、GoogleがJavaScriptエンジン(ヘッドレスChromiumブラウザ)でページをレンダリングし、追加のコンテンツを処理します
商品ページの場合、重要なコンテンツ(商品名、説明、価格、在庫状況)がJavaScriptのみでレンダリングされる場合、Googleは最初にほぼ空のページを認識し、第1フェーズで薄いコンテンツまたはsoft 404として分類する可能性があります。
JavaScriptレンダリング問題を診断するには次のようにします。
- Google Search ConsoleのURL検査ツールを使用し、HTMLソースをレンダリングされたページのスクリーンショットと比較します
- 重要な商品情報がHTMLに含まれていないがスクリーンショットに表示されている場合、コンテンツはJavaScriptに依存しています
- ブラウザで「ページのソースを表示」(
Ctrl+U)を使用します — 開発者ツールのインスペクターではなく、これはレンダリングされたDOMを表示します
プラットフォーム固有の修正方法。
- Shopify — 商品コンテンツはデフォルトでサーバーレンダリングされますが、サードパーティアプリやカスタムセクションがJSレンダリングされたコンテンツを追加する可能性があります
- WooCommerce — コアの商品コンテンツは通常サーバーレンダリングされます
- ヘッドレスコマース(React、Vue、Angularのフロントエンド) — 商品詳細が初期HTMLレスポンスに含まれるように、SSRまたはSSGを実装します
少なくとも、商品名、主要な説明、価格、および在庫状況は、サーバーレンダリングされたHTMLに含まれている必要があります。
ステップバイステップガイド
Search Consoleでインデックスされていない商品URLを特定する
Google Search Console > ページレポートを開きます。商品URLパターン(/products/、/shop/)でフィルタリングします。インデックスされていないURLを分類します。「クロール済み — インデックス未登録」(品質/重複)、「検出 — インデックス未登録」(クロールバジェット)、「重複、送信されたURLは正規として選択されませんでした」(canonical問題)、「soft 404」(コンテンツ不足)。体系的な修正のためにエクスポートします。
商品コンテンツの独自性を監査する
未インデックスの20の商品ページから特徴的な文章をコピーし、Googleで引用符付きで検索します。同じテキストが他の小売業者に表示される場合、説明はユニークではありません。半分以上が重複している場合は、最も収益の高い商品から、1商品あたり2〜3段落のオリジナルコンテンツで書き直しを始めてください。
ファセットナビゲーションURLを分析・制御する
ページレポートで?またはフィルターパラメーターを含むURLを検索します。パラメーターURLが商品ページの5倍以上ある場合は、制御を実装します。robots.txtの禁止ルール、ファセットページのnoindexタグ、クリーンなカテゴリーURLを指すcanonicalタグ、またはURLを変更しないJavaScriptベースのフィルタリングです。
商品バリアントの重複を解決する
Eコマースプラットフォームから完全な商品URLリストをエクスポートし、バリアント固有のURLを持つ商品を特定します。各バリアントURLにメインの商品URLを指すcanonicalタグがあるかどうかを確認します。
バリアントURLにcanonicalタグがない、または自己参照canonicalがある場合、それらはインデックスのために互いに競合しています。
アクション。
- メインの商品URLを指すよう、すべてのバリアントURLにcanonicalタグを設定するようプラットフォームを構成します
- XMLサイトマップからバリアントURLを削除し、正規の商品URLのみを保持します
- バリアントcanonicalを簡単に変更できないプラットフォームの場合、Google Search ConsoleのURLパラメーター処理を使用して、Googleにバリアントパラメーターの処理方法を指示します
在庫切れ商品のsoft 404問題を修正する
Google Search Consoleのページレポートを「soft 404」の理由でフィルタリングし、リストにある商品URLを特定します。フラグが立てられた各商品ページを訪問し、ユーザーに表示されるコンテンツを評価します。
在庫切れページにコンテンツがほとんど表示されない場合は次のようにします。
- 在庫状況に関係なく、完全な商品説明、画像、仕様、レビューを表示するようにテンプレートを更新します
- 購入ボタンを入荷通知機能に置き換えます
永久に廃止された商品については次のようにします。
- 代替商品または親カテゴリーページへの`301`リダイレクトを実装します
テンプレートの変更を行った後、URL検査ツールを使用して、影響を受けたURLの再クロールをリクエストしてください。
商品コンテンツのJavaScriptレンダリングをテストする
5〜10件の商品ページでGoogle Search ConsoleのURL検査ツールを使用します。各ページについて、「公開URLをテスト」をクリックし、比較します。
- HTMLソース(最初のクロールでGoogleが見るもの)
- レンダリングされたスクリーンショット(JavaScript実行後にGoogleが見るもの)
商品名、説明、価格、またはレビューがHTMLにはないがスクリーンショットには表示される場合、コンテンツはJavaScriptレンダリングに依存しています。重要な商品フィールドにサーバーサイドレンダリングを実装してください。
修正後の簡単な検証として、ブラウザでページソースを表示(Ctrl+U)し、商品タイトル、説明、価格がJavaScript実行なしで生のHTMLに表示されることを確認します。
優先商品のインデックスを送信する
上記の根本原因に対処した後、インデックス送信のための商品ページの優先順位リストを作成します。最も収益の高い商品から始めて、下に進みます。Google Search ConsoleのURL検査を使用して、1日あたり最大10〜20の商品のインデックスをリクエストするか、IndexBoltを使用して商品URLを一括送信します。何百もの未インデックス商品がある大規模なカタログの場合、Search Consoleを通じた手動送信は実用的ではありません。IndexBoltの一括送信を使用すると、商品カタログ全体を送信でき、Googleの自然なクロールサイクルが各商品にオーガニックに到達するのを待つのではなく、数時間以内にページをGoogleのインデックスに入れることができます。
よくある問題と解決方法
商品ページがSearch Consoleで「重複、送信されたURLは正規として選択されませんでした」と表示される
原因: Googleが同じ商品コンテンツを複数のURLで見つけ、別のURLを正規バージョンとして選択しました。これは商品バリアント(色/サイズのURL)、HTTP/HTTPSの重複、www/非wwwの重複、または末尾のスラッシュの不一致でよく発生します。同じ商品が/shoes/nike-air-maxや/sale/nike-air-maxのような複数のカテゴリーパスに表示される場合にも発生します。
解決方法: すべての商品ページに、一貫した自己参照canonicalタグを実装します。商品ごとにURLパスが1つだけ存在することを確認します。プラットフォームが同じ商品への複数のカテゴリーベースのパスを生成する場合、1つを正規として選択し、他のものをリダイレクトまたはcanonical化します。内部リンクが一貫して正規URLバージョンを指していること、およびサイトマップに正規URLのみが含まれていることを確認してください。
クロール統計に何千ものパラメーターURLが表示されるが、商品ページがインデックスされない
原因: ファセットナビゲーションが、Googleが実際の商品ページをクロールできる速度よりも速くパラメーターURLの組み合わせを生成しています。Googleは、個別の商品URLではなく、フィルターの組み合わせにクロールバジェット全体を費やしています。5,000の商品があるが200,000のファセットURLがあるサイトは、ファセットページがカテゴリーリストに表示され、より多くの内部リンクを受け取るため、Googleがファセットページのクロールを優先するのを見るでしょう。
解決方法: ファセットパラメーターURLのクロールをブロックするrobots.txtルールを追加します。クロールされているファセットページにnoindex,followタグを追加します。ファセットページにクリーンなカテゴリーURLを指すcanonicalタグを実装します。URLを変更しないJavaScriptベースのフィルタリングへのファセットナビゲーションの移行を検討してください。ファセットURLをブロックした後、2〜4週間にわたってクロール統計を監視し、Googleがクロールバジェットを商品ページに再配分するかどうかを確認してください。
新しい商品はインデックスされるが、古い商品は時間とともにインデックスから外れる
原因: Googleは、インデックスされたページがインデックス内の位置にまだ値するかどうかを定期的に再評価します。メーカーの重複した説明、レビューなし、最近の更新なし、トラフィックシグナルが減少している古い商品ページは削除の候補です。これは、インデックスされたページの品質基準を引き上げるGoogleのコアアルゴリズムの大規模な更新中に特によくあります。
解決方法: 更新された説明、新しい顧客レビュー、現在の価格情報、最近追加された比較コンテンツで古い商品ページを更新します。意味のあるコンテンツ変更を行うときは、サイトマップのlastmod日を更新します。古い商品ページのコンテンツ品質を監査し、最下位のパフォーマンスを更新する四半期ごとのレビュープロセスを確立してください。
商品ページがリッチリザルト(価格、評価、在庫状況)なしでインデックスされる
原因: これは厳密にはインデックスの問題ではありませんが、構造化データが欠落していると、商品ページが検索結果にリッチスニペット付きで表示されなくなり、クリックスルー率と、長期的なインデックスを維持するのに役立つ間接的なエンゲージメントシグナルが低下します。Productスキーママークアップの欠落または不正な形式、JSON-LDエラー、Googleが解析できないJavaScriptレンダリングされた構造化データが一般的な原因です。
解決方法: すべての商品ページでサーバーレンダリングされたJSON-LDを使用してProductスキーママークアップを実装します。必須プロパティを含めます。name、description、image、sku、offers(price、currency、availability付き)。レビューがある場合はaggregateRating、ブランドなどのオプションプロパティを追加します。Googleのリッチリザルトテストツールを使用してマークアップを検証します。JSON-LDがJavaScriptによって注入されるのではなく、HTMLソースに含まれていることを確認してください。
商品URLにセッションIDまたは追跡パラメーターが含まれる
原因: 一部のEコマースプラットフォームは、商品URLにセッションID、アフィリエイト追跡コード、または分析パラメーターを追加します。これにより、訪問者セッションごとにユニークなURLが作成され、Googleがクロールリソースを浪費する何百万もの重複URLが生成される可能性があります。canonicalタグが設定されていても、クロール可能な重複URLの膨大な量がクロールバジェットを圧倒する可能性があります。
解決方法: セッションIDをURLに追加しないようにプラットフォームを構成します。セッション追跡にはURLパラメーターではなくCookieを使用します。アフィリエイトと分析追跡については、robots.txtの禁止ルールにそれらを追加するか、JavaScriptを使用してページ読み込み後にクライアントサイドでのみそれらを追加することによって、パラメーターがクロールできないことを確認します。Google Search ConsoleでURLパラメーター処理を構成して、Googleにセッションと追跡パラメーターを無視するよう指示してください。
プロのヒント
よくある質問
Eコマースサイトで、Googleが現実的にインデックスできる商品ページは何ページですか?+
明確な制限はありません。インデックス容量は、サイトの権威性とコンテンツ品質に応じてスケールします。新しいストアは数百ページを超えると苦戦する可能性があり、確立された小売業者は何百万ページもインデックスできます。膨大なカタログを強制的にインデックスする前に、**ページごとのユニークなコンテンツ**、クロール効率、サイト権威に焦点を当ててください。
在庫切れ商品をnoindexにすべきですか?+
一般的にはいいえ、永久に廃止された場合を除きます。購入ボタンを**入荷通知**に置き換えて、ページ全体を表示したままにします。インデックスされたページを削除すると、蓄積されたランキングが失われます。永久になくなり、クロールバジェットを散らかしている商品のみをリダイレクトまたはnoindexにしてください。
商品画像はGoogleが商品ページをインデックスするかどうかに影響しますか?+
画像は品質評価に貢献します。ストック写真と1行の説明だけのページは、薄いコンテンツとして分類される可能性が高いです。記述的なalt textを持つ**オリジナルの商品写真**は、インデックスの可能性とGoogle画像検索の可視性の両方を向上させます。
競合他社の商品ページはインデックスされていますが、同じ商品を販売しているのに私の商品ページはインデックスされていません。なぜですか?+
Googleは最も価値のある重複コンテンツバージョンを選択します。競合他社はより高い権威、より多くのレビュー、またはよりユニークなコンテンツを持っている可能性があります。少なくとも1つの次元で競合他社を上回ってください。**より良い説明、より多くのレビュー、比較ガイド、または動画コンテンツ**です。
すべての商品の色とサイズのバリアントに対して別々のページを作成すべきですか?+
いいえ。単純なサイズと色のバリアントは、**単一の正規商品URL**のオプションであるべきです。別々のページは重複コンテンツを生成し、リンクエクイティを断片化します。例外は、異なる検索クエリをターゲットとする実質的に異なる商品(ユニークなスマホケースのデザインなど)です。
Googleは動的価格設定の商品ページをどのように扱いますか?+
動的価格設定はインデックスをブロックしませんが、検索スニペットで古い価格が表示される可能性があります。**Productスキーマ**で現在の価格を反映させ、価格が変更されたらサイトマップの`lastmod`日を更新してください。時間的に敏感な価格更新の再クロールを促すためにIndexBoltを使用してください。