2017-12-07 6 views
0

Ich habe vor kurzem auf einem MEAN Stack-Anwendung, eine Art von Blog in einer Weise, wo Autoren Beiträge geschrieben. Um das Problem zu lösen, dass OpenGraph-Anwendungen kein Javascript scrappen, habe ich eine statische PHP-Seite und eine Regel auf meinem Nginx-Reverse-Proxy implementiert, die alle Aufrufe von bestimmten User-Agents (wie Facebook, Google+, Twitter, etc.) auf die statische Seite umleitet um die Daten ordnungsgemäß zu löschen.Facebook/Twitter OpenGraph nicht scraping Bilder auf Node.js/Angular.js Web-Anwendung

Alles funktioniert gut, bis auf ein kleines Detail, die OpenGraph basierten Anwendungen können nicht in der Lage sein, die Bilder in den Artikeln zu kratzen, so dass die reiche soziale Freigabe nicht wie erwartet funktioniert.

Zum Beispiel testet den folgenden Link: https://moveramontanha.pt/article/5a21539cfdebb1074ed1436d

, die auf die statische Seite umleitet:

https://www.moveramontanha.pt/static_mam.php?id=5a21539cfdebb1074ed1436d

  • Facebook Sharing Debugger gibt die folgenden Fehler aus - zufällig:

Unsup portierte Bilddateierweiterung bereitgestellt og: image URL, https://www.moveramontanha.pt/uploads/authors/1512141975423.jpg hat keine unterstützte Erweiterung.

oder

Die zur Verfügung gestellten 'og: image' Eigenschaften sind noch nicht verfügbar, weil neue Bilder asynchron verarbeitet werden. Um sicherzustellen, dass die Freigaben für neue URLs ein Bild enthalten, geben Sie die Abmessungen mit 'og: image: width' und 'og: image: height' Tags an.

  • Twitter Karte Validator Log: (Kein Bild)

INFO: Seite geholt erfolgreich INFO: 17 Metatags wurden gefunden INFO: twitter: card = Zusammenfassung Tag INFO gefunden: Karte geladen erfolgreich WARNEN: diese Karte zu umgeleitet wird https://www.moveramontanha.pt/static_mam.php?id=5a21539cfdebb1074ed1436d

ich habe versucht add zusätzliche Tags wie Bildbreite/-höhe, geändertes Bildformat, sichere Tags, etc. Nichts funktionierte.

Hat jemand anderes über ein solches Problem gestolpert?

Vielen Dank im Voraus!

+1

Nicht sicher, ob das die richtige Fehlermeldung ist (Debug-Tool vermasselt manchmal auch) - in jedem Fall ist Ihr Bild zu klein, die minimale Größe für Facebook OG Bilder ist 200 von 200 px. – CBroe

Antwort

1

Für den Karten-Crawler von Twitter gibt es eine detaillierte Problembehandlung FAQ here und here.

Ich habe gerade versucht, die folgende Anfrage um das Bild auf der Seite verwiesen zu holen:

curl -L -A Twitterbot -v https://www.moveramontanha.pt/uploads/authors/1501255270817.jpg

Dies gibt eine HTML-Seite, nicht ein JPEG-Bild.Dies bedeutet, dass der Karten-Crawler von Twitter kein gültiges Image abrufen kann.

Sie sollten Ihren Server reparieren, um ein gültiges JPEG-Bild an den Twitterbot-Benutzer-Agent zu senden.

+1

natürlich, die Nginx Reverse-Proxy-Engine richtet jede Twitter/Facebook User-Agent-Anfrage auf die entsprechende PHP-Seite, unabhängig von der Erweiterung! Ich bin mir ziemlich sicher, dass dies die Lösung für das Problem ist, erlauben Sie den Bots, direkt zu den Bildern zu crawlen, anstatt den gesamten Traffic von diesen User-Agenten an die statische Seite weiterzuleiten! –