robots に関するよくある質問

robots に関する一般的な質問

ウェブサイトに robots.txt ファイルは必要ですか?

いいえ。Googlebot がウェブサイトにアクセスする際、まず robots.txt ファイルの取得を試みることによって、クロールの許可を求めます。robots.txt ファイルのないウェブサイトでは、通常、robots meta タグまたは X-Robots-Tag HTTP ヘッダーがクロールされ、問題なくインデックスに登録されます。

どの方法を使用してクローラーをブロックすればよいですか?

場合によって変わります。つまり、それぞれの方法に長所があります。

  • robots.txt: コンテンツのクロールによってサーバーで問題が発生する場合に使用します。たとえば、無限カレンダー スクリプトをクロールさせないような場合です。非公開コンテンツのブロックや正規化の処理には robots.txt を使用しないでください(非公開コンテンツのブロックにはサーバーサイドの認証を使用してください)。URL をインデックスに登録しないようにする必要がある場合は、robots meta タグまたは X-Robots-Tag HTTP ヘッダーを使用します。
  • robots meta タグ: 個別の HTML ページの検索結果での表示方法を制御する必要がある場合(またはページが表示されないようにする場合)に使用します。
  • X-Robots-Tag HTTP ヘッダー: 検索結果でのコンテンツの表示方法を制御する必要がある場合(またはページが表示されないようにする場合)に使用します。

robots.txt、robots meta タグ、X-Robots-Tag HTTP ヘッダーを使用して、検索結果から他のユーザーのサイトを削除できますか?

いいえ。この方法は、自分でコードを変更したりファイルを追加したりできるサイトについてのみ適用されます。Google から情報を削除する方法をご覧ください。

Google によるウェブサイトのクロール頻度を遅くすることはできますか?

通常、クロール頻度の設定Google Search Console のアカウントで調整できます。

robots.txt に関する質問

複数のウェブサイトで同じ robots.txt を使用しています。相対パスの代わりに完全な URL を使用できますか?

いいえ。robots.txt ファイル内のルールは相対パスに対してのみ有効です(ただし sitemap: は例外です)。

robots.txt ファイルをサブディレクトリに配置できますか?

いいえ。このファイルはウェブサイトの最上位のディレクトリに配置する必要があります。

非公開フォルダをブロックする必要があります。他のユーザーが robots.txt ファイルを読み取れないようにできますか?

いいえ。robots.txt は不特定多数のユーザーによる読み取りが可能です。コンテンツのフォルダやファイル名を公開しない場合は、robots.txt ファイルに記述しないでください。ユーザー エージェントや他の属性に基づいて異なる robots.txt ファイルを提供することはおすすめしません。

クロールを許可するために allow ルールを含める必要がありますか?

いいえ。allow ルールを含める必要はありません。すべての URL は暗黙的に許可されています。allow ルールは、同じ robots.txt ファイル内で disallow ルールをオーバーライドするために使用します。

robots.txt ファイルに誤りがある場合や、サポートされていないルールを使用した場合はどうなりますか?

ウェブクローラは高度な柔軟性を備えており、通常は、robots.txt ファイルに小さい誤りがあっても影響を受けません。一般に、起こりうる最大の問題は、正しくないまたはサポートされていないルールが無視されることです。robots.txt ファイルの解釈においては、書かれていないことは知り得ないという点に留意してください。Google は、取得した robots.txt ファイルを解釈することしかできません。ただし、robots.txt ファイルに含まれる問題点について把握できているのであれば、問題の解決は簡単です。

どのプログラムを使用して robots.txt ファイルを作成すればよいですか?

有効なテキスト ファイルを作成できるものであれば何でも使用できます。robots.txt ファイルの作成によく使われるのは、メモ帳、TextEdit、vi、emacs などです。詳細については、robots.txt ファイルの作成方法をご覧ください。ファイルを作成したら、robots.txt テスターで検証してください。

robots.txt の disallow ルールを使用して Google によるページのクロールをブロックすると、検索結果に表示されなくなりますか?

Google によるページのクロールをブロックすると、Google のインデックスから該当するページが削除される可能性があります。

ただし、robots.txt の disallow を指定しても、ページが結果に表示されないという保証はありません。Google は、参照リンクなどの外部情報に基づいて関連性が高いと判断し、結果に URL を表示する場合があります。ページがインデックスに登録されることを明示的にブロックするには、noindex robots meta タグまたは X-Robots-Tag HTTP ヘッダーを使用します。この場合、robots.txt でそのページを不許可にしないでください。タグを認識して、それに従うためには、ページがクロールされる必要があります。Google と共有するコンテンツを制限する方法をご確認ください。

