クロールを防ぎたいサイト内のコンテンツを管理するためのファイルがrobots.txtです。
このファイルを適切に運用することにより、価値のあるコンテンツが先にクロールされるので、サイトのSEOの質も向上すると考えられています。
robots.txtを導入していない場合、不要なページも検索エンジンにクロールさせてしまい、サイトのクオリティが低下するリスクが考えられます。
この記事を参考に、robots.txtの基本的な機能を把握し、正確な設定を施してください。
robots.txtとは?
robots.txtは、取得を避けたいコンテンツを、Googleなどの検索エンジンがクロールしないようにするファイルを指すものです。
一般的に、クロールは良いこととされているため、「ウェブページ上の全情報がクロールされるべきではないか?」と疑問に思う方も少なくないでしょう。
しかし、会員専用の情報やオンラインショップのカート、またはシステムが自動生成する重複ページなど、クロールするとサイトのSEOにマイナスの効果が出る場合も存在します。
robots.txtの設定によるSEO上のメリット
robots.txtを採用することで不要なページのクロールを抑え、クロールの効率化が期待でき、サイトのキーページへのクロールが優遇されます。
サイト内のメインコンテンツ=ユーザーにとって価値のあるコンテンツなので、結果、短いタームでのウェブサイト全体のSEOにも効果が見込めます。
robot.txtとnoindexタグの相違点
要素 | robots.txt | noindexタグ |
---|---|---|
役割 | ウェブクローラーに対してクロール許可/拒否の指示 | インデックス許可/禁止の指示 |
ページ単位での設定 | ページごとに設定が難しい | 各ページごとに設定可能 |
サイト全体での設定 | サイト全体に適用できる | 個別のページごとにカスタマイズ可能 |
クローラーへの影響 | クローラーはルールに従ってクロールを制御 | クローラーはメタタグに従ってページをインデックス |
ページの非表示設定 | ページ自体がクロールされるが、インデックス不可 | ページがクロールされず、インデックス不可 |
効果の速さ | 即座にクロール停止が可能 | クローラーによる再クロールまでに時間がかかる |
複雑性 | 多くのルールや設定が必要 | 単一のメタタグで設定可能 |
ページの設定変更の簡易性 | 設定変更が手間がかかる | ページ内での設定変更が比較的容易 |
「robots.txt」と「noindexタグ」は、検索エンジンのクロールやインデックスの制御のためのツールですが、使用方法が異なります。
「robots.txt」はテキストベースのファイルで、特定のディレクトリやページを検索エンジンのクロールから除外するために使います。記述されたページやディレクトリは、検索エンジンのクローラーがアクセスしないよう設定できます。
一方で、「noindexタグ」はHTMLのタグとしてページに追加され、そのページが検索エンジンの結果に表示されないようにするためのものです。クロールはされるものの、インデックスには追加されず、検索結果には出てきません。
つまり、両者は検索エンジンへの操作を制御できるものの、robots.txtはアクセスを制限し、noindexタグは検索結果の非表示を指示するものです。
これらを適切に使い分けることで、WebページのSEO対策をさらに効果的に進めることができます。
robots.txtの作成方法
robots.txtは極めて重要な指定を持つため、不正確な記載を行うとWebサイトに大きな問題が生じるリスクがあります。素晴らしいコンテンツを提供していたとしても、間違ったrobots.txtの設定でうまくクロールされず、機会を逸してしまいます。
そうならないために、正確なrobots.txtの書き方を理解することが大切です。
robots.txtの作成には専用のツールは不要で、簡単にメモ帳を使用して作れます。
robots.txtの記述方法
以下は、robots.txtの基本的な書き方の例です。
User-Agent: *
Disallow: /private/
Disallow: /admin/
Sitemap: http://example.com/sitemap.xml
各要素について詳しく説明します。
User-Agent
User-Agentは、特定の検索エンジンロボットを指定するためのものです。例えば、Googlebotを指定したい場合、「User-Agent: googlebot」と記述します。すべての検索エンジンロボットに適用させたい場合は「User-Agent: *」とします。他の特定のクローラーを指定する場合は、それに合った表記を使用します。
Disallow
Disallowは、アクセスをブロックするために使います。例えば、「Disallow: /private/」と記述すると、/private/以下のページへのアクセスを拒否します。また、パラメータ付きURLのアクセスも制限できます。「Disallow: /?example=」のように、特定のパラメータを指定します。ログインページや管理画面のURLをブロックするためにDisallowを使用するサイトが多いです。
Sitemap
Sitemapは、サイト内のSitemap.xmlファイルを指定するためのものです。Sitemap.xmlファイルの存在を検索エンジンに通知する役割があります。通常、検索エンジンは自動的にクロールしますが、robots.txtにSitemapを指定することで、不要なページのクロールを防ぐことができます。
Allow
通常、Allowを指定しない場合は、アクセスが許可されます。そのため、Allowを使うケースは少ないですが、特定のアクセスを明示的に許可したい場合に使用します。
robots.txt作成時の注意事項5点
1.クロール制限をnoindexのために用いない
まず、クロールの制限をnoindexの目的で実施してはいけません。
クロール制限の主な役割は、クロールそのものを制限することで、必ずしもインデックスを避けるものではありません。
robots.txtでdisallowを設定することで、クロールのアクセスはコントロールできますが、通常、インデックスの可能性は低くなります。
しかし、他のページからdisallow対象ページへのリンクが存在する場合、インデックスのリスクが残ります。
絶対にインデックスさせたくない場合は、head部分に以下の方法でnoindexを活用するべきです。
<meta name=”robots” content=”noindex” />
2.全ページのクロールを禁止しない
次の重要なポイントは、すべてのページのクロールを禁止しないことです。
robots.txtの設定において最もリスクが高いのは、すべてのページのクロールを制限してしまうことです。
下記のような記述は全てのクロールを遮断するため、絶対に避ける必要があります。
User-Agent: * Disallow: /
robots.txtを適用する際、このような記述がないか確認を怠らないようにしましょう。
3.インデックスを避けたいページのクロール制限を確認する
3つ目は、インデックスを避けたいページをクロールから除外する際の注意点を挙げます。
不要なページをインデックスから除外するため、robotsメタタグでnoindexを指定したページをDisallowでクロール制限してはいけません。
クローラーにはnoindexの指定を検証する役割があるためです。
もし、そのページが既に検索結果に表示されていた場合、クロール制限されると、インデックス状態が継続してしまうのです。
4.robots.txtの変更はすぐには反映されない
4つ目は、robots.txtを修正しても、その変更が検索エンジンにすぐには取り込まれないことを理解しておくことです。
Googleの場合は、数日から数週間の時間がかかることがあります。
robots.txtを修正したからといって、必ずしもその結果が直ぐに見えるわけではありません。
さらに、robots.txtの設定だけでなく、それを取り消す際にも同じように時間がかかることを覚えておいてください。
5.robots.txtの設定でもユーザーはページを確認できる
5つ目は、robots.txtを用いても、通常のユーザーはページの内容を見ることができるということです。
robots.txtは、主に検索エンジンのクローラーに対して特定のページをクロールしないよう指示を出すためのものです。
しかし一般のユーザーがサイトを訪れた時には、その内容が表示されることが多いです。
そのため、特定のページを完全に非公開にしたい場合は、他の方法を探さなければなりません。
例えば、ページ自体を削除する、あるいは非表示設定にするなど、ユーザーがアクセスできないよう対策を考えることが大切です。
robots.txtの配置手順
robots.txtを配置する手順は次の通りです。
- robots.txtの設定が終わったら、ファイルをウェブサイトのルートディレクトリにアップロードします。
- サーバーへのアップロードは、各サーバーの管理画面やFTPクライアントを使用して行います。
主要なFTPクライアントのいくつかは以下の通りです。
- Windows向け: FileZilla、FFFTP(※公式開発は終了していますが、有志によるアップデートが続けられています)
- Mac向け: Cyberduck、FileZilla
- robots.txtは、sitemap.xmlと同じディレクトリにアップロードします。
正しい例: https://example.com/robots.txt
誤った例: https://example.com/blog/robots.txt
これらの手順に従うことで、robots.txtファイルを正しく配置できます。
WordPressのrobots.txtに関する役立つプラグイン
WordPressのサイトでは、プラグインを導入するだけでrobots.txtファイルが自動生成できます。
WordPressのデフォルトのrobots.txtには、管理者ページへのクロールをブロックする設定が含まれています。
例:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
ただし、FTPクライアントを通じて確認しても、実際のrobots.txtファイルは見つかりません。これは「仮想robots.txt」と呼ばれます。
WordPressが自動生成するファイルは、デフォルトではログイン画面へのアクセスのブロックしか含まれていないため、必要に応じてカスタマイズが必要です。
その際、便利なプラグインを利用できます。
「WordPress Robots.txt File」というプラグインをインストールし、「有効」にすると、管理メニューにrobots.txtの編集項目が追加されます。
ここで適切な内容を設定できます。
初期状態ではSitemapの指定がないので、忘れずに追加してください。
また、プラグインを使ってXMLファイルを指定することもできます。例えば、「Google XML Sitemaps」や「All in One SEO Pack」といったプラグインを導入すると、簡単にXMLファイルを指定できます。
サーチコンソールの活用法
robots.txtの調整後、サーチコンソールを駆使して設定の正確性を検証します。
「robots.txtテスター」をクリックし、対象のプロパティを選びます。
入力ボックスにrobots.txtがあるURLを入力し、検証したいユーザーエージェントを選んで「テスト」をクリックします。
テストが無事終了すれば、Googleへのrobots.txtの更新通知を行いましょう。
「送信」を選ぶとポップアップが表示され、3番目のオプションの「Google に更新をリクエスト」の「送信」をクリックすると、robots.txtの適用が終了します。
まとめ
この記事でrobots.txtの適切な取り扱いと、その機能について解説しました。
クロールの頻度を増やすことは、検索ランキングに直接の効果は出ません。
だが、ダブルコンテンツや品質の低いページが多くクロールされることで、キーとなるページのクロールが遅くなるリスクが存在します。
robots.txtを活用し、高優先度のページのクロールをスムーズにし、検索エンジンに愛されるサイト作りを進めていきましょう。