Manipulation der Metadaten via wpSEO API

Jede Ausgabe der Metadaten und des Seitentitels passiert den internen wpSEO Filter, auf den Entwickler einen Schreibzugriff haben. Mit wenigen Funktionen können ankommende, aber noch nicht ausgegebene Daten bearbeitet und an den Browser in modifizierter Form gesendet werden.

Nachfolgende Beispiele verdeutlichen die Funktions- und Ansatzweise der wpSEO API, welche den Funktionsumfang des SEO-Plugins erheblich ausweiten.

Beispiel 1: Ausgabe vervollständigen
Ein sehr interessanter Verwendungszweck für den wpSEO Filter: Man erweitert den Titel der einzelnen Artikel oder Custom Post Types nach eigenen Wünschen und Zielen. Exemplarisch: Diverse Bücher werden in WordPress als Custom Post Types (= Inhaltsarten) gepflegt. Hat ein Buch den Titel ?James Bond 007?, so würde auch der Seitentitel im Browser ?James Bond 007? lauten.

Erinnerung: Aus welchen Bestandteilen ein Seitentitel von wpSEO zusammengebaut wird, entscheidet der Nutzer in den wpSEO Einstellungen innerhalb der Box Seitentitel.

Mithilfe eines PHP-Fragments für die Theme-Datei functions.php wird die Ausgabe des Seitentitels verändert und heißt entsprechend: Das Buch "James Bond 007" probelesen.

add_action('init', 'wpseo_set_title');function wpseo_set_title() {  add_filter(    'wpseo_set_title',    'wpseo_set_title_callback'  );}function wpseo_set_title_callback($input) {  return 'Das Buch "'. $input . '" probelesen.';}

Der Vorteil der gezeigten Methode: Der dynamische Buchtitel wird im Ausgabesatz automatisch gesetzt und bedarf keinerlei Anpassungen. Optional: WordPress Conditional Tags grenzen den Wirkungsbereich des Snippets ein.

Beispiel 2: Platzhalter durch Variablen ersetzten
Auf eine identische Weise lassen sich manuell vergebene Metadaten manipulieren. Denn für wpSEO Filter spielt die Herkunft der Metadaten keine Rolle: Ob händisch im dafür vorgesehenen Feld hinterlassen oder automatisch vom Plugin generiert.

Benutzerdefinierte Felder für Metadaten können ausschliesslich aus statischen Inhalten (= Texten) bestehen. Mehr Flexibilität und Dynamik verspricht die Nutzung von eigen definierten Platzhaltern, die beim Aufruf der wpSEO Hooks als solche verstanden und entsprechend umgesetzt werden.

Beispiel aus der Praxis: Der manuelle Seitentitel zu einem Artikel, welcher als Startseite fundiert, lautet Neues aus dem Jahr [jahr]. Der Platzhalter [jahr] soll dynamisch durch das aktuelle Jahr ersetzt werden. Der nachstehende Snippet übernimmt diese Aufgabe und ersetzt den Platzhalter durch den dynamisch erzeugten (Jahres)Wert.

add_action('init', 'wpseo_set_title');function wpseo_set_title() {  add_filter(    'wpseo_set_title',    'wpseo_set_title_callback'  );}function wpseo_set_title_callback($input) {  return str_replace(    '[jahr]',    date('Y'),    $input  );}

Dass in oben genannten Vorschlägen ausschliesslich der Seitentitel angesprochen wird, ist ein Zufall. Natürlich lassen sich die Änderungen auf jeden Metawert anwenden, siehe dazu die Dokumentation der wpSEO Hooks.

Zuletzt geändert am 11. Juni 2013 in