ご存知かもしれませんが、Shopifyにはページ階層に基づいてURLを自動生成する独自の構造があります。商品を特定のコレクションに追加すると、yourstore.com/collections/collection-name/products/product-name というリンクでアクセス可能になります。しかし、同時に yourstore.com/products/product-name というリンクでも存在することになります。商品を複数のコレクションに追加すると、同じページが複数のURLで重複して生成されるため、さらに複雑になります。
これはShopifyストアにおける重複コンテンツの典型的な例です。サイトで重複問題が発生する原因は他にもあり、その仕組みと修正方法を解説します。その前に、重複コンテンツがSEOやユーザーエクスペリエンスにもたらすリスクについて見ていきましょう。
なぜ重複コンテンツを確認し、修正する必要があるのでしょうか?
SEOの観点から見ると、重複コンテンツは検索エンジンを混乱させ、検索結果に何を表示すべきかを判断できなくさせます。重複コンテンツがあるとGoogleから「ペナルティ」を受けるという話を聞くことがありますが、これは事実ではありません。しかし、検索エンジンがどのURLを評価すべきか判断できないため、結果として検索順位が低下する可能性があります。
ランキングのプロセスはどのように機能するのでしょうか?同じ内容のページが複数インデックス可能な状態にあると、検索ボットがそれらをクロールして評価します。その後、Googleが検索結果に表示するのに最適なページを決定します。ここで問題が生じます。検索エンジンが考える「最適なURL」が、必ずしもあなたの意図と一致するとは限らないからです。
例えば、特定のイベントや季節のセールに関連する商品をまとめた一時的なコレクションがあるとします。その際、商品ページがコレクションを含むURLでランク付けされることがあります。その後、そのコレクションを非表示または削除しても、検索からのトラフィックは維持したいと考えるでしょう。このような場合、意図しないURLがランク付けされてしまい、安定した順位を維持するのが難しくなり、トラフィックに悪影響を及ぼす可能性があります。
ECサイトにおける重複コンテンツのもう一つの問題は、検索エンジンがすべての重複を検出できない可能性があることです。これがなぜ問題なのでしょうか?Googleはすべての重複ページを特定すると、それらのランキングシグナルを統合し、最適なURLに割り当てます。一部の重複が検出されない場合、ランキング対象として選ばれたページは、本来得られるはずのランキングシグナル(被リンクなど)を失うため、評価が弱まってしまいます。
確認すべきShopifyの重複コンテンツの種類
注意すべき主な問題は以下の4つです。
- カテゴリページで生成される商品URL
- コレクションページのページネーション
- 商品タグで生成される商品URL
- ドメインのバージョン
これらの各問題について、検索順位やトラフィックに悪影響を与えないための対策を解説します。
Shopifyストアの重複コンテンツを修正する方法
問題の種類に応じて、悪影響を回避するためのさまざまな方法があります。
カテゴリによる商品ページの重複
これは先ほど説明したケースです。例えば、ある衣料品店で、コレクションを含まないURLと、「秋」「アウター」「セール」という3つの異なるコレクションを含むURLの計4つのページで同じジャケットが閲覧できる状態などが該当します。
Shopifyはこの問題に対処するため、自動的にcanonicalタグを設定してすべての重複を統合し、yourstore.com/products/product-name でアクセス可能なメインの商品ページを参照するようにしています。
以下の例は、同じ商品ページが3つの異なるコレクションに含まれている様子を示しています。

