robots.txtファイルは、テクニカルSEOの基本のひとつで、常に気をつけるべきものです。 検索エンジンがあなたのサイトをクロールする方法をコントロールし、重要なものはすべて検索結果に表示され、表示されたくないものはブロックされるようにします。
なぜページのクロールとインデックスをコントロールすることが重要なのでしょうか?
- クロール予算の 節約 検索ボットが一定時間内に処理できるページ数には限界があります。 最も重要なページが確実にクロールされ、定期的に再クロールされるようにするには、検索結果に表示する必要のないページを除外する必要があります。
- テクニカルページが検索結果に表示されないように する。 ログインページ、チェックアウトページ、内部検索ページなど、ユーザーの利便性を高めるために店舗が生成するページがたくさんある。
- 重複コンテンツの問題を避ける 先ほど述べたテクニカルページについて言えば、重複を生み出す可能性があります。 例えば、異なるソートオプションは異なるURLで表示されますが、同じ商品を異なる順番で表示するだけです。 検索エンジンは重複コンテンツを評価しないため、このようなページがランキングに関与することは避けたいものです。
ストアのページインデックスをコントロールするには?
重要なページに価値を与え、検索ボットによるインデックスを促進するためには、常に更新された正しいサイトマップを用意する必要があります。 さらに、検索エンジンの目から見てページがより権威あるものに見えるように、内部リンクに気を配り、外部ソースからコンテンツへのリンクを得るようにしましょう。
これらの対策は、あなたのページが検索で上位に表示されることをほぼ保証してくれますが、100%インデックスされることを保証する確実な方法はありません。
100%保証できるのは、検索に表示させたくない特定のページを除外することです。 そのためには、robots.txtファイルまたはrobotsメタタグにnoindexディレクティブを使用します。 一見とても専門的に聞こえますが、実際にはとても簡単です。 特にShopifyのマーチャントにとっては、プラットフォームが自動的に適切なインデックスの大部分を引き受けてくれるからです。
では、Shopifyストアでは何をnoindexにすべきなのでしょうか?
オンラインショップの場合、以下のタイプのページのインデックスをブロックすることは理にかなっています:
- ユーザーアカウントに関連するすべてのページ。 これらのページはそれぞれの顧客に固有であり、検索には必要ありません。
- ゲストチェックアウトに関連するものすべて。 ユーザーが自分のアカウントにログインせず、ゲストとして購入することを許可されている場合でも、彼らのために生成されたチェックアウトステップのあるページは検索対象にはなりません。
- ファセットナビゲーションと内部検索。すでに述べたように、これらのURLを検索ボットに提供することは、検索ボットを混乱させ、クロールの予算を使い果たし、重複コンテンツの問題を引き起こすだけです。
- 検索から非表示にしたい商品:特定の商品を検索結果に表示させたくない場合、例えば在庫切れの商品や、もはや関連性のないタイムセンシティブな商品などは、Shopifyのrobots.txtファイルで検索から非表示にすることができます。
Shopifyのrobots.txt
自動的に生成されるrobots.txtファイルを確認するには、あなたのストアのドメインに/robots.txtを追加します:
このファイルには通常何が含まれているのでしょうか?特定の検索ボット(User-agentフィールド)を示し、クロールのディレクティブ(Disallowはアクセスをブロックする)を与えます。 上の例では、最初のルールセットはすべての検索ボットに与えられています(User-agentは*に設定されています)。 次に、Disallowディレクティブは指定されたページのクロールを禁止します。 この例では、このファイルがadmin、cart、checkoutなどのテクニカルページのクロールを禁止していることがわかります。
Robots.txtにはサイトマップへのリンクも含まれており、検索クローラーがサイト構造やインデックスの優先順位を理解するのにも役立ちます。
最近まで、Shopifyはこのファイルに柔軟性を与えていませんでした。 しかし、2021年6月にShopifyのマーチャントがrobots.txtを編集できるようになりました。あらかじめ定義されたルールでほとんど十分ですが、すべてのケースを考慮しているわけではありません。内部検索にアプリを使用している場合、URLが変更されることが多く、デフォルトのルールが適用されないことがあります。 また、ファセットナビゲーションを使用している場合、選択したフィルタごとにURLが変更され、デフォルトのルールがすべてを考慮しないことがあります。 ファイルにページやルールを追加したり、ユーザーエージェントを指定したりすることができます。
適用できる既存のディレクティブについては、Googleのrobots.txtに関するガイドをご覧ください。
また、常に新しいルールが追加されることにも注意してください。 例えば、2022年の初めにGoogleは埋め込みコンテンツのインデックスを制御する新しいタグ、indexifembeddedを導入しました。 あなたのストアにiframeや同様のHTMLタグで挿入されたウィジェットがあり、インデックスさせたくない場合に適用することができます。
Shopifyでrobots.txtを編集するには?
テーマのコードの中に、たくさんのテンプレートがあります(オンラインストア>テーマ> 現在のテーマのアクションをクリック >コードの編集を選択 >テンプレートへ)。 その中にrobots.txt.liquidファイルが含まれているはずです。
何らかの理由でこのファイルがない場合は、新規テンプレートの追加をクリックし、robots.txtを選択して作成することができます。
例えば、インデックスから内部検索をブロックしてみましょう:
詳細はShopifyのrobots.txtの編集に関するヘルプページを参照してください。
❗ robots.txtで禁止されているページであっても、外部からのリンクがある場合はインデックスされる可能性があることに注意してください。 例えば、過去にそれなりのトラフィックを受けた古いページがあるけれども、もはやあなたのストアに関係ない場合は、robots metaタグでブロックするか、完全に削除する方が良いでしょう。
robots metaタグでShopifyのコンテンツをnoindexにする
robots.txtの他に、noindexディレクティブは、robots metaタグの助けを借りて、テーマのコードの<head>セクションに挿入することができます。 このタグは次の構文を持っています: <meta name="robots" content="noindex">。
Shopifyのrobots.txtコードを編集または作成する方法と同様に、レイアウトセクションのtheme.liquidにアクセスしてください。 例えば、/new-collectionページをnoindexにするルールを追加すると、このようになります:
この方法で、ページを検索から永久に隠すことができます。
noindexは nofollowや followディレクティブと一緒に使うことができることに注意してください。followを使うと、ページはインデックスからブロックされますが、検索ボットがそのページにある他のリンクをクロールすることができます。
アプリの助けを借りてShopifyのコンテンツをnoindexingする
もしこれらのことが面倒に思えるなら、コードを一行も書くことなく、もっと簡単にページのインデックスをコントロールする方法がある。Shopify用のSEOアプリがいくつかあり、Shopifyストアで商品を検索から隠したり、他のページをブロックしたりするのに役立つ。 例えば、Sitemap Noindex SEO Toolsは月額3.49ドルで、あらゆるタイプのページに対応する。
ページのインデックスを改善することでSEOを向上させる
以上です。Shopifyのrobots.txtがどのように機能するのか、そしてどのように使えば有利になるのか、ご理解いただけたでしょうか。 robots.txtとrobots metaタグの助けを借りれば、ページインデックスの制御を改善し、SEOの問題を防ぎ、最も重要なページに価値を与えることで、検索で輝き、より多くの訪問者を集めることができます。
ShopifyのSEOのヒントをもっとお探しなら、SEOガイドをご覧ください。
最後になりましたが、リダイレクトやSEO全般について何かお困りのことがありましたら、お気軽にお問い合わせください。