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」も参考にしてください。