Shopifyのサイト内検索機能をカスタマイズする方法【実案件で使用】

Shopifyに標準でついているサイト内検索機能をカスタマイズしたい。

検索結果に「商品」だけをヒットさせる方法や、逆にすべてをヒットさせる方法を知りたい。

あと、Shopifyを理解するのにおすすめの本があれば知りたい。

こんなことを考えている方へ。
この記事のポイントは以下です。

・Shopifyのサイト内の検索結果をカスタマイズする方法(2パターン)
・Shopify学習におすすめの参考書の紹介

この記事を書いている私は大阪在住のweb制作フリーランスです。

東証一部のEC企業で5年勤務した後、フリーランスに転向しました。現在はウェブサイトを作ったり、ECサイトを作ったり、サイト分析をしたり、ブログを書いたりして生活しています。

先日こんなツイートをしました。

この記事では上記のツイートを掘り下げます。

Shopifyのサイト内検索機能をカスタマイズする方法【実案件で使用】

Shopifyのサイト内検索機能をカスタマイズする方法を解説します。

サイト内検索とはこちらです。

shopify 検索

虫眼鏡マークをクリックして、検索キーワードを入れるとHITした結果を表示してくれます。Shopifyのテンプレートには標準でついてます。

今回はこの検索結果をカスタマイズしていきます。

商品だけを検索結果に出したい

商品とブログページのみ検索結果に出したい

といったニーズに答えます。

カスタマイズするパターンは2つあります。

ノーコードで可能な場合
liquidを操作するコーディングが必要な場合

この違いは使用するテーマによって左右されます。

私の実案件の経験ですと、

  • Atlantic(アトランティック)・・・ノーコードで可能
  • Debut(デビュー)・・・liquidを操作するコーディングが必要

でした。

順番に解説します。

【関連記事はこちら】
Shopifyの有料テーマを紹介します【実際に案件で使用】を読む >>

【関連記事はこちら】
【Shopify】ページネーションをカスタマイズして表示件数を変える方法を読む >>

ノーコードでカスタマイズ可能な場合(例:Atlantic)

Atlantic(アトランティック)は、ノーコードでカスタマイズ可能でした。

Atlantic(アトランティック)を例に取り、カスタマイズ方法を解説します。

検索窓はこちらです。サイトの右上に検索アイコン(虫眼鏡)があります。

shopify 検索

クリックでキーワード入力エリアが出現します。

shopify 検索

検索結果を「商品」だけにする

「商品」だけを検索結果に出す方法を解説します。

管理画面>オンラインストア>テーマへと進みます。

shopify 検索

カスタマイズを押下します。

shopify 検索

カスタマイズ画面左側の「Header」を選択します。

shopify 検索

「Search」の中の「Display results」を見つけます。

shopify 検索

これを「products」に変えます。

shopify 検索

これで、サイト内検索結果に「商品」のみが表示されるようになりました。

なお、各項目の意味は以下です。

デフォルトは「Products, posts, and pages」になっています。

Products商品
Products and pages商品とページ(固定ページ)
Products and posts商品とブログ記事
Products, posts, and pages商品とブログ記事とページ(固定ページ)

クイックサーチを無効にする

Atlantic(アトランティック)にはクイックサーチという機能があります。

検索窓にキーワードを入れると、画面遷移せずに結果を見せてくれる機能です。

shopify 検索

ですが、なぜか不具合が起きます。エラーメッセージが表示されてしまうのです。

shopify 検索

調べても解決できなかったので「クイックサーチ」を無効にしました。

手順を解説します。

管理画面>オンランストア>テーマ>カスタマイズ>Header へと進みます。項目の中にある「SEARCH」を見つけます。

「Enable live serch」のチェックを外します。

shopify 検索

これでOKです。

検索結果画面の翻訳を変更する

デフォルトの検索結果画面は以下です。

  • 検索結果が1件のとき
shopify 検索
  • 検索結果が複数の時
shopify 検索

どちらも日本語の翻訳がおかしいので、直していきます。

今回は以下のように直します。

【デフォルト】【変更後】
の検索結果Search Results
1結果 前 ‘product A’‘product A’の検索結果|1件
9活動成果 前 ‘product’‘product’の検索結果|9件

管理画面>オンラインストア>テーマ>言語を編集する へ進みます。

shopify 検索

「General」タブをクリックします。

shopify 検索

