【SEO】robots.txtとは?書き方や設定/確認方法、SEOにおける重要性について解説

robots.txtとは

ウェブサイトのSEO対策において、”robots.txt”という言葉を聞いたことはありますか?これは、ウェブサイトのどの部分をクローラー(ロボット)が探索すべきか、または探索すべきでないかを指示するための重要なツールです。
しかし、その使い方を誤ると、ウェブサイトのSEOパフォーマンスに悪影響を及ぼす可能性もあります。

この記事では、robots.txtの基本的な概念から、その書き方、設定方法、そして注意点までを詳しく解説します。robots.txtを正しく理解し、効果的に活用することで、効果的なSEO対策を行いましょう。

robots.txtとは?

robots.txtとは?

robots.txtは、ウェブサイトのルートディレクトリに配置されるテキストファイルで、ウェブサイトのどの部分をウェブロボット(クローラー)が探索すべきか、または探索すべきでないかを指示するためのものです。これにより、サイト管理者はウェブサイト内の特定のコンテンツへのクローラーのアクセスを制御することができます。

robots.txtファイルの主な目的は、クローラーがウェブサイトの特定の部分を探索しないようにすることです。これは、ウェブサイトの帯域幅を節約したり、クローラーが重要でないページや重複したページを探索するのを防ぐために役立ちます。また、一部のウェブサイトでは、ユーザー情報を含むページや、開発中のページなど、クローラーに探索されたくないページを制御するためにrobots.txtを使用します。

robots.txtとnoindexの違いと使い分け

robots.txtとnoindexは、どちらもクローラーの行動を制御するためのツールですが、その目的と機能は異なります。

robots.txtは、クローラーがウェブサイトのどの部分を探索すべきか、または探索すべきでないかを指示します。あくまで指示なので、リンクをたどって検索エンジンがそのページや階層の存在を認識する可能性があります。

一方、noindexはHTMLのmetaタグとしてページに直接配置され、そのページ自体を検索エンジンのインデックスから除外するよう指示します。つまり、noindexを使用すると、そのページは検索結果に表示されなくなります。

これらの違いを理解した上で、どちらを使用するかを決定する必要があります。一般的には、特定のページを検索エンジンのインデックスから完全に除外したい場合はnoindexを、クローラーの探索範囲を制御したい場合はrobots.txtを使用します。ただし、これらのツールは適切に使用しなければ、検索エンジンのクローリングやインデックス作成に悪影響を及ぼす可能性があるため、注意が必要です。

robots.txtとSEOの関係性

robots.txtは、SEOに直接的な影響を与える重要なツールです。ここではrobots.txtとSEOが具体的にどのような関係なのかを解説します。

robots.txtの適用によるクロールの制御

クロールとは、検索エンジンがウェブサイトを探索し、その内容をインデックスするプロセスを指します。ウェブサイトがクロールされることは検索結果に表示されるための前提条件となるのです。

robots.txtを適切に設定することで、サイト管理者はクローラーの行動を制御し、ウェブサイトのクロール効率を最適化することができます。
たとえば、重要でないページや重複したページをクロールから除外することで、クローラーがより重要なページに時間とリソースを割くことができます。これは、ウェブサイトのSEOパフォーマンスを向上させるために重要です。

SEO評価への影響

robots.txtの設定は、ウェブサイトのSEO評価にも影響を与えます。クローラーがアクセスできないページは、検索エンジンのインデックスに追加されず、検索結果に表示されません。
したがって、重要なページを誤ってクロールから除外してしまうと、そのページの検索エンジンランキングが低下する可能性があります。

また、robots.txtはウェブサイトのクロールバジェットの管理にも役立ちます。クロールバジェットとは、検索エンジンがウェブサイトをクロールするために割り当てる時間とリソースのことです。
クロールを必要としないページをクロールから除外することで、クロールバジェットを節約し、検索エンジンがウェブサイトの重要な部分を頻繁にクロールするのを助けることができます。

このように、robots.txtの適切な設定と管理は、ウェブサイトのSEOパフォーマンスを最適化するために重要な要素です。

robots.txtの書き方と設定方法

robots.txtは非常にシンプルなテキストファイルであり、その作成と設定は比較的簡単です。以下に、その基本的な手順を説明します。

メモ帳などのテキスト(.txt)ファイルで作成する

robots.txtは普通のテキストファイルなので、メモ帳や他のテキストエディタを使用して作成することができます。
新しいテキストファイルを作成し、その名前を”robots.txt”とします。

robots.txtの記述形式

robots.txtファイルは、”User-agent”と”Disallow”の2つの主要な要素で構成されます。下記はその種類をまとめたものです。

  • User-agent:特定のクローラー(またはすべてのクローラー)に対して指示を出す
  • Disallow:クローラーがアクセスすべきでないウェブサイトのパスを指定する
  • Sitemap:ウェブサイトのXMLサイトマップの場所をクローラーに伝える

