it-swarm.com.de

NoFollow Gesamte Website

Standardmäßig, wenn Sie die Indizierung über Admin-Einstellungen deaktivieren

[x] Suchmaschinen von der Indizierung dieser Website abhalten

Es wird ein Meta-Tag wie folgt in den Header eingefügt:

<meta name='robots' content='noindex,follow' />

Wie ändere ich das auf nofollow anstatt auf follow? Ich finde es seltsam, dass es "Folgen" ermöglicht und insgesamt noindex,nofollow möchte.

Ich könnte direkt zu wp_head zurückkehren, aber das berücksichtigt keine Seiten wie wp-login und dergleichen.

6
Howdy_McGee

Dachte, das war eine großartige Frage, also ging ich graben. In der default-filters.php in Zeile 208 gibt es add_action('wp_head', 'noindex', 1); ab WordPress 4.1. Die Funktion noindex () prüft wiederum, ob Sie die Option blog_public auf 0 gesetzt haben. Wenn dies der Fall ist, ruft sie wp_no_robots () auf. Dies ist einfach:

function wp_no_robots() {
    echo "<meta name='robots' content='noindex,follow' />\n";
}

Keine der letzten Methoden kann gefiltert werden, aber ein einfaches Plugin entfernt den Haken:

/*
 * Declare plugin stuff here
 */

remove_action('wp_head','noindex',1);

Jetzt können Sie Ihre eigene Aktion starten, um herauszufinden, was Sie wollen.

add_action('wp_head', 'my_no_follow', 1);

function my_no_follow() {
    if ( '0' == get_option('blog_public') ) {
        echo "<meta name='robots' content='noindex,nofollow' />\n";
    }
}
4
Andrew Bartel

Ich nehme an, dass dies für mich funktioniert hat. Ich hatte mehr auf einen besseren Filter gehofft, aber er funktioniert genauso gut. Wirf dies in eine functions.php-Datei und du kannst loslegen.

/** No Index No Follow Entire Website **/
function nofollow_meta() {
    echo "<meta name='robots' content='noindex,nofollow' />\n";
}
add_action( 'wp_head', 'nofollow_meta', 1 );
add_action( 'login_enqueue_scripts', 'nofollow_meta', 1 );
2
Howdy_McGee