「Search Results」という項目を見つけます。

shopify 検索

この翻訳を以下のように修正します。

【デフォルト】【変更後】
結果検索結果
活動成果検索結果
shopify 検索

続いて「Search」という項目を見つけます。

shopify 検索

この中の「Results header」を以下に修正します。

shopify 検索
【デフォルト】【変更後】
の検索結果Search Results

「Search Results」と英語にしたのは、デザイン上の都合です。「検索結果」でも「結果」でも何でもOKです。違和感のない翻訳を入れます。

「Results text」を以下に修正します。

shopify 検索
【デフォルト】【変更後】
{{ results_count }} {{ results }} 前 ‘{{ search_terms }}’‘{{ search_terms }}’の{{ results }}|{{ results_count }}件

修正するのはこの2つだけです。

最後に「保存」を押して修正完了です。

shopify 検索

ストアフロントで確認します。

以下の表示になっているはずです。

shopify 検索

このままでも問題ないのですが、イタリック(斜体)が気になります。最後にcssを調整して斜体をなくします。

スタイルを調整する

検索結果の文言が斜体になっているので、これを解除します。

shopify 検索

斜体のままで問題ないよ

という場合は、この手順は不要です。

まず、斜体が当たっているクラス名を特定します。

shopify 検索

「.result-label」に「font-style: italic;」が設定されていることがわかります。

shopify 検索

続いて、 管理画面>オンラインストア>テーマ>コードを編集する をクリックして、コードエディタへ進みます。

その後 Assetsフォルダ>thema.css.liquid を開きます。

このscssファイルの中に、スタイルを修正する記述を入れてあげればOKです。

shopify 検索
.template-search .results-label {
font-style: normal;
}

変更を保存してストアフロントで確認します。

斜体(イタリック)が解除されていれば、完了です。

shopify 検索

コーディングが必要な場合(例:debut)

debut(デビュー)の検索結果をカスタマイズする場合はliquidの編集が必要です。

公式ヘルプに方法が載っているので、参照しながら進めます。

重要な箇所は以下です。

Searching only for certain types

You can restrict the type of objects that are returned by the online store search. For example, you can choose to return products, but not pages or articles. To control the objects that are returned, you need to use the type parameter.

The options are:

product – Search results contain matching products only.
article – Search results contain matching blog articles only.
page – Search results contain matching pages only.

You can set the type parameter by using a hidden field in the search form within search.liquid.

日本語訳はこちら。

特定のタイプのみを検索する

オンラインストア検索によって返されるオブジェクトのタイプを制限できます。たとえば、商品のみを返させて、ページや記事は検索結果に返しません。返されるオブジェクトを制御するには、typeパラメーターを使用する必要があります。

オプションは次のとおりです。

product -検索結果には、一致する商品のみが含まれます。
article -検索結果には、一致するブログ記事のみが含まれます。
page -検索結果には、一致するページのみが含まれます。

typeパラメータは、product、page、articleをカンマで区切ることで、任意の組み合わせにすることができます。たとえば、検索結果をproductとarticleのみにさせたい場合は、typeをarticle,productと指定します。

デフォルトのタイプはですarticle,page,product。これは、検索結果に一致するブログ記事、ページ、および製品が含まれることを意味します。

search.liquid内の検索フォームの非表示フィールドを使用して、typeパラメーターを設定できます。

たとえば、以下のように「name=”type”」かつ「value=”product”」と指定すると、検索結果を商品のみにできます。

shopify 検索

修正が必要なのは2つのファイルです。

  • search.liquid
  • search-drawer.liquid

「search.liquid」は“検索結果ページ内の検索窓で検索した時”の結果をコントロールするファイルです。

shopify 検索

「search-drawer.liquid」は“サイトヘッダーの検索窓から検索した時”の検索結果をコントロールするファイルです。

shopify 検索

それぞれ別々のファイルなんですよね。

両方修正する必要があります。

なお、公式ヘルプには「search-form.liquid」を修正するように、との記述がありますが、正しくは「search-drawer.liquid」です。

おそらくアップデートでファイル名が変わったのかと。でもヘルプの方は昔のままなのだと思います。

Debut
 search.liquid in the Templates directory
 search-form.liquid in the Snippets directory

search.liquidを修正する

管理画面>オンラインストア>テーマ>コードを編集をクリックして、エディタを開きます。

「Template」フォルダの中にある「search.liquid」を見つけます。

