Skip to content
Pepin
Shopify2026-09-082026-09-1618分で読めます
Shopifyサイト内検索表記ゆれ

Shopifyの日本語検索はなぜ弱い?仕組みと改善策

Shopifyの日本語検索はなぜ弱い?仕組みと改善策
サイト内検索の仕組みを調べるイメージ

Shopifyの日本語検索は、英語ストアと同じようには動きません。打ち間違いを直すタイポ許容も、意味で結果を広げるセマンティック検索も日本語ロケールでは公式に非対応です。検索窓のサジェスト(予測検索)にいたっては、対応している45言語のリストに日本語そのものが入っていません。動いているのは trigram とステミングの2つだけ。「検索しても商品が出てこない」は設定ミスではなく仕様です。

2つ
日本語で動く検索機能
対応言語表でチェックが付くのは trigram とステミングだけ
45言語
予測検索の対応言語
この一覧に日本語は入っていません
1,000語
同義語の登録上限
1グループ20語、ストア全体で1,000語まで

わたし(SHIN)は、この記事の後半の比較表に出てくる「まるっと検索」を作っている開発者です。EC運営者ではなくShopifyアプリ側の人間なので、先に立場を書いておきます。比較表に載せた他社アプリの料金・レビュー数・対応言語は、2026年9月16日に apps.shopify.com の公式リスティングを1本ずつ開いて確認した数字だけを使っています。逆に「日本語の読みをどう処理しているか」のような内部実装は、リスティングに書かれていなければ確認しようがないので「記載なし」と書きました。記載がない=対応していない、ではありません。弱点も書いておくと、まるっと検索はレビュー0件(2026年9月16日時点)で、★4.7・1,600件規模の海外アプリのような実績はまだありません。

この記事は「日本語検索がなぜそう動くのか」を仕様から説明する側に寄せています。0件検索の潰し方や効果測定といった運用の手順は Shopifyのサイト内検索を改善して売上を上げる方法 にまとめてあるので、実務を先に進めたい方はそちらから読んでください。

Shopifyの日本語検索は何ができて何ができない?

管理画面のUIは日本語表示に対応しています。対応していないのは 検索アルゴリズムの一部機能 です。ここが混同されがちなポイントです。

英語ロケール
Shopifyが本来想定している動作。
タイポ許容 ◯ / ステミング ◯ / セマンティック検索 ◯(プランと商品数の条件あり)/ 予測検索 ◯
日本語ロケール
日本語だけ別の仕組みで動きます。
タイポ許容 ✕ / ステミング ◯ / セマンティック検索 ✕ / 予測検索 ✕ / trigram ◯

公式ヘルプの対応言語表は「Typo tolerance/Search stemming/Trigram」の3列でできています。日本語の行はステミングと trigram にチェックが入り、タイポ許容だけが空欄 です。そして trigram にチェックが付いているのは46行の言語のうち日本語1行だけ、ステミングにチェックが付いているのは英語と日本語の2言語だけ。つまり日本語は「機能が少ない言語」ではなく「1言語だけ別系統で動いている言語」です。ここを取り違えると、あとの設計を全部間違えます。

出典:Shopify ヘルプセンター — Search behavior in your online store

なぜ日本語ではセマンティック検索が効かないの?

セマンティック検索は、関連語・概念・カテゴリ、さらに商品画像の色や画像内の文字まで使って検索結果を広げる、ShopifyのAIベースの検索機能です。公式ヘルプはこれを「Semantic understanding」と呼び、利用条件をはっきり書いています。

  1. 01

    商品数が20万点未満であること

    20万点を超えるストアは対象外です。
  2. 02

    プランがGrow・Advanced・Plusのいずれかであること

    ベーシックプランのストアは、英語ロケールでもセマンティック検索は動きません。
  3. 03

    予測検索には適用されないこと

    検索結果ページ側だけの機能です。サジェストは対象外です。
  4. 04

    日本語ロケールはサポート対象外であること

    ヘルプに「Semantic search capability isn't supported for the Japanese locale.」と1行で書かれています。

