Robots.txt
ウェブサイトでは、検索エンジンのクローラーがサイト内のどの部分にアクセスできるかを指定する robots.txt ファイルを提供する必要があります。Silktide は、ウェブサイトにこのファイルが提供されているかチェックします。
ファイルはサイトのルートに配置します。example.com の場合は、example.com/robots.txt に配置する必要があります。すべてのクローラーにサイト全体へのアクセスを許可する場合、ファイルは次のように簡単に記述できます。
# すべてのクローラーにすべてのコンテンツへのアクセスを許可
User-agent: *
Disallow:
重要な理由
クローラーは、ほかの何よりも先に robots.txt をリクエストします。robots.txt がないと、検索結果ページ、ファセットフィルター、その他のクロールバジェットを浪費する URL などを対象外にするための標準的な方法が使えなくなります。また、Sitemap: 行を使って の場所を指定するのも robots.txt です。
すべてのページをクロールさせたいサイトであっても、robots.txt を明示的に用意することで、クローラーにエラーレスポンスから意図を推測させず、クロールを許可する意思を明確に示せます。
修正方法
robots.txtという名前のプレーンテキストファイルを作成し、ウェブサイトのルートフォルダーに配置します。https://example.com/robots.txtで提供されるようにしてください。- まずは許可する設定(上記の例)にし、クローラーにスキップさせたい領域にのみ
Disallowルールを追加します。 - XML サイトマップを指定する
Sitemap:行を追加します。
User-agent: *
Disallow: /search/
Sitemap: https://example.com/sitemap.xml
- ブラウザーでファイルを開き、エラーページではなく正常に読み込まれることを確認します。多くのコンテンツ管理システムでは、robots.txt を自動生成して提供できます。
Silktide によるテスト方法
- ウェブサイトの各 のホーム URL を取得します。
- そのホストのルートにある
/robots.txtをリクエストします。 - リクエストが HTTP ステータス 200(OK)を返した場合は合格とします。ファイルがない場合、エラーを返す場合、またはダウンロードできない場合は、そのセクションを問題ありとして扱います。
トラブルシューティング
robots.txt はありますが、チェックに失敗します
ファイルは HTTP ステータス 200 で提供される必要があります。一部のサーバーは「ソフト」エラーページ(エラーのように見えるものの、リダイレクトまたはエラーのステータスを返すページ)を返したり、自動リクエストを完全にブロックしたりします。URL に直接アクセスしてテストし、ステータスコードを確認してください。できれば、ブラウザーの開発者ツールを使うか、別のネットワークから確認するとよいでしょう。
robots.txt でページを検索結果から除外できますか?
確実には除外できません。Disallow はクロールを停止しますが、ページは他の場所にあるリンクからインデックス登録される可能性があります。ページを検索結果から除外するには、代わりに を使用してください。詳しくは ページに noindex を設定する をご覧ください。