382 Stimmen

FB OpenGraph og:image zieht keine Bilder (möglicherweise https?)

Facebook kann meine Gedanken nicht fassen og:image Dateien, und ich habe alle üblichen Lösungen ausprobiert. Ich fange an zu glauben, dass es etwas mit folgenden Dingen zu tun haben könnte https://...

  • Ich habe geprüft http://developers.facebook.com/tools/debug und haben keine Warnungen oder Fehler.
  • Es findet die Bilder, die wir in der " og:image ", aber sie werden leer angezeigt. Wenn wir auf das Bild/die Bilder klicken, sind sie jedoch vorhanden und wir werden direkt zu ihnen geführt.
  • Es wird ein Bild angezeigt - ein Bild, das auf einem Nicht-https-Server gehostet wird.
  • Wir haben es mit quadratischen Bildern, jpegs, pngs, größeren und kleineren Formaten versucht. Wir haben die Bilder direkt in public_html eingefügt. Es werden keine angezeigt.
  • Es handelt sich nicht um einen Caching-Fehler, denn wenn wir eine weitere og:image zu den Metadaten, der Linter von FB findet und liest das. Es wird eine Vorschau angezeigt. Die Vorschau ist leer. Die sólo Die Ausnahme, die wir erhalten, betrifft Bilder, die sich nicht auf dieser Website befinden.
  • Wir dachten, es gäbe vielleicht etwas gegen Laugen. cpanel oder die .htaccess die verhindert hat, dass die Bilder angezeigt werden, also haben wir es überprüft. Da war nichts. Wir haben sogar eine schnelle < img src="[remote file]" > auf einem völlig anderen Server und das Bild wird problemlos angezeigt.
  • Wir dachten, es sei vielleicht die og:type oder eine andere Merkwürdigkeit mit einem anderen Meta-Tag. Wir haben sie alle entfernt, einen nach dem anderen, und es überprüft. Keine Veränderung. Nur Warnungen.
  • Derselbe Code wird auf einer anderen Website ohne Probleme angezeigt.
  • Wir dachten vielleicht es war nicht ziehen Bilder, weil wir die gleiche Produktseite (n) für mehrere Produkte (ändern Sie es auf der Grundlage der get-Wert, dh, "details.php?id=xxx"), aber es ist immer noch in ein Bild (von einem anderen url) ziehen.
  • Das Verlassen einer og:image oder image_src aus, findet FB keine Bilder.

Ich bin mit meinen Kräften am Ende. Wenn ich sagen würde, wie viel Zeit ich und andere damit verbracht haben, wären Sie schockiert. Das Problem ist, dass dies ein Online-Geschäft ist. Wir können auf keinen Fall KEINE Bilder haben. Wir müssen es. Wir haben etwa zehn andere Seiten... Dies ist die einzige mit og:image Probleme. Es ist auch das einzige auf https Deshalb dachten wir, das könnte das Problem sein. Aber wir können nirgendwo im Internet einen Präzedenzfall dafür finden.

Dies sind die Meta-Tags:

<meta property="og:title" content="[The product name]" /> 
<meta property="og:description" content="[the product description]" /> 
<meta property="og:image" content="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-details-black.png" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-art-black.png" />
<meta property="og:image" content="http://www.[ADIFFERENTwebsite].com/wp-content/uploads/2011/06/ARS-Header-Shine2.png" />
<meta property="og:image" content="https://www.[ourwebsite].com/images/ARShopHeader.png" />
<meta property="og:image" content="http://www.[ourwebsite].com/overdriven-blues-music-tshirt-art-black.JPG" />
<meta property="og:type" content="product"/>
<meta property="og:url" content="https://www.[ourwebsite].com/apparel-details.php?i=10047" />
<meta property="og:site_name" content="[our site name]" />      
<meta property="fb:admins" content="[FB-USER-ID-NUMBER]"/>
<meta name="title" content="[The product name]" />
<meta name="description" content="[The product description]" />
<link rel="image_src" href="https://www.[ourwebsite].com/images/shirts/overdriven-blues-music-tshirt-details-black.png" />
<meta name="keywords" content="[four typical keywords]">
<meta name="robots" content="noarchive">