出典:Shopify ヘルプセンター — Modifying search with Shopify Search & Discovery

つまり日本語ストアでは、「ワンピース」と検索した人に「ドレス」を出すような意味的な拡張は標準では起こりません。広がるのは、同義語を人手で登録した範囲だけです。

補足すると、セマンティックな拡張は検索構文(引用符やマイナス記号などの特殊な書き方)を使ったときにも無効になります。日本語ロケールではもともと効いていないので実害はありませんが、「英語ストアなら常に賢く動く」わけでもない、という程度には覚えておくと比較検討のときに役立ちます。

日本語ではタイポが補正されないって本当?

本当です。英語ロケールのタイポ許容は「1文字違い」「2文字の入れ替わり」を吸収します(ただし先頭4文字は正しく入力されている必要があります)。この機能が日本語ロケールでは働きません。

日本語入力では、変換ミスや送り仮名の揺れが英語のタイプミスより起こりやすいのが実情です。補正が効かないということは、 入力が1文字でも想定と違えば0件になりうる ということです。

しかも補正の対象フィールドは、英語ロケールでも商品タイトル・商品タイプ・バリエーション名・販売元に限られます(ページと記事は著者名とタイトルのみ)。商品説明文に書いた言葉で拾ってもらう前提の設計は、ロケールを問わず期待しすぎということになります。

もうひとつ、0件になったときの救済措置も日本語では期待しにくくなっています。Shopifyは検索結果が0件のとき「query relaxation」という緩和処理を走らせますが、対象は product_typetitle だけで、他のフィールドは完全一致が必要なままです。公式ヘルプが挙げている例も「care bears」が「card years」に当たる、という1文字違いの英語の例で、日本語の表記ゆれを救う仕組みではありません。

Shopifyの日本語検索はどういう仕組みで動いている?

日本語ロケールでは trigram 検索 が使われます。ひらがな・カタカナ・漢字の 連続3文字以上 の並びが一致するかどうかで判定する方式です。公式ヘルプには「Trigram search is supported only for the Japanese locale.」と明記されていて、46言語の中で日本語だけに用意された仕組みだと分かります。

trigram検索と形態素解析の違い

trigram検索 は文章を機械的に3文字ずつの並びに切って照合します。単語の意味は考慮しません。 形態素解析 は辞書を使って「意味のある語」の単位に切り分けます。「東京都庁」を trigram は「東京都/京都庁」と切りますが、形態素解析は「東京都/庁」と切ります。日本語検索の精度差はここから生まれます。

公式ヘルプが挙げている例がこの仕組みをよく表しています。「アップルグリーンラップドレス」という商品は、「ップル」「アップル」「ップルグリーンラ」のどれでも見つかります。語の途中からでも3文字そろえば当たる、というのが trigram です。

この仕組みには副作用もあります。3文字の並びが偶然一致しただけの無関係な商品が混ざることがあり、Shopify Community には日本語ロケール向けに完全一致オプションを求める要望が立っています。スレッドでは「楽士」で検索したのに「士」しか共通しない商品が返る例が報告されていて、trigram の弱点がそのまま出ています。

出典:Shopify Community — Feature Request: Add Exact Match Search Option for Japanese Locale

なお「2文字の語は全部だめ」ではありません。公式ヘルプは trigram の説明に「You can also search kanji in pairs.」と添えていて、漢字は2文字のペアでも検索できるとしています。裏を返すと、ひらがな・カタカナの2文字は3文字の条件を満たさないということです。「浴衣」は当たっても「うち」は当たらない、という非対称がここにあります。

「りんご」と「リンゴ」で検索結果が変わるのはなぜ?

trigram はあくまで文字の並びを見るため、ひらがな・カタカナ・漢字は別の文字列として扱われます。表記が違えば別物です。

  • りんご / リンゴ / 林檎
  • Tシャツ / ティーシャツ / tシャツ
  • ソファ / ソファー
  • バッグ / バック
  • iPhone / アイフォン / アイフォーン