また、クローラーの種類は様々で検索エンジンやウェブサービスによって運用されています。以下に、主要なクローラーの一部をリストアップします。

  • Googlebot:Googleの検索エンジン用のクローラー
  • Bingbot:MicrosoftのBing検索エンジン用のクローラー
  • Slurp Bot:Yahoo!の検索エンジン用のクローラー
  • DuckDuckBot:プライバシーに重点を置いた検索エンジン、DuckDuckGoのクローラー
  • Baiduspider:中国最大の検索エンジン、Baiduのクローラー
  • Yandex Bot:ロシア最大の検索エンジン、Yandexのクローラー
  • Sogou Spider:中国の検索エンジン、Sogouのクローラー
  • Exabot:Exaleadの検索エンジン用のクローラー
  • Facebook External Hit:Facebookがウェブページの情報を取得するためのクローラー
  • Twitterbot:Twitterがウェブページの情報を取得するためのクローラー

これらのクローラーは、それぞれのサービスがウェブ上の情報を収集し、そのサービス内で利用するために使用されます。robots.txtファイルを使用すると、これらのクローラーがウェブサイトのどの部分をクロールするかを制御することができます。

クローラーに対して指示を組み合わせることで、サイト管理者はウェブサイトのどの部分をクローラーに探索させ、どの部分を探索させないかを細かく制御することができます。

robots.txtの記述例とその解説

基本的なrobots.txtの記述例を見てみましょう。

User-agent: *
Disallow: /private
Sitemap: https://www.example.com/sitemap.xml

この例では、”User-agent: *”がすべてのクローラーに対する指示を意味します。次に、”Disallow: /private”はクローラーにウェブサイトの”/private”ディレクトリへのアクセスを禁止します。”Sitemap: https://www.example.com/sitemap.xml”によって、XMLサイトマップの位置を示しています。

また、ウェブサイトによってクロールを制御すべき部分は異なります。具体例を挙げてご紹介します。
ここでご紹介している例は一般的なケースを示していますが、実際の設定はウェブサイトの具体的な内容や目的によります。また、robots.txtの設定はウェブサイトのSEOに影響を与えるため、注意深く設定することが重要です。

ECサイトのrobots.txt記述例

ECサイトでは、商品ページやカテゴリーページはクロールを許可し、カートやユーザーアカウント関連のページはクロールを禁止することが一般的です。

User-agent: *
Disallow: /cart
Disallow: /account
Sitemap: https://www.your-ec-site.com/sitemap.xml

サービスサイトのrobots.txt記述例

サービスサイトでは、一般的には全てのページをクロールさせることが多いですが、特定の非公開ページやテストページなどはクロールを禁止することがあります。

User-agent: *
Disallow: /private
Disallow: /test
Sitemap: https://www.your-service-site.com/sitemap.xml

会員サイトのrobots.txt記述例

会員サイトでは、公開ページはクロールを許可し、会員専用ページや個人情報を含むページはクロールを禁止することが一般的です。

User-agent: *
Disallow: /members
Disallow: /profile
Sitemap: https://www.your-membership-site.com/sitemap.xml

ニュースサイトのrobots.txt記述例

ニュースサイトでは、記事のページはクロールを許可し、一部のアーカイブページやユーザーアカウント関連のページはクロールを禁止することが一般的です。

User-agent: *
Disallow: /archive
Disallow: /account
Sitemap: https://www.your-news-site.com/sitemap.xml

ブログサイトのrobots.txt記述例

ブログサイトでは、ブログ記事のページはクロールを許可し、一部のタグページや管理者ページはクロールを禁止することが一般的です。

User-agent: *
Disallow: /tags
Disallow: /admin
Sitemap: https://www.your-blog-site.com/sitemap.xml

教育サイトのrobots.txt記述例

教育サイトでは、教材のページや情報ページはクロールを許可し、学生専用ページや教員専用ページはクロールを禁止することが一般的です。

User-agent: *
Disallow: /students
Disallow: /faculty
Sitemap: https://www.your-education-site.com/sitemap.xml

robots.txtの設置場所

robots.txtファイルは、ウェブサイトのルートディレクトリに配置する必要があります。これにより、ウェブクローラーはウェブサイトにアクセスしたときに最初にこのファイルを探し、その指示に従ってウェブサイトをクロールします。通常、robots.txtファイルのURLは”https://www.yourwebsite.com/robots.txt”のようになります。

FTP(File Transfer Protocol)を使用してrobots.txtファイルをウェブサイトのルートディレクトリに設置する手順は以下の通りです。

  1. FTPクライアント(FileZillaなど)を開く
  2. FTPサーバーのホスト名、ユーザー名、パスワードを入力して接続
  3. ウェブサイトのルートディレクトリに移動
    (ルートディレクトリは通常、”public_html”または”www”という名前のディレクトリ)
  4. robots.txtファイルを選択してルートディレクトリにアップロード

以上の手順により、robots.txtファイルをウェブサイトのルートディレクトリに設置することができます。

robots.txtが設定されたか確認する方法

robots.txtファイルが正しく設定されているかどうかを確認するには、下記の2つのやり方で確認するようにしましょう。

