Shopify でrobots.txtファイルを編集できるようになりました。2021年6月18日(日本時間 6月19日)に、Shopify CEOの Tobi Lutke がTwitterで発表しています。
User-agent: everyone
— Tobi Lutke (@tobi) June 18, 2021
Allow: /
Starting today, you have complete control over how search engine bots see your store. #shopifyseohttps://t.co/Hz9Ijj5h1y
Shopify はデフォルトの robots.txt ファイルを生成しますので、通常のストア運営ではあまり意識することはありませんが、SKUやページ数の多いShopifyマーチャントやSEO事業者から要望の多かった機能でした。
今回の更新により、Shopifyマーチャントは管理画面のコード編集からrobots.txtファイルを編集し、特定のURLに対するクロールを禁止したり、サイトマップURLの追加などができるようになっています。
参考URL:
robots.txtの編集方法
robots.txt は Liquid のテーマテンプレートを使用して編集します。手順としては以下になります。
追加方法:
- 管理画面 [オンラインストア] > [テーマ] へ移動
- [アクション] > [コードを編集する] をクリック
- [新しいtemplateを追加する] をクリックすると、目的の中に [robots.txt] があるので選択
- [テンプレートを作成する] で作成完了
編集方法
コードの編集画面から、作成した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テスターを使用して変更をテストしてみてもいいかもしれませんね^^