いますぐ確認できます。自分のストアで主力商品を、ひらがな・カタカナ・漢字・ローマ字の4通りで検索してみてください。同じ商品が出てこなければ、その分だけ機会を失っています。

自分のストアのShopify日本語検索をテストするには?

「うちのストアはどうなんだろう」を放置しないでください。10分あれば一周できます。下の表は、これまで挙げた公式仕様から 導ける予想 です。実測値ではないので、必ず自分のストアで答え合わせをしてください。逆に言えば、予想と違う結果が出たならテーマかアプリが検索に手を入れている証拠です。

検索パターンを1つずつ試して確認しているイメージ
テストする入力試し方の例公式仕様から導ける結果
ひらがな↔カタカナ「りんご」で「リンゴジャム」を探す別の文字列なので当たらない前提。同義語登録が必要
漢字2文字「浴衣」漢字はペアでも検索できると明記あり。当たりうる
ひらがな・カタカナ2文字「うち」「ソフ」連続3文字以上が条件。2文字は trigram の対象外
長音の有無「ソファ」と「ソファー」1文字違いだが日本語はタイポ許容の対象外。別物として扱われる
全角↔半角「Tシャツ」と「Tシャツ」文字コードが違うので別の並び。当たらない前提
ローマ字「ringo」商品データにその綴りが無ければ一致しない
打ち間違い「チヨコレート」補正されない。0件になる前提
品番の一部(ハイフンあり)「abc1-888」を「abc1」でハイフンを含むコードは部分入力でも見つかる
品番の一部(ハイフンなし)「abc1888」を「abc1」でハイフンが無いコードは最後まで入力しないと見つからない
語の途中まで「artich」で artichoke検索は完全な語で一致するのが基本。取りこぼす可能性あり
ストップワード単体「の」「と」索引されないので単体では0件

出典:Shopify ヘルプセンター — Search behavior in your online store

とくに品番の行は、アパレルや部品を扱うストアに効きます。ハイフンの有無というデータ側の都合が、そのまま「途中まで打って見つかるか」を決めているからです。SKUや型番で探される商品を持っているなら、ここだけは今日のうちに確認する価値があります。品番まわりだけを深掘りした話は Shopifyで品番・SKUが検索できない理由と対処 に分けて書きました。

テストの結果は、検索窓に入れた語と出てきた件数をメモかスクリーンショットで残しておいてください。アプリを入れるかどうかを決めるときも、入れたあとの効果を測るときも、この「導入前の1枚」がいちばん強い材料になります。

Shopifyの予測検索(サジェスト)が日本語で動かないのはなぜ?

検索窓に文字を打った瞬間に出てくる候補は、Enterを押したあとの検索結果ページとは 別の仕組み です。Shopify ではこれを予測検索(predictive search)と呼び、/{locale}/search/suggest.json というエンドポイントがテーマから呼ばれています。

ここが日本語ストアの最大の落とし穴です。Shopify.dev の Predictive Search API リファレンスには、こう書かれています。「Predictive search is supported when the customer's online store session (buyer locale) is in one of the following supported languages」。そして続く一覧に並ぶのは45言語。アフリカーンス語もフェロー語もラテン語も入っているのに、日本語はそこにありません

対応外のロケールでリクエストすると、APIはこう返します。

{
  "status": "417",
  "message": "Expectation Failed",
  "description": "Unsupported buyer locale"
}

セクション形式のエンドポイント(/search/suggest)のエラー表にも「417 Expectation failed - The buyer isn't using one of the supported languages.」と明記されています。つまり日本語を主要言語にしたストアでは、テーマが標準どおり予測検索を呼んでいるかぎり、検索窓の下にローディングが出たあと候補が何も出ない状態になります。

出典:Shopify.dev — Predictive Search API

検索窓のサジェスト候補を確認しているイメージ

自分のストアが対応しているかどうかは、推測しなくても確認できます。ストアフロントを開いてページのソースを表示し、<head> の中にある <script id="shopify-features"> を探してください。このタグに入っているJSONには predictiveSearch というキーがあり、値が true なら対応、false なら非対応です。これは Shopify 自身がドキュメントで案内している確認方法なので、テーマを触らずに白黒つけられます。

