it-swarm.com.de

Erstellen Sie eine eindeutige robots.txt für jede Site bei der Installation auf mehreren Sites

Weiß jemand, wie ich eine eindeutige robots.txt-Datei für jede Domain haben kann, die von meiner wp-multisite-Installation bedient wird? Ich habe nach Plugins gesucht, aber nichts Passendes gefunden.

3
Tobe

Direkt aus der Quelle (Zeile 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);
}

So passen Sie es an:

function my_custom_robots( $robots )
{
    if ( my_condition() )
        $robots .= "\nDisallow: /something/else/";
    return $robots;
}
add_filter( 'robots_txt', 'my_custom_robots' );
3
TheDeadMedic

Damit konnte ich eine Sitemap wie folgt erstellen:

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' );
0
Mike Langone