オンラインPC館

robots.txt

robots.txt

robots.txtはクローラー(ロボット検索)の巡回方法を指定するためのものです。
ただし、robots.txtを利用するとクローラーとの直接対話が可能になるため、間違いの無い正確な記述が必要です。
なお、robots.txtに記述する内容は、HTMLページ内のmeta要素に記述する事もできます。
robots.txtとは
robots.txt ファイルについて学ぶ
グーグル、新しいrobots.txtテスターを発表

robots.txtの保存場所

robots.txtは必ずトップディレクトリに保存する必要があります。
robots.txt ファイルの保存場所

robots.txtの注意点

robots.txtを利用する際は、エンコードを「UTF-8」にして保存します。

注意点:エンコードは「UTF-8」で保存

robots.txtの基本テクニック

User-agent

robots.txtの最初に対象とするユーザーエージェントを指定します。
主に検索エンジンのクローラーなどを指定しますが、「*」を記述する事で全てのクローラーを対象にする事もできます。
なお、複数のユーザーエージェントを指定する場合は、セット間に改行を入れる必要があります。

User-agent: ユーザーエージェンを指定(全てが対象の場合は「*」)

Noindex(インデックスの禁止)

特定のファイルやディレクトリのインデックスを禁止する方法です。
ここで指定したものは対象の検索エンジンで表示されなくなりますが、変更にはしばらく時間がかかります。

User-agent: ユーザーエージェンを指定
Noindex: ディレクトリやファイルを指定(全てが対象の場合は「/」)

Disallow(アクセスの禁止)

特定のファイルやディレクトリへのアクセスを禁止する方法です。
ここで指定したものは対象のクローラーからアクセスされなくなります。

User-agent: ユーザーエージェンを指定
Disallow: ディレクトリやファイルを指定(全てが対象の場合は「/」)

robots.txtの応用テクニック

sitemap.xmlの自動再送信

robots.txtを利用したsitemapの自動再送信方法です。
以下の内容をrobots.txtに書く事で、検索用のクローラーが巡回時にsitemapを拾って持って行ってくれます。
ただし、クロールする際に必ずsitemap.xmlを取得するわけではないようで、何度かクロールされているうちに取得されるようです。
これは不具合なのか仕様なのかわかりませんが、早期にsitemap.xmlを更新したい場合は手動で更新を行ってください。

注意点:Sitemap行の前は一行空ける

User-agent: *
Disallow:

Sitemap: サイトURL/sitemap.xml

クローラーのアクセス制御とキャッシュ削除

robots.txtに以下のように記述するとクローラーのアクセスを拒否し、キャッシュがある場合は削除されます。
サイトを閉鎖しても検索エンジンのキャッシュデータは残りますが、この方法を使えば時間の経過と共にキャッシュデータも削除させる事ができます。
メタ タグによるサイトへのアクセスのブロック
robots.txt ファイルを使用してページをブロックまたは削除する

User-agent: *
Disallow: /

robots.txtのトラブル対策

robots.txtの動作チェック

Google Search Consoleのrobots.txtテスターを利用すれば、簡単にrobots.txtの動作テストを行う事ができます。
Google Search Console

Google Search Consoleにログイン→対象サイトをクリック→クロール→robots.txtテスター→「robots.txt」でテスト

robots.txtのエラー対策

上述のrobots.txtテスターで確認した際に、記述ミスがないのにエラーが表示される場合は以下のようにする事で修正が可能です。

robots.txtをエディタで開く→エンコードを「Shift-JIS」に変更→行頭の不要部分を削除→エンコードを「UTF-8」で再保存