Wie machen Facebook Open Graph-freundliche meta-tags mit client-side-template-engines wie AngularJS, Schnurrbart, LENKER
Laut meinen Tests Facebook die crawler nicht wiedergegeben werden, client-side-templates wie ein browser.
Möchte ich vermeiden, einen webserver und Aufbau von HTML-Dateien für das Open-Graph-Objekte auf alle Kosten. Ich möchte zum generieren der meta-tags on-the-fly über die URL, aber es scheint Facebook nicht.
Kann jemand aus Facebook bitte bestätigen? Ich fragte den Leiter des Open Graph an #mobiledevcon und Sie sagte, dass Facebook machen kann-Sachen wie {{value}}
Meine meta-tags sind wie folgt, und Sie machen Ordnung in jedem browser. Aber die Facebook Open Graph Debugger sieht nur den rohen text, nicht die interpolierten Inhalt.
<meta property="{{meta.property}}" content="{{meta.content}}">
InformationsquelleAutor arush_try.com | 2013-05-10
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn man darüber nachdenkt sollte einem klar werden, warum dies nicht funktioniert.
Den Facebook-crawler lädt die HTML, wie es ist, von dem server bedient. Die Facebook-crawler nicht ausführen von JavaScript, wie alle crawler nicht ausführen JavaScript. Dies ist aufgrund von Sicherheits-Beschränkungen und für die Geschwindigkeit der Grund (Sie haben nicht die Zeit, die Ausführung von JavaScript auf Ihrem Server.)
Es ist keine Möglichkeit, um dieses. Wenn Sie möchten, dass die crawler zu indizieren die Seite, die Sie benötigen, um Ihnen direkt, was Sie wollen, Sie zu Lesen.
Tipp: Sie könnte so etwas wie phantom.js zum Rendern Ihrer Seiten auf der server-Seite und servieren diese an den crawler.
Die Lösung ist im Grunde eine Art von server-Seite user-agent-Erkennung zu Holen, wenn ein social-media-crawler kommt.
Verwenden ?_escaped_fragment_-Methode zusammen mit einem prerender-service. Facebook respektiert die gleiche Ajax-crawler-Spezifikation als Google. Bitte sehen https://developers.google.com/webmasters/ajax-crawling/docs/specification