【WordPress】自動で出力される[仮想robots.txt]をカスタマイズする方法

Ads by Google

WordPress LogoWordPressをルート直下(例: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]は検索エンジンのクロールを制御する重要なファイルです。
必ず出力されている内容を精査しておきましょう。

こちらの記事もいかがですか?

アナタにオススメ!
同じカテゴリーの他の記事です。

Ads by Google