Wiederkehrende Nebentätigkeiten sind lästig. Jedenfalls dort, wo Produktivität im Vordergrund steht und insbesondere im Agenturbetrieb. Zu solchen Nebentätigkeiten zählen beispielsweise die wöchentliche Aufnahme von Pizza-Sammelbestellungen für Mitarbeiter oder das manuelle Aktualisieren von Facebook Open Graph Informationen mit dem Facebook Open Graph Object Debugger.

"Lästig" bedeutet in diesem Zusammenhang vielerlei: Zur Abhandlung der Nebentätigkeit bedarf es keines besonderen Intelligenz- oder Kreativaufwandes, die Durchführung demotiviert, sie ist fad. Man muss extra an die Nebentätigkeit denken, eventuell sogar eine Checkliste anlegen damit man sie nicht vergisst - eine sogenannte Sub-Nebentätigkeit in diesem Zusammenhang. Die Nebentätigkeit lenkt ab und man verliert leicht den Fokus auf die Haupttätigkeit.

Mit dem Umgang sogenannter wiederkehrender lästiger Tätigkeiten ist man in der Webentwicklung ständig konfrontiert. Alex Killian hat in seinem Blogpost bereits ausgeführt, wie man diese redundanten Tasks speziell in der Webentwicklung begegnen kann. Redundanzen gibt es aber auch ganz generell im Agenturalltag und darüber handelt dieser Beitrag anhand eines Fallbeispiels: Ich beschreibe, wie wir automatisch Facebook Open Graph Informationen aktualisieren und somit Redundanzen in der Content-Abteilung verringern.

Das Problem

In unserer Content-Abteilung tritt häufig folgendes Szenario auf:

Der Editor veröffentlicht über sein CMS für einen Klienten eine Webpage auf dessen Webseite. Typischerweise erstellt er also einen neuen Blogeintrag oder editiert eine bereits bestehende Seite, weil der bisherige Inhalt geändert werden soll.

Der Inhalt der neuen bzw. geänderten Webpage wird dann – um die Neuigkeit zu verbreiten – über Facebook geteilt. Der Editor erstellt also einen Facebook-Post, kündigt die neue Webpage an und integriert dabei den Link zur Webpage in seine Ansage. Im Idealfall sieht der Editor nun eine Voransicht des Posts mit Vorschaubild, Titel und Beschreibung der geteilten Seite (Abb. A), häufig fehlt in der Voransicht aber das Vorschaubild (Abb. B).

Abbildung A Abb. A: Facebook Posting mit korrekter Darstellung.

Abbildung B Abb. B: Facebook Posting ohne Vorschaubild.

Dieses Verhalten des Facebook-User-Interfaces löst beim Editor ein gewisses Unbehagen aus, da er davon ausgehen muss, dass es gar kein Vorschaubild und somit auch keine Darstellung mit Bild für den Facebook-Post gibt, sobald der Teilen-Button gedrückt wird.

Was ist schief gelaufen

Der erste Verdacht, nämlich jener, dass die Entwickler der Seite die Open Graph Tags nicht gesetzt haben, erhärtet sich in den meisten Fällen nicht. Vielmehr handelt es sich zumeist um ein Facebook-Caching-Problem:

When content is shared for the first time, the Facebook crawler will scrape and cache the metadata from the URL shared. The crawler has to see an image at least once before it can be rendered. This means that the first person who shares a piece of content won't see a rendered image.

(Quellenzitat: https://developers.facebook.com/docs/sharing/best-practices#precaching)

Wer also als erster eine neue Webpage auf Facebook teilt, hat sozusagen Pech gehabt. Erst, wenn eine Seite bereits zuvor geteilt wurde oder präziser gesagt, wenn eine Seite bereits zuvor von Facebook gescrapt wurde, werden in der Voransicht alle Informationen inklusive Vorschaubild richtig dargestellt.

Als Online Agentur sind wir sehr häufig jene, die eine Seite zum ersten Mal teilen, mit diesem Problem sind wir im Agentur-Alltag also ständig konfrontiert.

Um das Problem zu beheben, muss man die Seite mit dem Facebook Open Graph Object Debugger manuell scrapen. Sarah Marshall erklärt in ihrem Blogpost, wie das geht. Diese Tätigkeit fällt jedenfalls unter die Kategorie 'lästige Nebentätigkeiten' die ich einleitend beschrieben habe, mit all ihren unangenehmen Folgen.

Automatisiertes scrapen

Um unsere Content-Abteilung von solchen Problemen zu entlasten, haben wir für WordPress, das in unserer Agentur am häufigsten verwendete CMS, das Plugin Facebook Scrape entwickelt. Es beliefert Facebook automatisch mit den aktuellen Open Graph Informationen sobald sich der Content einer unserer Webseiten geändert hat.

Dabei wird jedes Mal, wenn einen Seite veröffentlicht oder aktualisiert wird, ein Request an die Facebook API gesendet, der dafür sorgt, dass Facebook die Seite scrapt beziehungsweise re-scrapt.

Wir stellen das Plugin neben anderen nützlichen Tools auf unserem Github zur Verfügung. Das Plugin kann für die meisten Anwendungsfälle konfiguriert werden. So können optional einzelne Post Types oder einzelne Posts vom automatisierten Scrapen ausgeschlossen werden.

Weitere Benefits

Neben dem zuvor beschriebenen Problem bei dem beim ersten Teilen einer Seite kein Vorschaubild angezeigt wird, gibt es beim Teilen von Seiten noch weitere potentielle Probleme deren Auftreten durch ein automatisches scrapen verhindert wird.

Werden etwa inhaltliche Änderungen auf der Webpage vorgenommen, also das Vorschaubild, der Titel oder die Beschreibung geändert, so werden diese Änderungen beim Teilen auf Facebook in der Voransicht nicht immer zeitgleich präsentiert. So sieht man in der Vorschau etwa das alte Bild oder den alten Titel. Wenn das passiert, greift Facebook auf zuvor gecachte Daten zurück. Dadurch, dass unser Plugin bei jeder Inhaltsänderung der Seite Facebook dazu auffordert die Seite zu re-scrapen, kann man beim Teilen sicher sein, immer die aktuellen Open Graph Daten hinterlegt zu haben.

Limitationen

Webpages können übrigens nicht beliebig oft re-gescrapt werden. Hat eine Seite über fünfzig Facebook Likes, kann der Open Graph Titel nicht mehr geändert werden. Wenn sich reges Interesse an dem Plugin in Form von Kommentaren äußert, werden wir es im offiziellen WordPress Plugin Directory hosten.