日本語ロケールで予測検索が動く状態になっていても、押さえておきたい制限が3つあります。

  1. 01

    クエリ候補は英語だけ

    過去の検索語をもとにした候補(query)は英語でしか提供されず、ストアの主要言語とお客様のセッションの両方が英語である必要があります。日本語ストアでは出ません。
  2. 02

    コレクション候補は主要言語基準

    コレクションの候補はストアの主要言語で照合され、翻訳したコレクション名とは突き合わされません。多言語ストアで「サジェストにだけ出ない」が起きる典型的な原因です。
  3. 03

    1種類あたり最大10件

    返せる件数は1〜10で、既定値は10です。商品が数千点あっても、サジェストに映るのは常に上位10件だけという前提で考えます。

もうひとつ、設定が効かないときの原因も知っておくと時間を節約できます。Search & Discovery の「予測検索の結果タイプ」設定は、テーマ側が type クエリパラメータを送っている場合に上書きされます。管理画面でブログ記事を候補に加えたのにサジェストに出てこない、というときは、まずテーマが何を送っているかを疑ってください。

出典:Shopify ヘルプセンター — Modifying search with Shopify Search & Discovery

予測検索を日本語で動かす回避策はある?

テーマを改造する方法が知られています。Dawn を使っているストアなら、templatessearch.predictive.liquid を新しく作り、predictive-search.js が叩く先を suggest.json から通常検索(search?type=product&view=predictive&q=)に差し替える、という手順です。予測検索APIを使わず、普通の検索結果をサジェストの見た目で出す、と考えると分かりやすいと思います。

出典:Zenn — 【Shopify】「Dawn」の日本語設定で予測検索を実現しよう!

ただし、これを入れる前に天秤にかけてほしいことがあります。以下はアプリ開発者としてのわたしの見立てで、記事に書かれている評価ではありません。

メリット
追加コストがゼロアプリを増やさずに、サジェストが出ない状態だけは解消できます。開発リソースが社内にあるストアなら選択肢になります。
見た目は既存テーマのままDawnのマークアップをそのまま使うので、デザインの作り直しが要りません。
デメリット
出るのは商品だけ通常検索を type=product で呼ぶ作りなので、コレクション・固定ページ・ブログ記事・クエリ候補は候補に出ません。
精度は通常検索と同じ中身は trigram のままです。サジェストは出るようになりますが、表記ゆれで0件になる問題は1ミリも解決しません。
テーマ更新で消えるテーマファイルを直接書き換えるため、テーマのアップデートや別テーマへの移行のたびに作り直しが必要です。引き継ぎのドキュメントも要ります。

わたしの結論はこうです。テーマを継続的に触れる人がいるストアなら有効な手当てですが、「サジェストが出ない」の裏にある本当の問題は表記ゆれなので、そこを直さないと体感は変わりません。

同義語登録で表記ゆれは解決できる?

部分的には解決できます。Shopifyの公式な対処法は、Search & Discovery で同義語グループを手動登録することです。ただし上限があります。

20語
1グループあたりの上限
1,000語
ストア全体の上限
5語まで
1つの同義語に使える語数

出典:Shopify ヘルプセンター — Modifying search with Shopify Search & Discovery

同じ語を複数のグループに入れることはできません。さらに、同義語がスペースを含む複数語の場合はフレーズ検索として扱われ、語順どおりに並んでいる結果しか返りません。SKUとバーコードへの一致では同義語が使われない、検索構文を含むクエリでも無視される、といった除外条件もあります。

問題は運用コストです。カタカナ商品名を1つ登録するのに、ひらがな・カタカナ・漢字・送り仮名・長音の有無で数語を消費します。仮に1商品あたり4語を使うとすれば、250商品で全体上限の1,000語に到達します。しかも同じ語を複数グループに入れられないため、語が増えるほど設計が難しくなります。

