robots.txtは、検索エンジンのクローラー(bot)に、クロールされたいページや、クロールされたくないページを教えるテキストファイルのことです。検索エンジンの制御するため、多くの検索エンジンクローラーは、そのドメインの最上位ディレクトリに設置されたrobotst.txtを最初に読み込んで、クロールするべきページとクロールするべきでないページを取得し、それに基づいて巡回します。
まずは、自分のサイトの「robots.txt」を確認してみます。
User-agent: * Disallow: /wp-admin/ Allow: /wp-admin/admin-ajax.php Sitemap: https://taka.seta.red/sitemap.xml
上記のように設定されていることが分かります。
この中で、Allow: /wp-admin/admin-ajax.php は何のためにAllowなのか?
以前「Googleがページを正確にインデックスするために js や css をクロールするようになったので、jsやcssにアクセスできるようにして下さい」とGoogleからアナウンスがありました。
このため、 admin-ajax.php をブロックしてしまうと、そのCSSも呼び出せなくなるので、ページの表示に支障が出ます。ということで、/wp-admin/admin-ajax.php はAllow必要なのかな。
自分のサイトでもWPのプラグイン「Alimstat」使用時に、ここにアクセスしているようでした。
User-Agent
この記述は対応する検索ロボットを意味します。
*を使用した場合は、全ての検索エンジンロボットを指定することができます。Googleのクローラーのみを指定したい場合は「User-Agent:googlebot」と記述し、その他特定のクローラーを指定する際には、それぞれに対応した記述をします。
Disallow
これはアクセスの拒否を行う際に使用します。
上記の例の様に、Disallow:の後に何も記述をしなければ、アクセスが拒否されることはありません。使用方法としては、Disallow:の後にアクセスを拒否したいルートディレクトリ、またはファイル名を指定します。
例えば、http://example.com/login/の/login/以下のページ全てに対してアクセスを拒否する場合は「Disallow:/login/」と記述します。
また、ルートディレクトリ以外にもパラメータ付きURLに対するアクセス拒否も可能です。その場合は「Disallow:/*?example=*」のexampleの部分をそれぞれのパラメータに変更してご利用ください。
このようにクロールの必要が無いページに対しては、クロールの制御を行いましょう。よく行われている例としてはログインURLなどが対象になります。Wordpressの管理画面のURL(例aaa.com/wp-admin)をクロール拒否しているサイトは多数あります。
Sitemap
ここにはSitemap.xmlを設置しているページを絶対パスで指定します。Sitemap.xmlを記述することで、検索エンジンに対しsitemap.xmlの存在を伝えることができます。
特に設定しておかなくても、勝手に検索エンジンロボットはクロールしてくれますが、robots.txtに記述しておくことで余計なページを巡回させずに済みます。robots.txtを利用して、クローラーに快適な巡回をさせてあげます。
Allow
書き方の例には記載しておりませんが、Allowという記述をすることでアクセスの許可を促すことができます。しかし、何も記載しない状態がアクセス許可を意味するため、この指定を使用する機会は少ないです。
コメント