Open Graph in WordPress verwenden
Der Open Graph kann in WordPress u.a. über eine selbstgebaute Funktion integriert werden, mit der ihr exakt festlegen könnt, welche Inhalte übermittelt werden sollen. Zusätzlich gibt es Lösungen via Plugin.
Der sog. Open Graph ist ein Protokoll, mit dessen Hilfe ihr u.a. Informationen an Social Media-Plattformen übermitteln könnt. Über spezielle meta
-Befehle im <head>
der Seite werden die Informationen übermittelt. Eure Seite bzw. die einzelnen Beiträge eures Blogs werden anschließend prominenter bei Facebook, Twitter oder Google angezeigt. Mit dem in diesem Beitrag archivierten Snippet, integriert ihr den Open Graph in WordPress.
Open Graph-Code für WordPress
Das folgende Snippet liest den Titel, den Artikel-Auszug und das Beitragsbild aus, und verwendet die Informationen für den Open Graph. Fügt das Snippet in der functions.php
oder über ein seitenspezifisches Plugin ein. Beachtet bitte, dass für statische Seiten normalerweise kein Auszug (the_excerpt
) eingetragen werden kann, da das Eingabefeld in WordPress nicht angezeigt wird. Wie ihr das Feld aktiviert steht in diesem Beitrag.
Details zur Struktur des Open Graph entnehmt ihr bitte dieser Seite.
add_action( 'wp_head', 'kb_load_open_graph' );
function kb_load_open_graph() {
global $post;
// Standard-Grafik für Seiten ohne Beitragsbild
$kb_site_logo = get_stylesheet_directory_uri() . '/img/wp/logo-open-graph.png';
// Wenn Startseite
if ( is_front_page() ) { // Alternativ is_home
echo '<meta property="og:type" content="website" />';
echo '<meta property="og:url" content="' . get_bloginfo( 'url' ) . '" />';
echo '<meta property="og:title" content="' . esc_attr( get_bloginfo( 'name' ) ) . '" />';
echo '<meta property="og:image" content="' . $kb_site_logo . '" />';
echo '<meta property="og:description" content="' . esc_attr( get_bloginfo( 'description' ) ) . '" />';
}
// Wenn Einzelansicht von Seite, Beitrag oder Custom Post Type
elseif ( is_singular() ) {
echo '<meta property="og:type" content="article" />';
echo '<meta property="og:url" content="' . get_permalink() . '" />';
echo '<meta property="og:title" content="' . esc_attr( get_the_title() ) . '" />';
if ( has_post_thumbnail( $post->ID ) ) {
$kb_thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'large' );
echo '<meta property="og:image" content="' . esc_attr( $kb_thumbnail[0] ) . '" />';
} else
echo '<meta property="og:image" content="' . $kb_site_logo . '" />';
echo '<meta property="og:description" content="' . esc_attr( get_the_excerpt() ) . '" />';
}
}
Open Graph als WordPress-Plugin
Ihr könnt den oben gezeigten Code auch über ein Plugin integrieren. Wir haben dazu ein Plugin vorbereitet, das ihr hier herunterladen könnt. Auch Plugins wie Yoast SEO integrieren den Open Graph.
Open-Graph testen
Wenn ihr den Open Graph in eure Website integriert habt, solltet ihr prüfen ob auch die gewünschten Informationen übermittelt werden. Dazu stellen u.a. Facebook und Google einen Debugger bereit.
Mich interessiert das Gegenteil: Kann ich die Open-Graph-Infos von anderen auf meiner Webseite nutzen? Beispiel: http://www.pinkchannel.net/friedrich-merz-kanns-nicht-lassen/
Man beachte: Ich nehme oben ein Bild von Wikipedia, nehme also kein Open-Graph-Bild für den eigenen Post. Im Beitrag baue ich dann etwas Ähnliches, wie Facebook das auch macht. Gleiches Recht für alle! Ist das ok? – Wolfgang Krömer
[…] Für Experten: Im Blog kulturbanause.de wird ein PHP-Code für die funktions.php bereitgestellt, mit dessen Hilfe diese Tags automatisch in Ihre WordPress Seiten und Beiträge integriert und diese so teilbar gemacht werden: Open Graph in WordPress verwenden. […]
Hallo
Danke für den Code, der im Prinzip funktioniert. Einzig, das zugeordnete Artikelbild wird nicht korrekt angezeigt, sondern ein anderes Bild genommen.
Vielleicht haben Sie da noch einen Tipp?
Gruß
Hansjörg Leichsenring
Da hat sich wohl ein Fehler eingeschlichen. Statt go:type oder go:url sollte es doch og:type und og:url lauten.
Ansonsten schöner Beitrag. Durch diverse Plugins läuft das bei vielen WordPress Seiten automatisch im Hintergrund und viele denken nicht mehr daran, oder wissen überhaupt was das ist. Aber open graph meta-tags sind wichtig.
Hallo Christian, vielen Dank für die Info. Ich habe den eingebetteten Code und das Plugin korrigiert. Seltsamerweise scheint der Open Graph fehlertolerant zu sein?! – ich hatte das Plugin vorab getestet und die Daten sind korrekt übertragen worden. Aber so ist es natürlich korrekt jetzt.
Für mich gehört die Open-Graph-Auszeichnung mittlerweile fest zu einer Website dazu. Titel, Beschreibungstext und Bild sind frei definierbar. So bleibt es einem erspart, dass zu einem Link auf Facebook plötzlich ein völlig deplatziertes Bild angezeigt wird, nur weil dieses auch irgendwo auf der Seite steht.