同義語登録は「全商品を網羅する」ためではなく「0件検索の上位20語だけを潰す」ために使うと現実的です。上限に余裕を残せますし、効果も測りやすくなります。

同義語グループはどの順番で設計する?

思いついた語から登録していくと、200語を超えたあたりで必ず行き詰まります。同じ語を2つのグループに入れられないという制約が、あとから効いてくるからです。順番はこうしてください。

  1. 1

    代表語を先に決める

    「バッグ」「シャツ」のように、複数のグループに入れたくなる語を先に洗い出し、どのグループの持ち物にするかを決めます。ここを決めずに登録を進めると、あとで既存グループを解体することになります。
  2. 2

    0件検索の上位語を4分類に仕分ける

    表記体系の違い(ひらがな・カタカナ・漢字)、長音と送り仮名の揺れ、略語と英日の対応、商品固有名の4つに分けます。分類ごとに効き方も消費語数も違うので、混ぜたまま登録しないでください。
  3. 3

    お客さんが打つ語から埋める

    1グループ20語しか入りません。正式な商品名を並べるのではなく、0件検索レポートに実際に出てきた語を優先します。商品名は最後の1枠で構いません。
  4. 4

    複合語は3通り入れておく

    公式ヘルプも勧めている手です。「belt bag」「beltbag」「belt-bag」のように、分かち書き・続け書き・ハイフンの3通りを同じグループに入れておくと、標準検索では拾えない揺れを1グループで吸収できます。
  5. 5

    1,000語の配分を先に決める

    主力カテゴリに何語、新商品の予備枠に何語、と先に割り振ります。上限に当たってから削る作業は、どの語が効いていたか分からなくなるので最悪です。
  6. 6

    商品ブーストと役割を分ける

    同義語は「検索結果に届かせる」ための道具、商品ブースト(1商品あたり検索語10個まで)は「届いたあとの順番を変える」ための道具です。混同すると、両方が中途半端になります。

この順番で組むと、上限に近づいたときに「どこを削ればいいか」が判断できる状態になります。逆に言えば、上限の話は語数の問題ではなく設計の問題です。

ブログ記事や固定ページは検索結果に出る?

通常の検索では、商品以外(ブログ記事・固定ページ)は 最大2件・検索結果の1ページ目のみ という制限があります。公式ヘルプはその理由を「結果を商品に集中させるため」と説明しています。コンテンツを充実させているストアでも、サイト内検索からはほとんど到達されません。

出典:Shopify ヘルプセンター — Search behavior in your online store

商品とコンテンツを横断して探させたい場合は、この制限を回避できるアプリか、Liquidの検索フィルターやStorefront APIを使った作り込みが必要になります。使い方ガイドやサイズ表をブログ・ページで運用しているストアほど、この2件という上限が効いてきます。

検索結果ページのURLはSEOにどう関係する?

Shopifyの検索結果ページは /search?q=キーワード というURLになります。type パラメータで商品・記事・ページのどれを対象にするかが決まり、options[prefix] で最後の語を前方一致させるかどうかが決まります。テンプレート側では Liquid の search オブジェクトがその結果を受け取ります。

ここで勘違いが起きやすいのですが、この検索結果ページはSEOの受け皿にはなりません。Shopifyが自動生成するデフォルトの robots.txt には Disallow: /search が含まれていて、検索結果ページはそもそもクロール対象から外れているからです。

出典:Shopify ヘルプセンター — Edit robots.txt.liquid

つまり「検索キーワードごとの検索結果ページを量産して検索流入を取る」という発想は、Shopifyでは筋が悪い手です。集めた検索キーワードは、商品タイトル・タグ・コレクションページ・ブログ記事の側に還元するのが正しい使い道になります。

もうひとつ実務で効く仕様があります。検索結果が1,000商品を超えると、Liquidの search オブジェクトが返すフィルターの配列が空になります。つまり結果が多すぎると絞り込みUIそのものが消えます。広すぎるクエリで大量ヒットさせる設計は、精度以前にUIが崩れるということです。

