Anpassung / Override Meta Tag Robots via functions.php

Der folgende Beitrag befasst sich mit der Thematik, wie man die Meta-Robots-Anweisungen mit Hilfe des eigenen Themes – abhängig vom Ausgabetyp des Inhalts – anpassen kann.

Ein einfacher und schneller Weg um z. B. Such- sowie Archivseiten vor der Indexierung von Suchmaschinen zu schützen.

Standardmäßig stellt WordPress die Funktion zur Verfügung, dass die Indexierung der Website durch Suchmaschinen unterbunden wird.
Diese Anweisung kann unter
Einstellungen => Lesen => Sichtbarkeit für Suchmaschinen
aktiviert bzw. deaktiviert werden.

Bei Aktivierung dieser Funktion wird innerhalb des Heads der Website folgender Code eingebunden:

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

Ist diese Funktion inaktiv, wird kein entsprechender Code im Head eingebunden, was gleichbedeutend mit folgender Anweisung ist:

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

#1 Generierung neuer Meta-Tag-Robots-Anweisungen

Zuerst sollte man sich darüber Gedanken machen, welche Ausgabetypen von Suchmaschinen bei der Indexierung ausgeschlossen werden sollen.

In meinem Beispiel sollen Suchseiten, Kategorien, Archivseiten, Tag-Seiten etc. ausgeschlossen werden. Im Umkehrschluss sollen ausschließlich Beiträge und Seiten die Möglichkeit zur Indexierung bekommen.

Der folgende Code wird in die functions.php des eigenen Themes eingebunden.

function themename_robots() {
if(is_archive()):
echo '<meta name="robots" content="noindex,follow" />'."\n";
elseif(is_search()):
echo '<meta name="robots" content="noindex,nofollow" />'."\n";
else:
echo '<meta name="robots" content="index,follow" />'."\n";
endif;
}
add_action( 'wp_head', ' themename_robots', 3);

Der oben dargestellte Code sorgt dafür, dass beim Aufruf von Archiven (z. B. Kategorien) die Meta-Tag-Anweisung
<meta name="robots" content="noindex,follow" />
im Head eingebunden wird.

Bei Suchergebnisseiten wird die Anweisung
<meta name="robots" content="noindex,nofollow" />
eingebunden.

Bei allen anderen Inhalten wird
<meta name="robots" content="index,follow" />
ausgegeben.

Im oberen Teil des Beitrags wurde die WP-Funktion Sichtbarkeit für Suchmaschinen kurz erläutert.

Sofern diese aktiv ist, hätte das zur Folge, dass gleichzeitig zwei Meta-Robots-Anweisungen innerhalb des Heads ausgegeben werden.

Um das zur vermeiden, ist noch folgende Anweisung innerhalb der functions.php notwendig.

#2 Deaktivierung der Standard WordPress Meta-Tag-Robots-Anweisung

Der folgende Code bewirkt, dass die angesprochene WP-Funktion entfernt wird und somit nicht mehr greift. Das bedeutet, selbst wenn die Einstellung „Verbietet Suchmaschinen die Website zu indexieren“ aktiviert wurde, kann auf Grund der oben dargestellten Anweisungen eine Indexierung stattfinden.

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

#3 Zusammenfassung der Theme Meta-Tag-Robots-Anweisung

/*------------------------------
META ROBOTS
------------------------------*/
function themename_robots() {
if(is_archive()):
echo '<meta name="robots" content="noindex,follow" />'."\n";
elseif(is_search()):
echo '<meta name="robots" content="noindex,nofollow" />'."\n";
else:
echo '<meta name="robots" content="index,follow" />'."\n";
endif;
}
add_action( 'wp_head', ' themename_robots', 3);
remove_action( 'wp_head', 'noindex', 1 );

HINWEIS:

Da es sich bei dieser Anpassung um eine Funktionserweiterung des eigenen Themes handelt, bedeutet das, dass diese Anweisungen nur greifen, wenn das angepasste Theme aktiv ist bzw. für die Frontendausgabe der Website verantwortlich ist.

Im Umkehrschluss bedeutet das, dass beim Wechsel zu einem anderen Theme diese Anpassungen nicht mehr greifen. Im Gegenzug kann aber die WP-Funktion Sichtbarkeit für Suchmaschinenwieder genutzt werden.

Schreibe einen Kommentar

* Pflichtfelder