各URLのページソースを確認すると、canonical属性の rel 値に商品ページが指定されていることがわかります:
<link rel="canonical" href="https://www.sayya.ua/products/wool-biker-jacket-1">
この方法でランキングに最適なページを指定することはできますが、Googleは canonical 値を絶対的な指示として受け取るわけではありません。つまり、検索エンジン側で無視される可能性があるということです。
Shopifyのエキスパートたちは、この問題に対する回避策を見出しています。テーマのコードを少し調整する必要があります。現在のテーマ設定(アクションメニュー)から コードを編集 をクリックし、Snippets フォルダ内の product-grid-item.liquid を選択してください。
その中の <a href=”{{ product.url | within: current_collection }}” class=”product-grid-item”> というコード行を、
<a href=”{{ product.url }}” class=”product-grid-item”> に置き換えます。
この小さなコードの変更により、商品ページへのすべての内部リンクが、コレクションに関連付けられていない元のURLに自動的に設定されます。
コレクションページのページネーション
コレクションで複数のページにわたって商品が表示される場合、1ページ目が自動的に重複してしまいます。これは、ページ指定のない一般的なコレクションURLと、末尾に「?page=1」が付いたURLの両方でアクセス可能な状態になります。

上記のスクリーンショットのページ(https://shoplvng.co.in/collections/seating?page=1)の内容は、URL(https://shoplvng.co.in/collections/seating)の内容と重複しています。
インターネット上にはいくつかの回避策があります。例えば、こちらのソリューションでは、collection-pagination.liquid に挿入することで「?page=1」パラメータを削除するコードが紹介されています。これにより、ユーザーが他のページから1ページ目に移動する際、一般的なコレクションURLにアクセスするようになります。
商品タグのURL
商品にタグを追加すると、内部検索結果の分類や整理に利用できます。タグが、特定のコレクションにまとめられている商品と同じ商品を指してしまう場合があります。
このような場合は、商品タグによって生成されたURLをnoindexに設定し、ランキング対象から外す必要があるかもしれません。そうすることで、同じコンテンツを持つコレクションページの評価が分散するのを防げます。Shopifyでの noindex設定 については、こちらの記事で詳しく解説しています。
例えば、下のスクリーンショットのストアには、ワンピースアイテム用のカテゴリURLを作成するスイムウェアコレクション(https://www.fashionnova.com/collections/swimwear?named_tags.style=One%2520Pieces)がありますが、それとは別にワンピース水着専用のコレクション(https://www.fashionnova.com/collections/one-piece)も存在しています。

2つのドメインバージョン
デフォルトでは、Shopifyでストアを作成すると、「myshopify.com」を含む無料ドメインが付与されます。これは有効なドメインですが、顧客へのアピールやリンクの共有には適していません。Shopifyから直接、または外部プロバイダーからブランドドメインを購入して、ドメインを変更することをお勧めします。
しかし、myshopifyバージョンは依然として存在し、ブランドドメイン上のすべてのコンテンツを複製してしまいます。必ず以下の手順を行ってください。「オンラインストア」内の ドメイン セクションに移動し、プライマリ(ブランド)ドメインへのトラフィックのリダイレクトを有効にしてください。これにより、検索エンジンはストアのバージョンを1つだけ認識するようになります。

ドメインアドレスフィールドの「www」プレフィックスについても同様です。ドメインの canonicalバージョン(wwwの有無)を設定し、プライマリバージョンへのリダイレクトを設定する必要があります。リダイレクトのオプションは、Shopify管理画面(設定 > ドメイン)から利用可能です。
ウェブサイトがHTTPからHTTPSに移行する際にも重複が発生する可能性がありますが、HTTPはすでに過去の遺物であり、Shopifyが安全なHTTPSを保証しているため、その点については心配無用です。
重複ページでランキングを下げないようにしましょう
ECサイト内に重複コンテンツが存在すると、検索エンジンはどのページを評価し、検索順位を付与すべきか判断できず、混乱を招いてしまいます。重複ページがインデックスされないよう設定し、内部リンクは検索結果に表示させたいメインページへ適切に集約しましょう。
Shopifyにおける重複コンテンツの検出と修正は比較的容易ですので、早めに対処することをおすすめします。
その他の最適化に関するヒントについては、Shopify SEOガイドや、市場で評価の高いSEOアプリ一覧をご覧ください。