robots.txt ファイルの変更が検索結果に反映されるまでにどれくらいかかりますか?

まず、robots.txt ファイルのキャッシュを更新する必要があります(通常、コンテンツは最大 1 日間キャッシュされます)。この処理にかかる時間を短縮するには、更新した robots.txt を Google に送信します。 変更が検出されても、クロールとインデックス登録の処理は複雑で、個別の URL で時間がかかる場合があるため、タイムラインを正確に示すことはできません。また、robots.txt ファイルで URL へのアクセスを不許可にし、その URL をクロールできない場合でも、検索結果の表示に残る可能性があることに注意してください。ブロックしたページが Google から早急に削除されるようにするには、削除リクエストを送信してください。

ウェブサイトのすべてのクロールを一時的に停止するにはどうすればよいですか?

robots.txt ファイルを含むすべての URL で 503 (service unavailable) HTTP ステータス コードを返すことにより、すべてのクロールを一時的に停止できます。robots.txt ファイルへのアクセスは、再び可能になるまで定期的に再試行されます。robots.txt ファイルを変更してクロールを不許可にすることはおすすめしません。

使用しているサーバーでは大文字と小文字が区別されません。一部のフォルダのクロールを完全に不許可にするにはどうすればよいですか?

robots.txt ファイルのルールでは大文字と小文字が区別されます。この場合は、正規化の方法を使用して、1 つのバージョンの URL のみがインデックスに登録されるようにすることをおすすめします。これにより、robots.txt ファイルの行数が少なくなるため、管理しやすくなります。この方法が不可能な場合は、フォルダ名の一般的な組み合わせを列記するか、名前全体ではなく最初の数文字だけを使用して名前をできる限り短くすることをおすすめします。たとえば、/MyPrivateFolder の大文字と小文字のすべての組み合わせを列記する代わりに、/MyP の組み合わせを列記します(同じ名前で他にクロール可能な URL が存在しないことが確実な場合)。または、クロールに問題がない場合は、robots meta タグまたは X-Robots-Tag HTTP ヘッダーを代わりに使用することもできます。

robots.txt ファイルを含むすべての URL に対して 403 Forbidden を返しています。それでもまだサイトがクロールされるのはなぜですか?

403 Forbidden HTTP ステータス コードは(他の 4xx HTTP ステータス コードと同様)、robots.txt ファイルが存在しないものとして解釈されます。つまり、通常、クローラはウェブサイトのすべての URL をクロールできるものと判断します。ウェブサイトのクロールをブロックするには、200 OK HTTP ステータス コードで、disallow ルールを適切に指定した robots.txt を返す必要があります。

robots meta タグに関する質問

robots meta タグは robots.txt ファイルに代わるものですか?

いいえ。robots.txt ファイルは、アクセスされるページを制御します。robots meta タグはページをインデックスに登録するかどうかを制御しますが、このタグが認識されるには、ページがクロールされる必要があります。ページのクロールに問題がある場合(ページがサーバーに大きな負荷をかける場合など)に、robots.txt ファイルを使用します。検索結果にページを表示するかどうかを制御する場合は、robots meta タグを使用できます。

robots meta タグを使用して、ページの一部分をインデックスに登録しないようにできますか?

いいえ。robots meta タグはページ単位の設定です。

<head> セクションの外部で robots meta タグを使用できますか?

いいえ。現状では、robots meta タグはページの <head> セクション内で使用する必要があります。

robots meta タグでクロールを不許可にできますか?

いいえ。現在、robots meta タグに noindex と指定されている場合でも、meta タグが変更されたかどうかをチェックするために、Google は時折その URL を再クロールする必要があります。

nofollow robots meta タグと rel="nofollow" リンク属性の違いは何ですか?

nofollow robots meta タグは、ページのすべてのリンクに適用されます。rel="nofollow" リンク属性は、ページの特定のリンクに対してのみ適用されます。rel="nofollow" リンク属性の詳細については、ユーザー生成スパムrel="nofollow" に関するドキュメントをご覧ください。

X-Robots-Tag HTTP ヘッダーに関する質問

URL の X-Robots-Tag を確認するにはどうすればよいですか?

Google Search Console の URL 検査ツールを使用すると、サーバーのヘッダーを簡単に確認できます。任意の URL のレスポンス ヘッダーを確認する方法については、「サーバー ヘッダー 確認」で検索してみてください。