WordPressをルート直下(例:http://sample.com)にインストールすると、デフォルトで「仮想robots.txt」を出力してくれます。
この場合「robots.txt」のURLは http://sample.com/robots.txt となります。
仮に http://sample.com/wordpress/ というディレクトリにWordPressをインストールして、サイトが公開されている状態であれば、以下のように記述された[robots.txt]が出力されます。
User-agent: * Disallow: /wordpress/wp-admin/
「Disallow」とはインデックスさせないようにする命令で、「http://sample.com/wordpress/wp-admin/」以下のディレクトリへのクローラーの巡回をブロックしています。
逆に、もし管理画面のメニュー[設定]→[表示設定]で「検索エンジンがサイトをインデックスできないようにする」にチェックを入れていて、サイトが公開状態でない場合は以下のように出力されます。
User-agent: * Disallow: /
こちらでは「Disallow: /」とありますので、ルート以下のすべてのファイルをクロールさせないという指定になります。
この自動で出力される「仮想robots.txt」の内容を変更したいときは、テーマファイルの functions.php
に以下のコードを追記します。
function custom_robots_txt($output) { $public = get_option( 'blog_public' ); $site_url = parse_url( site_url() ); $path = ( !empty( $site_url['path'] ) ) ? $site_url['path'] : ''; if ( '0' != $public ) { $output .= "Disallow: $path/wp-includes/n"; $output .= "Disallow: $path/wp-content/themes/n"; $output .= "Disallow: $path/wp-content/plugins/n"; } return $output; } add_filter('robots_txt', 'custom_robots_txt');
上記は一例ですが、このコードを記述すると、「Disallow: /wordpress/wp-includes/」「Disallow: /wordpress/wp-content/themes/」「Disallow: /wordpress/wp-content/plugins/」の3行が新たに追加されるようになります。
なお、手動でFTPなどを経由して「robots.txt」をアップロードした場合は、WordPressの「仮想robots.txt」は出力されず、実際に設置した「robots.txt」のほうが優先して表示されます。
WordPressのテーマファイル[functions.php]を編集したくなかったり、簡単に手っ取り早く「robots.txt」を設置したいときは直接テキストファイルをアップロードしましょう。
また、WordPressの[仮想robots.txt]が出力されず404エラーが表示されてしまう場合は、パーマリンク設定をデフォルト(http://example.com/?p=123)のままにしているか、或いはWordPressをインストールした場所がルート直下ではない可能性があります。
[robots.txt]は検索エンジンのクロールを制御する重要なファイルです。
必ず出力されている内容を精査しておきましょう。