Falls Sie es wünschen, hier ist ein Link zu einer unserer Produktseiten, an der wir gearbeitet haben. [Link gekürzt, um zu verhindern, dass er in den Suchergebnissen für unsere Website erscheint]: http://rockn.ro/114

EDIT ----

Mit Hilfe des Scraper-Tools "see what facebook sees" konnten wir Folgendes feststellen:

"image": [          
      {
         "url": "https://www.[httpSwebsite].com/images/shirts/soul-man-soul-music-tshirt-details-safari.png"
      },
      {
         "url": "https://www.[httpSwebsite].com/images/shirts/soul-man-soul-music-tshirt-art-safari.png"
      },
      {
         "url": "http://www.[theotherNONSECUREwebsite].com/wp-content/uploads/2011/06/ARS-Header-Shine2.png"
      }
   ],

Wir haben alle gefundenen Links für eine einzelne Seite getestet. Alle waren absolut gültige Bilder.

EDIT 2 ----

Wir haben einen Test durchgeführt und eine Subdomain zur NONSECURE-Website (von der aus die Bilder tatsächlich über Facebook sichtbar sind). Die Unterdomäne war http://img.\[nonsecuresite\].com. Wir haben dann alle Bilder in den Hauptordner der Subdomain gelegt und auf diese verwiesen. Diese Bilder wurden nicht in FB übernommen. Allerdings wurden alle Bilder, die auf der unsicheren Hauptdomain referenziert wurden, weiterhin abgerufen.

GEPOSTETE ABHILFE ----

Dank Keegan wissen wir jetzt, dass dies ein Fehler in Facebook ist. Um das Problem zu umgehen, haben wir eine Subdomain auf einer anderen NICHT-HTTPS-Website eingerichtet und alle Bilder dorthin verschoben. Wir referenzierten die koordinierenden http://img.otherdomain.com/[like-image.jpg] Bild in og:image auf jeder Produktseite. Wir mussten dann durch FB Linter gehen und JEDEN Link ausführen, um die OG-Daten zu aktualisieren. Dies funktionierte, aber die Lösung ist ein Notbehelf, und wenn die https Problem behoben ist und wir wieder die natürliche https-Domäne verwenden, hat FB die Bilder von einer anderen Website in den Cache gestellt, was die Sache verkompliziert. Hoffentlich helfen diese Informationen, jemandem 32 Stunden Programmierarbeit zu ersparen. ihre Leben.

0voto

racitup Punkte 349

Ich hatte Mühe, eine Antwort auf diese Frage zu finden, und erhielt diese rätselhafte Fehlermeldung von LinkedIn:

Beim Versuch, auf die URL zuzugreifen, ist ein SSL-Verbindungsfehler aufgetreten. Bitte überprüfen Sie, ob die Website eine optimale Größe verwendet, die kompatibel ist mit mit Java 8 kompatibel ist, oder wenden Sie sich mit der URL des Inhalts an den Support.

Die Antwort war, dass, obwohl ich sowohl TLSv1.2 als auch TLSv1.3 in nginx aktiviert hatte, TLSv1.2 aufgrund meiner Chiffrierliste nicht verfügbar war wie von diesem Checker überprüft . Es scheint, dass sowohl Facebook als auch LinkedIn TLSv1.2 verwenden, um Vorschauen zu erstellen (Stand: November 2022).

Ich musste nginx wie folgt aktualisieren zur ersten Antwort auf diesen Beitrag :

ssl_protocols TLSv1.3 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM,EDH+AESGCM";

0voto

Frog Pr1nce Punkte 702

OK... Mir ist klar, dass dieser Thread alt und überfüllt ist, aber für den Fall, dass jemand wie ich damit kämpft, dass sein og:image-Tag in Facebook richtig funktioniert, hier der Trick, der bei mir funktioniert hat:

