Shopify プログラミング

【Shopify】検索結果に表示しないようにする

ECサイトの中でもあえて検索による自然流入などでECサイトへアクセスしないで欲しいケースが稀にあります(代理店を通してアクセスしてほしいなど)。

今回は、ShopifyのECサイトを検索エンジンによる検索結果に表示されないようにする方法について解説します。

解説

まず、theme.liquidのheadタグ内に★のmetaタグを追加してください。

  • layout/theme.liquid
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, height=device-height, minimum-scale=1.0">
  <meta name="robots" content="noindex"> // ★
Liquid

上記のコードを追加することにより、インデックスから除外するよう検索エンジンに指示する目的で追加します。

さらに以下のファイルを新しく作成してください。

  • templates/robots.txt.liquid

このファイルはShopifyの管理画面のテーマのコード編集画面より、テンプレートを選んで作成できるようになっています。

ファイルの中は以下のようになっています。

# we use Shopify as our ecommerce platform
{%- comment -%}
# Caution! Please read https://help.shopify.com/en/manual/promoting-marketing/seo/editing-robots-txt before proceeding to make changes to this file.
{% endcomment %}
{% for group in robots.default_groups %}
  {{- group.user_agent -}}

  {% for rule in group.rules %}
    {{- rule -}}
  {% endfor %}

  {%- if group.sitemap != blank -%}
    {{ group.sitemap }}
  {%- endif -%}
{% endfor %}
PHP

上記のコードのruleのfor文の下あたりに★を記述してください。

# we use Shopify as our ecommerce platform
{%- comment -%}
# Caution! Please read https://help.shopify.com/en/manual/promoting-marketing/seo/editing-robots-txt before proceeding to make changes to this file.
{% endcomment %}
{% for group in robots.default_groups %}
  {{- group.user_agent -}}

  {% for rule in group.rules %}
    {{- rule -}}
  {% endfor %}

  {{ 'User-agent: *' }}
  {{ 'Disallow: /*' }}

  {%- if group.sitemap != blank -%}
    {{ group.sitemap }}
  {%- endif -%}
{% endfor %}
Liquid

このファイルにより、クローラーがサイトを訪れる際に最初にチェックして、クロールすべきか、どのページを避けるべきかを指示します。

通常は特定のページのみ指定するのですが、★はすべてのページに対して避けるように指示する意味となっています。

上記の2ファイルに対して追加 & 記述すること検索結果に表示されなくなります。

ECサイトなのに、検索結果に表示させないというなかなかないケースだとは思いますが、特定のページだけでも適用できるので知っておくといいかもしれません。

  • この記事を書いた人

タツヤ

フリーのweb系エンジニアです。 プログラミング系やShopifyなどについて発信しています。

-Shopify, プログラミング