Shopifyでrobots.txtファイルの編集が可能に 〜その方法

Shopify でrobots.txtファイルを編集できるようになりました。2021年6月18日(日本時間 6月19日)に、Shopify CEOの Tobi Lutke がTwitterで発表しています。

 

 

Shopify はデフォルトの robots.txt ファイルを生成しますので、通常のストア運営ではあまり意識することはありませんが、SKUやページ数の多いShopifyマーチャントやSEO事業者から要望の多かった機能でした。

今回の更新により、Shopifyマーチャントは管理画面のコード編集からrobots.txtファイルを編集し、特定のURLに対するクロールを禁止したり、サイトマップURLの追加などができるようになっています。

参考URL:

 

robots.txtの編集方法

robots.txt は Liquid のテーマテンプレートを使用して編集します。手順としては以下になります。

追加方法:

  1. 管理画面 [オンラインストア] > [テーマ] へ移動
  2. [アクション]  > [コードを編集する] をクリック
  3. [新しいtemplateを追加する] をクリックすると、目的の中に [robots.txt] があるので選択
  4. [テンプレートを作成する] で作成完了
「目的」欄の一番下にあります

編集方法

コードの編集画面から、作成したrobots.txt.liquid を選択し、liquidを変更していきます。

デフォルトで生成されるコード(例)

{% for group in robots.default_groups %}
  {{- group.user_agent -}}

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

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

 

上記のコードは Shopify が生成している Liquidオブジェクトが使われています。オブジェクト部分はプレーンテキストに置き換えることもできますが、robots.txtのデフォルトルールが Shopify側で更新される可能性があるので、なるべくliquidオブジェクトを使って編集してください。

なお、ルールはGoogleの検索セントラルにあるドキュメントで確認できます。

 

例:デフォルトのルールをスキップ

たとえば、既存のグループからデフォルトのルールをスキップすることができます。

以下は、クローラーが/policy/ページにアクセスするのをブロックするルールをスキップする分岐を加える場合です。

policyページをスキップする例

{% for group in robots.default_groups %}
  {{- group.user_agent }}

  {%- for rule in group.rules -%}
    {%- unless rule.directive == 'Disallow' and rule.value == '/policy/' -%}
      {{ rule }}
    {%- endunless -%}
  {%- endfor -%}

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

 

例:特定のクローラーに対してルールを適用

また、以下は bad-search-engineというクローラーが?q=URLパラメーターを使用してページにアクセスするのを禁止する場合の書き方です。

bad-search-engineさんをパラメータからブロックする例

{% for group in robots.default_groups %}
  {{- group.user_agent }}

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

  {%- if group.user_agent.value == 'bad-search-engine' -%}
    {{ 'Disallow: /*?q=*' }}
  {%- endif -%}

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

 ※ bad-search-engine は架空の行儀が悪い検索エンジンです

 

変更後は、そのまま保存すれば完了です!

もし robots.txt をデフォルトに戻したくなった場合は、(編集内容を保存しておいてから)robots.txt.liquid を削除してください。

なお、クローラーがサイトを訪問するまでにはタイムラグがありますので、Googleのrobots.txtテスターを使用して変更をテストしてみてもいいかもしれませんね^^