benutzen Sie NICHT diesen Link:

https://developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2Fwww.google.com

um Ihr Problem zu lösen. Oder Sie scrollen sofort nach unten und klicken auf Scrape VIA API.

https://developers.facebook.com/tools/explorer/?method=POST&path=%3Fscrape%3Dtrue%26id%3Dhttps%3A%2F%2Fwww.google.com&version=v5.0

Im Explorer-Tool werden Fehler angezeigt, die im "Debug"-Tool NICHT angezeigt werden. Irrsinnig!!! (In meinem Fall hat ein Leerzeichen im Dateinamen des Bildes mein Bild im Debug-Tool stillschweigend gelöscht, aber im Explorer-Tool wurde der Fehler angezeigt).

0voto

Aurovrata Punkte 1548

Ich bin auf einen weiteren Grund gestoßen, warum OG-Bilder nicht auf FB-Karten angezeigt werden können. Außerdem, mit dem FB Scraper Tool zum Debuggen der OG-Meta-Tags konnte ich alle Informationen bestätigen. erforderliche Tags auf meiner WordPress-Seite vorhanden waren, und dennoch erhielt ich den folgenden Fehler beim Herunterladen der Datei,

Das bereitgestellte og:image, < https-link-to-jpg-image > konnte nicht heruntergeladen werden. Dies kann aus verschiedenen Gründen geschehen, z.B. wenn Ihr Server nicht unterstütztes Content-Encoding verwendet. Der Crawler akzeptiert die Inhaltskodierungen deflate und gzip.

Ich hatte das vage Gefühl, dass es ein Problem mit dem Bildformat gab. Der Link zum Bild funktionierte, aber die Meldung scheint auf ein Problem mit der Inhaltskodierung hinzuweisen.

Nach langem Suchen bin ich auf die php Erweiterungen, die für einen WordPress-Server erforderlich sind und stellte fest, dass das pho-exif-Modul nicht installiert war. Das exif-Modul schreibt Exif-Metadaten für alle hochgeladenen Bilder. Infolgedessen waren den Bildern, die im FB og image tag verwendet wurden, keine Exif-Metadaten zugeordnet.

Sobald das Exif-Modul aktiviert ist, können in WordPress die Exif-Metadaten für ein Bild zurückgesetzt werden (Mediathek->Bild auswählen->Weitere Details bearbeiten->Exif-Metadaten zuordnen) und das Bild erscheint nun wie erwartet auf der FB-Karte.

0voto

stevec Punkte 25346

Ich bin hier gelandet, weil ein aktualisiertes Facebook-Meta-Tag-Bild nicht auf Facebook-Shares angezeigt wurde.

Für alle anderen, die sich in dieser Situation befinden, war der Grund einfach der, dass man Facebook bitten muss, die Ihre Website erneut scrapen .

Sobald Sie dies getan haben, wird es wie erwartet erscheinen.

0voto

Aaron J Punkte 261

Ich benutze cloudfront Verteilungen, die auf s3 Bucket zeigen, um statische Bilder zu dienen... meine cloudfront Ursprünge sind so eingestellt, dass sie http auf https umleiten... also vielleicht hat das etwas damit zu tun?

Trotzdem...

Die Aktualisierung von og:image von https auf http hat das Problem für mich gelöst, die Bilder werden jetzt in Facebook-Posts mit Links zu meiner Website gepostet.

UPDATE: Das oben beschriebene Verhalten trat weiterhin auf... jedes Mal, wenn ich die og:image url änderte oder meinen cloudFront-Cache ungültig machte, funktionierte das Bild im FB-Debugger, aber das Bild wurde nie auf FB angezeigt.

Ich fügte ein neues Verhalten für meinen og:image-Endpunkt hinzu und setzte min ttl, max ttl und default ttl auf 0. Und jetzt funktioniert alles großartig... nicht ideal, da ich es lieber im Cache hätte, aber anscheinend kann FB die Cloudfront 304 Antwort nicht verarbeiten?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X