Shopifyが検索・AI検索に出ないとき見る6つ

Shopifyが検索・AI検索に出ないとき見る6つ
- Tips
- 13分で読める 日本ECプラットフォーム別 検索・AI検索ガイド
Shopifyのストアが検索やAI検索に出ないとき、担当者が確認する順に6項目を整理します。重複URLとcanonical、固定URL構造と階層、越境のhreflang、日本向けアプリのページ、移行時のリダイレクト、アプリ...
- URL
- searchos.io/ja/blog
- Copyright
- © 2026 Search OS
Shopifyのストアで商品が検索に出ない、AI検索に引用されないという相談は、原因が一つに絞れないことがほとんどです。テーマが出すcanonical、変えられないURL構造、Shopify Marketsのhreflang、日本向けアプリが作るページ、移行時のリダイレクト、アプリが読み込むJavaScriptの重さ。どれも管理画面には異常として表示されず、Search Consoleの除外理由とボットの取得ログにだけ現れます。
この記事は、Shopifyについて書いてきた6本の記事を、担当者が確認する順に並べ直したものです。詳しい手順は元の記事に譲り、ここでは何を見て、何と判断するかだけを整理します。
1. 同じ商品が複数のURLで開き、クロールバジェットを消費していないか
Shopifyでは、同じ商品が /collections/コレクション名/products/商品名 と /products/商品名 の両方で開き、タグやソート・フィルタのパラメータ付きURLも生まれます。標準テーマはコレクション経由URLに単体URLを指すcanonicalを出すため、索引が二重になることは通常ありません。ただし、クローラーはcanonicalを読む前にそのURLを取得するので、取得した分のクロールバジェットは消費されます。
問題 | Shopify標準の状態 | 影響 | 対処 |
|---|---|---|---|
同じ商品が複数URLで開く | canonicalが単体URLを指す | 索引の重複はほぼ起きない | テーマがcanonicalを正しく出しているか確認 |
コレクション経由URLがサイト内リンクに使われる | テーマの設定次第 | クローラーが重複URLを大量に取得 | 内部リンクを単体URLに統一 |
タグフィルタURLが無数に生まれる | 索引可能な状態のことが多い | 低価値ページがクロールバジェットを消費 | noindexまたはrobotsで制御 |
ソート・フィルタのクエリパラメータ | 索引可能 | 同上 | canonicalとrobotsで制御 |
商品が数百点のうちは実害になりにくく、数千点、タグが数百種類になると話が変わります。Search Consoleの「クロール済み、インデックス未登録」でタグ・パラメータURLが大半なら対処の対象です。「ギフト」のように検索される絞り込みだけを説明文つきのコレクションに昇格させ、色やサイズはnoindexで止めます。robotsで止めるとcanonicalもnoindexも読まれないため、索引が消えてからrobotsで止める順序が安全です。
2. URLに階層がないぶん、パンくずと内部リンクで階層を伝えているか
ShopifyのURL階層は変えられません。商品は /products/、コレクションは /collections/、固定ページは /pages/、ブログは /blogs/ の直下に置かれ、アプリを入れてもこの構造は変わりません。ただし、URLの階層そのものは順位要因としては小さく、パンくず・内部リンク・構造化データで階層を伝えれば評価に大きな差は出ません。
手段 | 何を伝えるか | Shopifyでの実装 |
|---|---|---|
パンくず(画面上) | ホーム > コレクション > 商品 | テーマのパンくずセクション。表示されていなければ有効化 |
BreadcrumbList(構造化データ) | パンくずを機械可読に | テーマまたはアプリで出力。パンくずの表示と一致させる |
内部リンク | コレクション → 商品、商品 → コレクション | コレクションページとテーマの「関連コレクション」 |
ナビゲーション | 主要コレクションの階層 | メニューを階層化。ヘッダー・フッターに |
商品が「財布」と「ギフト」の両方に入っている場合、パンくずに出すコレクションは1つに決めておきます。ハンドルは意味のある英数字にし、一度公開したら変えないのが基本です。アプリでURLを書き換える、移行前の階層を再現しようとリダイレクトを多段にする、全商品を1つのコレクションに入れるといった行為は、canonicalとの食い違いや評価の減衰を招きます。
3. 越境ECで、hreflangと翻訳の抜けが矛盾していないか
Shopify Marketsで言語を追加すると、テーマが対応していれば各ページのhead内に言語ごとのhreflangが出ます。ただし翻訳が抜けているページがあると自動出力だけでは正しくならず、テーマやアプリが別のhreflangを出しているケースもあります。hreflangは「どちらも正で、読者の言語で出し分けてほしい」という宣言で、canonicalとは役割が違います。
確認項目 | 正しい状態 |
|---|---|
hreflangの出力 | 商品ページのソースに、日本語と英語の両方のURLが hreflang="ja" hreflang="en" で出ている |
x-default | どちらかのURL(通常は日本語)が x-default として出ている |
相互参照 | 日本語ページから英語ページ、英語ページから日本語ページの両方向 |
canonical | 各言語のページが自分自身を指している。英語ページのcanonicalが日本語を指していない |
翻訳の抜け | 英語ページに日本語のままの商品説明が残っていない |
Shopifyの翻訳はフィールド単位です。英語ページの本文の大半が日本語のままだと「英語ページ」として扱われず、hreflangが無視されることがあります。翻訳の優先順位は、商品名 → 商品説明 → メタ説明 → コレクション説明 → 固定ページ(配送・返品・会社概要)です。越境の購入前の質問(送料、関税、返品)に答えるのは固定ページで、未翻訳のままではAI検索が引用しません。
4. 日本向けアプリが作ったページやパラメータURLが索引されていないか
配送日時指定やのしのアプリを入れると、アプリが作ったページやパラメータ付きURLがSearch Consoleに索引済みとして並ぶことがあります。索引されても順位が直接下がるわけではありません。ただしクロールが無駄になり、Search Consoleの除外が増えて本当の問題が見えにくくなります。
アプリが作るもの | 索引 | 対処 |
|---|---|---|
設定・管理用のページ | × | noindex、またはアプリ側で非公開 |
パラメータ付きURL(選択状態の保持) | × | canonicalで元URLに統合。パラメータをSearch Consoleで無視対象に |
カートページの追加要素(日時選択、のし選択) | 対象外 | カートは元からnoindex |
「配送について」「のしについて」の説明ページ | ○ | 自社で作り、内容を充実させる |
ページレポートで /apps/、/a/、/tools/ などの見慣れないパスを探します。robots.txt.liquidで /apps/ 配下をDisallowする方法がありますが、書き間違えると商品ページまでブロックするため、編集後はURL検査で主力商品ページが「クロール可能」かを確認します。「のしがつけられる」は買う前の質問に答える情報なので、配送・ギフト対応・支払いの固定ページにテキストで書き、商品ページの購入ボタン付近からリンクします。
5. 移行したストアで、旧URLのリダイレクトと構造化データが引き継がれているか
カラーミーショップからShopifyへ移行した1か月後に検索流入が半分になった、という相談の最も多い原因は、旧URLから新URLへのリダイレクトが不完全なことです。旧URLに積み上がった評価は、リダイレクトがなければ新URLに引き継がれません。次に多いのが、構造化データとメタデータが移行で失われるケースです。
時期 | やること |
|---|---|
移行の1か月前 | 旧サイトの全URL一覧を取得。検索流入のあるURLを特定。構造化データ・メタデータを記録 |
移行の2週間前 | 新URLのハンドルを決め、旧URL → 新URLの対応表を作る |
移行当日 | リダイレクトを一括登録。canonical・構造化データ・サイトマップを確認 |
移行後1週間 | Search Consoleでクロールエラー・404を確認。主力ページの索引を確認 |
移行後1〜3か月 | 検索流入と順位を旧サイトと比較。旧URLの索引が消え、新URLに置き換わっているか |
すでに移行を終えているなら、「見つかりませんでした(404)」に旧URLが並んでいないか、「リダイレクト エラー」がゼロかを見ます。404はリダイレクトの漏れ、リダイレクトエラーは多段リダイレクトの印です。商品画像のaltは移行で消えやすく、主力ページはリッチリザルトテストで移行前と同じ型が検出されるかを確認します。3か月経っても流入が戻らなければ、リダイレクトの漏れ、noindexの残り、canonicalの誤りを疑います。
6. アプリの読み込みで、ボットが読むHTMLから内容が消えていないか
20個近くアプリを入れているストアでは、PageSpeed Insightsのスコアが赤になることがあります。速度を決めるのはアプリの数ではなく、各アプリが読み込むJavaScriptのサイズと実行時間です。AI引用に関しては、重いこと以上に、JavaScriptで描画していることが問題です。
影響先 | 何が起きるか |
|---|---|
検索順位 | Core Web Vitals(LCP・INP・CLS)は順位要因の1つ。同じ内容なら速いほうが有利 |
クロール | 重いページは取得に時間がかかり、同じ時間で取得されるページ数が減る |
AI検索の引用 | AIクローラーはJavaScriptを実行しないものが多い。JavaScriptで後から描画される内容は読まれない |
購入率 | 表示が遅いほど離脱が増える。これが最も直接的な損失 |
PageSpeed Insightsで主力商品ページを測り、「サードパーティのコードの影響を抑える」の項目で配信元ドメインをアプリに対応づけます。上位3つで全体の半分以上を占めることが多いため、まずその3つだけを検討します。判断は「売上に直結するか」と「読み込みの重さ」の2軸です。レビューやFAQをアプリがJavaScriptで後から挿入していると、AIクローラーにはその内容が存在しないページに見えます。削除後は theme.liquid に残った手動のスクリプトタグも消します。
Search OSは、この6項目をボットが読む層で見続けます
6項目に共通するのは、Shopifyの管理画面からはボットの取得ログが見えないことです。Search OSは、Shopifyを含む既存のストアを対象に、ボットログでGooglebotやGPTBotがどのURLをどれだけ取得しているかを確認し、canonical・noindex・サイトマップ・内部リンク・hreflang・構造化データの整合と、JavaScriptなしで取得したときに残るテキストを継続的に検証します。ずれや二重出力を修正対象として整理する層であり、Shopifyのテーマや商品データ、URL構造を変えるものではありません。アプリを選ぶ作業や翻訳の作業を置き換えるものでもありません。
担当者が先に見る質問
Search Consoleの「クロール済み、インデックス未登録」で、タグ・パラメータURLが大半を占めていないか
テーマの商品カードのリンク先は、/products/ 直下になっているか
主力商品ページにパンくずが表示され、BreadcrumbListが同じ階層を同じ順序で出しているか
英語ページのソースに hreflang="ja" hreflang="en" と x-default が出ていて、日本語の商品説明が残っていないか
ページレポートに /apps/ や見慣れないパラメータ付きURLが索引済みとして並んでいないか
移行後の「見つかりませんでした(404)」と「リダイレクト エラー」はゼロに近いか
PageSpeed Insightsで上位3つのアプリは何で、レビューやFAQはHTMLとして出力されているか
結論
Shopifyのストアが検索やAI検索に出ないとき、原因はテーマの出力、URL構造、hreflang、アプリ、移行、速度のどこかに分かれて潜んでいます。6項目のどれも、直す前にSearch Consoleと主力商品ページのソースで確かめられます。索引の重複はcanonicalで防げても、クロールの無駄、翻訳の抜け、JavaScriptで描画された内容は別途管理が要り、整えた状態はテーマの更新やアプリの追加で崩れます。月に一度、上の質問を同じページで確認するところから始めます。
あわせて読みたい
参考資料
Google Search Central: Managing crawl budget for large sites
Google Search Central: Consolidate duplicate URLs
Google Search Central: Breadcrumb structured data
Google Search Central: Tell Google about localized versions of your page
Google Search Central: Site moves with URL changes
Google Search Central: Understanding Core Web Vitals and Google search results