Snippets bei Facebook: Auslesen der Vorschau erzwingen

1357682766_facebook

Rich Snippets oder auch Open Graph Tags sind Werte, die man einer Webseite verpassen kann, damit soziale Netzwerke wissen, was sie anzeigen sollen, wenn ein Link geteilt wird. In WordPress lässt sich sowas recht simpel per Jetpack festlegen, wir ich bereits im Beitrag zu den Twitter-Cards erwähnt habe. Was auf der einen Seite recht nützlich ist, kann auf der anderen Seite gerade in Bezug auf Facebook nervig sein, denn der Facebook-Cache ist der Feind aller Tippfehler und fehlerbehafteten Verbindungen.

Schmeißt ihr bei Facebook eine URL ins Statusfenster, dann wird euch direkt angezeigt, wie euer Statuspost aussehen wird. Überschrift, Textauszug und Bild sind zu sehen. Facebook generiert diese Vorschau-Daten allerdings nur einmal live und lädt sie anschließen immer bzw. lange Zeit nur aus dem eigenen Cache, egal wer die gleiche URL nochmal teilen möchte.

Habt ihr nun zum Beispiel einen Tippfehler in der Überschrift und Facebook hat diese eingelesen, könnt ihr zwar die Statusmeldung mit der fehlerhaften Überschrift entfernen, aber beim erneuten Teilen wird euch diese wieder angezeigt. Logisch, denn Facebook erkennt die URL und lädt die Daten aus dem Cache. Ähnliches passiert, wenn Facebook beim ersten Teilen (warum auch immer) gar keine Daten zu einer URL auslesen konnte, auch das merkt sich das Netzwerk und zeigt auch beim erneuten Teilen keinerlei Snippet an. Nervig.

So, viel über das Problem gequatscht und nun kommt die Lösung, die mehr als simpel ist. Im Entwickler-Bereich hat Facebook ein Tool namens Object Debugger, das eigentlich z.B. zur Fehlerbehebung in Open Graph Tags herangezogen werden soll. Netter Nebeneffekt dieses Tools, jede URL die man dort prüft wird erneut von Facebook eingelesen und mit aktuellen Daten in den Cache gelegt. Bei fehlender Vorschau oder geänderten Daten anwenden und fertig.