Wp-multisite-installationによって提供されるすべてのドメインに対して独自のrobots.txtファイルを作成する方法を誰かが知っていますか?プラグインを検索しましたが、適切なものが見つかりませんでした。
ソースからまっすぐ、(行1845 wp-includes/functions.php
、3.3.1):
function do_robots() {
header( 'Content-Type: text/plain; charset=utf-8' );
do_action( 'do_robotstxt' );
$output = "User-agent: *\n";
$public = get_option( 'blog_public' );
if ( '0' == $public ) {
$output .= "Disallow: /\n";
} else {
$site_url = parse_url( site_url() );
$path = ( !empty( $site_url['path'] ) ) ? $site_url['path'] : '';
$output .= "Disallow: $path/wp-admin/\n";
$output .= "Disallow: $path/wp-includes/\n";
}
echo apply_filters('robots_txt', $output, $public);
}
それをカスタマイズするために:
function my_custom_robots( $robots )
{
if ( my_condition() )
$robots .= "\nDisallow: /something/else/";
return $robots;
}
add_filter( 'robots_txt', 'my_custom_robots' );
次のようにして、これでサイトマップを作成することができました。
function my_custom_robots( $robots ){
$GLOBALS['current_blog']->blog_id;
if ( $blog_id !=(1) )
$robots .= "Sitemap: /sitemap.xml";
return $robots;
}
add_filter( 'robots_txt', 'my_custom_robots' );