ブラウザで確認する

最も簡単な方法は、ウェブブラウザを使用して直接robots.txtファイルを表示することです。以下の手順で確認可能です。

  1. ウェブブラウザを開く
  2. ドメインが表示されているアドレスバーの末尾に”/robots.txt”を追加
  3. Enterキーを押してアクセス

このURLでrobots.txtファイルの内容を見ることができれば正しく設置されています。もし、404エラーページが表示される場合、robots.txtファイルが存在しないか、または正しい場所に設置されていない可能性があります。

robots.txtテスターを使用する

robots.txtテスター

Google Search Consoleは、ウェブサイトのrobots.txtファイルをテストするためのツールを提供しています。これを使用すると、Googlebotが特定のURLをクロールできるかどうかをテストし、robots.txtファイルに構文エラーがないかを確認することができます。

対象サイトに紐づいているGoogleアカウントでrobots.txtテスターにアクセスします。「プロパティを選択してください」から対象サイトを選択すると、robots.txtの内容が表示されます。
対象サイトがない場合、robotsxtxtがないと認識されているので、適切な位置にファイルを設置できている確認しましょう。
robots.txtが表示され、エラーが発生していなければ問題ありません。

robots.txtを使用する上での注意点

robots.txtは強力なツールであり、ウェブサイトのクロールを制御する上で非常に有用です。しかし、その使用にはいくつかの注意点があります。

インデックスされたコンテンツは検索結果に残る

robots.txtはクローラーがウェブサイトのどの部分を探索すべきかを指示するものであり、すでにインデックスされたページの削除を指示するものではありません。
したがって、robots.txtによってクロールが禁止されたページでも、そのページが以前にインデックスされていた場合、そのページは検索エンジンのインデックスから自動的に削除されるわけではありません。
インデックスからページを削除するには、そのページにnoindexメタタグを追加するか、Google Search ConsoleのURL削除ツールを使用する必要があります。

ユーザーはrobots.txtによって制御されたコンテンツを閲覧可能

robots.txtはクローラーに対する指示を提供するものであり、人間のユーザーに対する制限を設けるものではありません。
そのため、robots.txtによってクロールが禁止されたページでも、そのURLを知っているユーザーは直接そのページを訪れることができます。robots.txtによってクロールが禁止されたページのURLは、robots.txtファイル自体を見ることで誰でも知ることができます。
機密情報を含むページを保護するためには、パスワード保護や他のセキュリティ対策を施す必要があります。

robots.txtに関するよくある質問

ここからはrobots.txtに関するよくある質問をご紹介していきます。これまでの説明のおさらいとしても確認しておきましょう。

robots.txtとnoindexのどちらを使えば良い?

クローラーが特定のページを探索しないようにしたい場合はrobots.txtを、特定のページを検索エンジンのインデックスから除外したい場合はnoindexを使用します。
ただし、インデックスされているページをインデックスから削除するには、Google Search ConsoleのURL削除を使うと良いでしょう。

robots.txtはどのようなタイミングで更新すべき?

robots.txtファイルは、ウェブサイトの構造やコンテンツが変更されたとき、またはクロールの優先順位を変更したいときに更新する必要があります。たとえば、新しいセクションをウェブサイトに追加した場合や、特定のページをクローラーから隠したい場合には、robots.txtファイルを更新します。

また、ウェブサイトのパフォーマンスを最適化するために、定期的にrobots.txtファイルを見直し、不要なDisallow指示を削除することも推奨されます。

robots.txtでクロールを制御したい場合、どのUser-Agentを指定すれば良い?

robots.txtファイルでは、User-Agentディレクティブを使用して特定のクローラーに対する指示を設定することができます。User-Agentは、クローラー(または「ボット」)の名前を指定します。たとえば、”User-agent: Googlebot”と指定すると、その後のDisallowやAllowの指示はGooglebotにのみ適用されます。

一方、すべてのクローラーに対して同じ指示を出したい場合は、”User-agent: *”を使用します。これは、すべてのクローラー(User-Agentに関係なく)に対する指示を表します。

どのUser-Agentを指定すべきかは、どのクローラーを制御したいかによるので、サイト運営における判断が必要です。

robots.txtを効果的に活用して正しいSEO対策を!

本記事では、robots.txtの基本的な概念から、その書き方、設定方法、そして注意点まで詳しく解説しました。robots.txtは、ウェブサイトのクロールを適切に制御し、SEOのパフォーマンスを最適化するための重要なツールです。しかし、その使用には注意が必要であり、特にセキュリティ対策としての限界を理解することが重要です。
また、robots.txtの設定はウェブサイトの構造や目的により異なるため、一概に正しい設定方法があるわけではありません。そのため、専門的な知識と経験が必要となります。

株式会社Howcrazyでは、SEO対策に関して包括的なサポートを行っております。ウェブサイトに最適なrobots.txtの設定を提案し、その他のSEO対策も含めてウェブサイトのパフォーマンスを最大化するお手伝いをします。SEOに関するお悩みがあれば、ぜひ一度ご相談ください。