WordPressでは自動で仮想robots.txtが出力されます。ユーザに見せる必要のない/wp-admin/と/wp-includes/はここでクローラからインデックスをブロックされます。
この仮想robots.txtではfunctions.phpでルールを追加することはできるのですが、自由に記述するのは少々面倒です。
実在のファイルとしてrobots.txtを設置すればそちらが優先されますが、KB Robots.txtというプラグインでは簡単にこの仮想robots.txtに追記することができます。
KB Robots.txt
KB Robots.txtの使い方はいたってシンプルです。有効化するとダッシュボードの設定に追加されるRobots.txtのEditorを使用して自由にルールを追記できます。
設定画面下部にはいくつかの記述例も表示されています。
※はじめから記述されている「# This is your robots.txt file. Visit Options->Robots.txt to change this text.」は削除してしまって構いません。
注意しなくてはならないのはここで記述したものだけがrobots.txtの内容になるため、WordPressのデフォルトでブロックされる下記は先頭に記述しましょう。
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
マルチサイトの場合
マルチサイトでも動作しますので、サブドメイン型ではとくに問題はありません。それぞれのダッシュボードで任意に設定可能です。
サブディレクトリ型でも親サイト・子サイトそれぞれでプラグインが動作しますが、子サイトの設定は無視されるようです。もともとrobots.txtはドメイン直下になければならないので当然といえば当然なのかもしれませんが、親サイトのKB Robots.txtにてすべてのルールを指定する必要があります。
[親サイト]example.com/
[子サイト]example.com/aaa/
例1)親サイトはインデックス許可し、子サイトをブロックする場合は下記のようになります。
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /aaa/
例2)親サイトのexample.com/bbb/と子サイトのexample.com/aaa/ccc/をブロックする場合は下記のようになります。
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /bbb/
Disallow: /aaa/ccc/
いずれの場合もサブディレクトリ型の場合は親子が別のサイトであっても、親サイトの
KB Robots.txtで記述します。(example.com/robote.txt)
サブディレクトリ型サイトのrobote.txtについては「WordPressマルチサイトでのrobots.txt」も参考にしてください。