出典:Shopify.dev — Liquid objects: search

検索クエリをSEOに活かす筋道については ShopifyのSEO対策ガイド 側で整理しています。

Shopifyの言語設定は日本語検索にどう影響する?

検索の挙動を決めているのは、ストアの 主要言語(デフォルト言語) です。日本語が主要言語だから trigram で動いている、というだけの話で、設定を切り替えれば挙動も変わります。ただし、切り替えていい設定ではありません。

デフォルト言語を変更すると、 切り替え先の言語に入っていた既存の翻訳が削除されます 。検索の挙動を変えたいからという理由で触る設定ではありません。どうしても変更する場合は、事前に翻訳をエクスポートしてください。

出典:Shopify ヘルプセンター — Localization and translation

公開できる言語の数はプランによって変わり、ベーシック・グロー・Shopify・アドバンスドは最大20言語、Plusとエンタープライズは最大30言語です。

日本語と英語を併売するストアで注意したいのは、予測検索のコレクション候補が主要言語基準で照合されるという点です。日本語を主要言語にしたまま英語を追加した場合、英語側のサジェストではコレクションが期待どおりに出てきません。多言語まわりの設計は Shopifyの多言語対応はTranslate & Adaptが最適解 にまとめています。

まとめると、日本語の商品を日本語のお客さんに探させるなら、日本語ロケールのまま、その制約の中で対処する のが前提になります。ロケールを英語に寄せて機能を取りにいく発想は、翻訳の消失リスクと精度低下の両方を抱え込むだけです。

2026年のShopify日本語検索アプリはどれを選ぶ?

比較の軸は4つで足ります。「日本語の読み・表記ゆれをアプリ側で処理するか」「予測検索(サジェスト)を日本語で出せるか」「商品以外も検索できるか」「料金」です。下の表は2026年9月16日に各公式リスティングを開いて確認した内容だけを載せています。

アプリ日本語の読み・表記ゆれ処理サジェスト商品以外の検索料金
Shopify標準 + Search & Discovery同義語を手動登録(1グループ20語・全体1,000語)日本語ロケールは非対応最大2件・1ページ目のみ無料
まるっと検索内蔵の日本語辞書と読みの変換で自動吸収ヘッダーの検索候補(Basic以上)ブログ・固定ページも検索(Basic以上)Free(商品50点まで)/ Basic $29.99 / Pro $49.99
Boost AI検索とフィルターリスティングに日本語処理の記載なしインスタント検索ありリスティングに記載なしLaunch $29 / Convert $299 / Accelerate $699(GMV連動)
Searchanise Search & Filterリスティングに日本語処理の記載なし予測型インスタント検索ありリスティングに記載なしFree(商品25点未満)/ Basic $19 / Essential $39

海外製の2本については、日本語の形態素解析や読みの正規化に関する記述が公式リスティングに見当たりませんでした。機能タグには「タイプミス対応」「同義語グループ」「ストップワード」「複数言語」が並んでいるので、同義語の手動登録で運用する形が基本だと読めます。どちらのリスティングにも「このアプリは日本語に翻訳されていません」「この開発者は日本語での直接的なサポートを提供していません」と書かれているので、日本語での問い合わせが必要なら、そこは導入前に直接確認してください。実績は十分にあり、Boost AI検索とフィルターは★4.7・1,629件、Searchanise Search & Filter は★4.7・1,252件のレビューがついています(いずれも2026年9月16日時点)。

出典:Shopify App Store — Boost AI検索とフィルター

この「言語」欄とサポート欄を見る読み方は、検索アプリに限らず使えます。レビューアプリで同じ確認をした結果は Shopifyレビューアプリ6選 に並べてあります。

出典:Shopify App Store — Searchanise Search & Filter

検索で見つかる日本語検索アプリの記事には、もう選べないサービスが混ざっています。日本語特化を掲げていた「PROGEST」は2023年8月31日でサービスを終了しました。日本語検索に最適化したShopifyアプリとして紹介されることの多かった「NaviPlusサーチ」も、2026年9月16日時点でApp Storeのリスティングに「このアプリは現在Shopify App Storeで提供されていません」と表示され、新規に入れられない状態です。2022年前後の紹介記事を根拠に検討リストを作ると、ここで時間を失います。

