Die Umstellung von WordPress auf SSL bringt eigentlich nur Vorteile. Aber leider gehen dabei auch alle bisherigen Facebook Shares und Likes verloren. Denn für das soziale Netzwerk sind die http URL und die https URL 2 komplett verschiedene Seiten. Wie du dennoch die Shares wiederherstellen kannst, erkläre ich dir in diesem Beitrag.

In meinem Tutorial zur Umstellung auf HTTPS habe ich bereits erwähnt, dass es dabei zum Verlust der Share Counts kommt.
Ich selbst hätte mich damit abfinden können, aber für einige ist das ein Problem. Gerade langjährige Blogger, die viele geteilte Inhalte hatten, ärgern sich darüber. Daher habe ich mir die Sache näher angesehen.

Wieso werden die Facebook Shares nicht automatisch übernommen?

Suchmaschinen oder soziale Netzwerke bewerten den Wechsel von http zu https ähnlich wie eine Domainänderung. So muss man z.B. auch bei der Search Console die Webseite nach der SSL Umstellung als neue Property einreichen.

Bei Facebook sieht es ähnlich aus. Die Shares der alten URL (http) werden getrennt von den Shares der neuen URL (https) gezählt. Wenn die Seite nun nur noch über https zu erreichen ist, sind somit die alten Shares komplett weg. Facebook zeigt ausschließlich die Anzahl der der neuen Shares an.

Leider wird von Facebook selbst keine Möglichkeit angeboten, die Interaktionen zu übertragen. Aber mit einer manuellen Anpassung der Open Graph Informationen kann man die Facebook Shares zurückholen.

Open Graph Protocol

Über das Open Graph Protocol (OG) kannst du detaillierte Informationen zu deiner Seite an Social Networks übergeben. Wenn du ein SEO Plugin wie beispielsweise Yoast nutzt, werden diese Infos automatisch ausgegeben.

Im Quellcode eines Artikels sieht das dann so aus:

open graph info quellcode

So sehen die Open Graph Angaben im Quellcode für einen Artikel aus.

Hier siehst du alle Details zu deinen Beitrag wie beispielsweise:

  • Titel
  • Verfasser
  • URL
  • Datum
  • das zugeordnete Bild

Für die geteilten Inhalte ist vor allem das Tag og:url wichtig. Hier steht die bevorzugte URL, die beim Teilen oder Liken von Facebook gezählt werden soll.

Um die Shares vor der SSL Umstellung wiederherzustellen, musst du die og:url wieder auf die alte URL umstellen.

Also die aktuelle Beitrags-URL

<meta property="og:url" content="https://www.webtimiser.de/wordpress-portfolio-plugins-im-test/" />

wird auf die frühere Beitrags-URL umgeschrieben.

<meta property="og:url" content="http://www.webtimiser.de/wordpress-portfolio-plugins-im-test/" />

Facebook Shares wiederherstellen

Wenn du Yoast SEO verwendest, kannst du über einen Hook die og:url anpassen. Dazu musst du folgenden Code (inspiriert von dieser Diskussion) in deine functions.php einfügen. Oder noch besser: du erstellst dafür ein seitenspezifischen Plugin.

Achtung: vor Änderung an functions.php und .htaccess solltest du ein Backup machen

og:url umschreiben

function og_url_fb( $url ) {
global $post;
$pubDate = get_the_date( $d='U', $post->ID); // Artikel Datum
$sslDate = 1488240000; // Datum der Umstellung
if ((preg_match('/facebookexternalhit/i',$_SERVER['HTTP_USER_AGENT'])) &&
($pubDate < $sslDate) ){
return str_replace( 'https://', 'http://', $url );
 } else {
 return $url;
 }
}
add_filter( 'wpseo_opengraph_url', 'og_url_fb' );

Mit dieser Funktion wird folgendes erreicht:

Für alle Beiträge vor der Umstellung auf https wird ausschließlich für den Facebook Crawler die Beitrags-URL auf http gesetzt. Natürlich musst du noch den Wert für das Datum anpassen. Zur Umrechnung des Datums in den Unix-Timestamp, kannst du ein online Tool nutzen.

Facebook Crawler ansprechen

Um zu verhindern, dass eine Seite über http UND https erreichbar ist, wird ein 301 Redirect eingerichtet.
Damit aber der Facebook Bot noch die http-Version erreichen kann, musst du diesen von der Umleitung ausschließen.
Dazu musst du eine kleine Ergänzung in der .htaccess vornehmen.

#Umleitung http zu https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_USER_AGENT} !(Facebot|facebookexternalhit/1\.1) [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Facebook Sharing debugger

Nachdem du den Cache deiner Seite geleert hast, kannst du mit dem Sharing debugger deinen Beitrag testen.

facebook sharing debugger

Im Sharing Debugger sind noch die unveränderten Angaben sichtbar

Wie du siehst, gibt es 0 Shares oder Likes. Auch die URLs beginnen noch mit https. Damit die Anpassungen wirksam werden, musst du auf Erneut scrapen klicken.

Facebook Shares sind wieder da!

Nach dem erneuten Einlesen des Artikels hat der Debugger die Angaben korrigiert. Wie gewünscht hat Facebook für diesen alten Artikel nun die alte URL mit vorhandenen Shares übernommen.

debugger - erneutes scrapen

Facebook hat die OG Angaben aktualisiert und die Shares korrigiert.

Wenn du noch weitere Beiträge scapen lassen möchtest, kannst du den Batch Invalidator nutzen.

batch invalidator

Hier kannst du mehrere URLs zum Scrapen eingeben

Share Counts prüfen

Wie viele Shares hat denn dein Artikel überhaupt? Am schnellsten kannst du das über diesen Link herausfinden:

http://graph.facebook.com/?id=hier kommt die vollständige URL hin

facebook share counts

Zeigt die Anzahl der Shares oder Kommentare an

Wie wirkt sich die Änderung auf SEO aus?

Die Umleitung der OG:URL wird ausschließlich von Facebook wahrgenommen. Suchmaschinen wie Google oder Bing werden nach wie vor die korrekte Canonical Einstellungen einlesen. Daher sehe ich keine negativen Folgen aus SEO Sicht.

Wenn du eine bessere oder einfachere Methode zur Wiederherstellung der Facebook Shares kennst, freue ich mich über deinen Kommentar.