Ich möchte kurz eine Erfahrung weitergeben: Ich nutze WordPress mit Jetpack. Jetpack kann wunderbar die Opengraph Tags ausspielen. Leider unterstützt Jetpack derzeit aber nicht article:author mit einer Referenz zur Facebook-Profilseite, um den Seitenautor zu benennen. Dies wollte ich hinzufügen. Folgenden Weg habe ich gefunden.
Google hat den Author-Tag ja schon viel früher eingeführt, in den Webmaster Tools sogar probehalber etabliert, leider aber wieder abgeschafft.
Dass man Autor und Publisher in den Opengraph Tags an Facebook übermitteln soll, wird derzeit überall empfohlen. Facebook kann dann nämlich die Information bei geteilten Beiträgen ergänzen. Zudem können Facebook – User dann mehr von diesem Autor abrufen. Welche Tags Facebook gerne hätte, ist hier beschrieben: https://developers.facebook.com/docs/reference/opengraph/object-type/article
Jetpack generiert ein OG Tag author (article:author), verweist aber auf das WordPress Autorenprofil. Das will Facebook nicht.
Man kann Jetpack über die Filter – Funktionalität dazu veranlassen, statt dessen einen Verweis zum Facebook Profil zu setzen. Dazu nutzt man den Filter jetpack_open_graph_tags. Oder man schreibt den Metatag brutal ins Tempate oder in die entsprechende Jetpack-php-Datei. Allerdings kann beim Update diese Änderung wieder verloren gehen.
Normalerweise wird empfohlen, Filter in der functions.php – Datei des Templates anzulegen und dort zu definieren. Ich entschied mich, ein Plugin zu benutzen, das Filter (und auch Hooks) anlegen kann. Es erzeugt ein neues Werkzeug und ich habe den Code für das author Tag dort hinterlegt. Filter in WordPress ersetzen Jetpack-Inhalte mit eigenen, zu definierenden Daten. Ich nutzte diesen Code (den jemand auf Github veröffentlichte):
add_filter( 'jetpack_open_graph_tags', function( $tags ){ // TWITTER FIXES: // wpcom defaults to the 'photo' card type for all posts but it should be 'summary' or not used at all ('summary' is default if no card type is specified.) if( is_single() && $tags['twitter:card' ] === 'photo' ) unset( $tags['twitter:card' ] ); // wpcom sets card author to @wordpresscom, you should set it to your site's twitter handle ( or the author's handle. ) if( is_single() ) $tags['twitter:creator']= sprintf( '@%s', YOUR_TWITTER_HANDLE ); // OG META FIXES // Jetpack doesn't provide a description for the homepage so use the blog's description // Jetpack uses 'article' for the site's home and 'website' is more appropriate. if( is_home() ){ $tags['og:description'] = esc_attr( get_bloginfo( 'description' ) ); $tags['og:type'] = 'website'; } // FACEBOOK ARTICLE PUBLISHER TAG SUPPORT if( is_single() ) $tags['article:publisher'] = 'https://www.facebook.com/YOUR_FACEBOOK_PAGE'; // return the modified open graph tags return $tags; });
Ich habe noch eine Ergänzung gemacht und vor der Rückgabe (also vor // return the modified open graph tags) folgendes noch ergänzt:
// FACEBOOK ARTICLE AUTHOR TAG SUPPORT if( is_single() ) $tags['article:author'] = 'https://www.facebook.com/YOUR_FACEBOOK_PROFILE';
Damit wird dann sowohl der author Tag als auch der publisher Tag mit Link zu der Facebook Seite bzw. dem Facebook Profil ausgegeben. Twitter und Publisher mit aufzunehmen, wäre wohl gar nicht nötig gewesen. Ich war dann nur zu bequem, den Code zu ändern (ich kann das nicht so gut). Dieses Vorgehen funktioniert nur, wenn man alleiniger Autor in diesem Blog ist.