出典:アドグローブ — PROGEST(日本語検索最適化)

出典:Shopify App Store — NaviPlusサーチ

0件ヒットのキーワードはどこで確認できる?

Shopifyのストア分析にある「結果の得られない上位オンラインストア検索」レポートで確認できます。ベーシックプラン以上 で利用できるレポートです。公式ヘルプも、同義語を作る前にこのレポートを見ることを勧めています。

まずはこのレポートの上位20語を見てください。改善対象が具体的な言葉として出てくるので、同義語登録でもアプリ導入でも、効果の測りやすい単位で手を打てます。

ついでに確認しておくと得をする設定が2つあります。1つは在庫切れ商品の扱いで、既定では検索結果の最後に回されます。もう1つは商品のUnlisted(非表示)ステータスで、これが付いている商品はサイト内検索に出てきません。「あるはずの商品が出ない」の犯人がこの2つだった、というのはよくある話です。

Shopifyの日本語検索を改善するには何を導入すればいい?

判断の順序はこうなります。

  1. 1

    まず0件検索とテスト表を確認する

    ストア分析の0件検索レポートと、この記事のテスト表を一周します。件数が少なく、テストもほぼ通るなら、そもそも対処は不要です。
  2. 2

    上位20語を同義語で潰す

    Search & Discovery は無料です。0件検索の上位語だけを同義語登録すれば、コストゼロで一定の改善ができます。
  3. 3

    サジェストが出ているかを切り分ける

    shopify-featurespredictiveSearch を見て、候補が出ない状態を放置していないか確認します。検索結果ページだけ直しても、そこに到達していなければ意味がありません。
  4. 4

    上限と運用負荷で判断する

    同義語が増え続ける、上限が見えてきた、ブログやページも検索対象にしたい、サジェストも日本語で出したい。このどれかに当てはまったら、日本語特化の検索アプリを検討します。

まるっと検索は、ひらがな・カタカナ・漢字の表記ゆれを内蔵の日本語辞書と読みの変換で自動吸収する検索アプリです(同義語の登録は不要)。品番・型番・SKUの完全一致を検索結果の1件目に固定する動きも持っています。無料のFreeプランは商品50点まで、Basic(月額$29.99)は商品数無制限で、ヘッダーの検索候補、ブログ・固定ページを横断する検索、過去30日の分析が使えます。Pro(月額$49.99)ではBasicの全機能に加えて、独自の言い換え辞書・商品ブースト・商品メタフィールド検索・0件ヒット検索語の分析・購入分析が使えます。テーマファイルは書き換えず、アンインストールすれば元通りです。有料プランはどちらも14日間の無料体験つきで、管理画面もサポートも日本語です。

出典:Shopify App Store — まるっと検索

導入後に何をどう測るかは Shopifyのサイト内検索を改善して売上を上げる方法 に手順としてまとめてあります。日本語対応アプリ全体の選び方は Shopifyの日本語対応アプリだけで始めるEC運営 が参考になります。

よくある質問

無料アプリです。Shopifyが公式に提供しており、フィルター、同義語、検索結果のブースト、検索分析が使えます。日本語ロケールでセマンティック検索とタイポ許容が動かないのは、有料・無料の問題ではなくロケール単位の仕様です。

標準のままでは出ません。Predictive Search APIの対応言語45言語に日本語が含まれておらず、対応外のロケールからのリクエストには417(Expectation Failed / Unsupported buyer locale)が返ります。自分のストアの状態は、ストアフロントのソースにある shopify-features スクリプトタグの predictiveSearch の値で確認できます。出したい場合は、テーマを改造して通常検索を流用するか、サジェストを持つ検索アプリを入れるかの二択になります。