「search.liquid」内を「type」で検索をかけて、39行目あたりの以下の記述を見つけます。

shopify 検索

この部分を以下に変えます。

<input type="hidden" name="type" value="product" aria-hidden="true" />
  • name=”options[prefix]”   name=”type”
  • value=”last”  value=”product”

と修正しています。

これで、“検索結果ページ内の検索窓で検索した時”の結果が「商品」のみになりました。

search-drawer.liquidを修正する

管理画面>オンラインストア>テーマ>コードを編集をクリックして、エディタを開きます。

「Snippets」フォルダの中にある「search-drawer.liquid」を見つけます。

「search-drawer.liquid」内を「type」で検索をかけて、19行目にある以下の記述を見つけます。

この部分を以下に変えます。

<input type="hidden" name="type" value="product" aria-hidden="true" />
  • name=”options[prefix]”   name=”type”
  • value=”last”  value=”product”

と修正しています。

これで、“サイトヘッダーの検索窓から検索した時”の結果が「商品」のみになりました。

そもそも検索結果に何を出すべきか?

そもそも、サイト内検索結果をどうするべきか? という問題があります。

検索結果を商品のみにするべきか?

商品もブログ記事もページ(固定ページ)も出すべきか?

商品とブログ記事にすべきか?

正直、ECサイトなら「商品のみ」にすべきです。

お客さんは商品を買いに来ており、商品を探したいから検索をするのです。ならば、検索結果に商品だけを出してあげるのが親切ですし、CVRも上がるでしょう。

ですが、商品数が極単に少なく、むしろブログ等のコンテンツが充実している場合は、その限りではありません。

たとえば、

  • 商品は数点だけで、2クリック以内で商品一覧にアクセス可能、かつその商品の魅力を語るブログコンテンツが膨大

なんてサイトの場合は、商品とブログの検索結果にしても良いかもしれません。

Shopifyでのサイト構築を学ぶおすすめの方法

Shopifyのリファレンスは基本的には英語です。自己学習をする際には言語の壁にブチあたります。不安な思いを抱えながら自己学習で時間を浪費するより、世の中の優良な教材を活用する方が良いです。

  • デイトラで学ぶ

デイトラは質の高いカリキュラムと圧倒的なコスパの良さで、開校1年で受講生7000人突破したオンラインスクールです。「ShopifyEC構築コース」では、HTML/CSSの基礎からWordPressのオリジナルテーマ制作までを学ぶことができます。サポート体制も充実しており、Slackでプロのエンジニアによるアドバイスやフィードバックを受けることができます。

  • TechAcademyで学ぶ

TechAcademy(テックアカデミー)に、専属のパーソナルメンターがマンツーマンでサポートする「Shopifyコース」が誕生しました。
安い買い物ではないので、TechAcdemyの講座を無料体験で試してみるのがおすすめです。

  • 本で学ぶ

商品売るならShopify 世界標準かつ最先端のECサイト構築入門」がおすすめです。shopifyとは?という導入から、実際のストア構築方法に至るまで網羅的に情報が掲載されています。
実際に読んだ私のレビューはこちらの記事をご覧ください。

  • 動画で学ぶ

Udemyの「Shopifyでクライアントのストアを作る人のための講座 」がオススメです! 私も買いましたがShopifyでのサイト構築からオーナー権譲渡までを一通り知ることができます。
実際に購入した私のレビューはこちらの記事をご覧ください。


【Udemyがセール中(2021年10月4日(月)まで)】
対象コースが ¥1,730から。
2021年10月4日(月)まで!【Udemy】セール中のShopifyの講座一覧を見る >>

まとめ

この記事のポイントをまとめます。

サイト内検索をカスタマイズする方法は2つです。

ノーコードで可能な場合
liquidを編集してコーディングが必要な場合

ノーコードの場合は、オンラインストア>テーマ>カスタマイズから可能です。liquidを編集する場合は「search.liquid」や「searc-○○.liquid」といったファイルを検索します。

公式のヘルプは以下です。

今回の記事はここまでです。

この記事を書いた人

hiro

美味しいご飯とお酒と一人旅が好き。EC企業に5年▶︎web制作フリーランスへ。ECサイト制作、デザイン、コーディング、サイト分析、CVR改善、ブログ書いたりして生活しています。

旅行ブログ「アジアをひとりで旅してみたら」も運営中。