理屈のうえでは英語ロケールの挙動になりますが、現実的な選択肢ではありません。日本語の商品名を英語ロケールで検索させても日本語向けのtrigramが効かなくなるため、かえって精度が落ちます。さらにデフォルト言語の変更は、切り替え先に入っていた既存の翻訳を削除します。そもそもセマンティック検索には商品20万点未満かつGrow・Advanced・Plusのいずれかというプラン条件もあります。日本語の商品を日本語のお客様に探させる以上、日本語ロケールで対処するのが前提です。

漢字2文字なら検索できます。公式ヘルプはtrigramの説明に「漢字はペアでも検索できる」と書いており、「浴衣」のような語は対象になります。一方でひらがな・カタカナの2文字は連続3文字以上という条件を満たさないため、当たらない前提で考えてください。2文字のカテゴリ名を主力にしているストアは、商品タイトルやタグに3文字以上の言い換えを含めておくと保険になります。

ハイフンが入っているコードなら見つかります。公式ヘルプは「abc1-888」を「abc1」で検索できる例を挙げていて、逆にハイフンのない「abc1888」は最後まで入力しないと見つからないと明記しています。品番検索が多いストアは、SKUの付け方そのものが検索性を決めているということです。

予測検索と通常の検索は別々の検索エンジンで動いていて、それぞれが独立したリクエストを投げているからです。部分一致の扱いも違い、予測検索は語の途中まででも候補を出しますが、通常検索は options[prefix]last のときに最後の語だけ前方一致します。まずはテーマの検索設定で、何を候補に出しているかを確認してください。

Shopifyは検索の並び順を定期的にテストしており、テスト期間中は一部のお客様だけ違う並びになることがあります。並び順を設定で固定することはできません。順位を動かしたい商品がある場合は、Search & Discoveryの商品ブースト(1商品あたり検索語10個まで)を使います。

全商品を網羅しようとしないでください。ストア全体で1,000語という上限があり、1商品あたり数語を消費するため、数百商品規模ですぐ足りなくなります。0件検索レポートの上位20語から着手し、効果を確認しながら足していくのが現実的です。

全体のコンバージョン率だけでは、季節要因や広告の影響と区別できません。「0件検索率」「検索後の商品クリック率」「検索を使った人の購入率」の3つを改善前後で比較してください。とくに0件検索率は原因が特定しやすく、上位語を潰すだけで体感が変わります。

公式リスティングを見るかぎり、日本語の形態素解析や読みの正規化に触れているものは見つかりませんでした。機能として並んでいるのは同義語グループやタイプミス対応で、日本語の表記ゆれは手動登録で運用する形が基本だと読めます。ただし記載がない=できない、ではないので、商品数が多い、英語圏の顧客が中心といった事情があるなら、開発元に直接確認してから比べてください。

まとめ

Shopifyの日本語検索で動いているのは trigram とステミングの2つだけです。タイポ許容もセマンティック検索も日本語ロケールでは対象外で、検索窓のサジェストにいたっては対応言語のリストに日本語が入っていません。「AIが意味を理解してくれるはず」という期待とのズレは、ここから生まれています。

表記ゆれは同義語の手動登録でしか埋まらず、その同義語にも1グループ20語・ストア全体1,000語という天井があります。商品以外は最大2件しか出ず、検索結果ページはそもそもクロールされません。この5つを押さえておけば、どこまで無料で粘れて、どこからアプリの出番かを自分で判断できます。

まずは記事中のテスト表を持って、自分のストアで一周してみてください。そこが出発点です。

→ まるっと検索を14日間無料で試す

この記事はShopify予約アプリ「まるっと予約」の開発元であるPepinが執筆しています。

Share
SHIN

この記事の執筆者

SHIN

Pepin代表、Webエンジニアとして10年以上の経歴を持ち、
Shopifyアプリ・ストア開発 / webサービス開発 / メディア運営などマルチに活動。

Shopify無料体験を始める

まずは、課題の共有から。

アプリの導入も、Shopifyそのものの相談も歓迎です。内容が固まっていなくても問題ありません。通常2営業日以内に返信します。