2016-05-10 16 views
0

Benutzer postet ziemlich viele Bilder auf unserer Website, wir bereiten OpenGraph-Tags mit Thubs pro Empfehlungen in https://developers.facebook.com/docs/sharing/best-practices vor, immer wenn Benutzer das Bild zum allerersten Mal teilt, er sieht oft keine Vorschau. Letzter Anteil ist normalerweise gut, 2. Teilen ist auch in Ordnung.Wie man Facebook bittet ** prescrape ** meine Seiteninformationen

Debugging in https://developers.facebook.com/tools/debug/sharing sagt, dass unsere Bilder entweder über 8 MB sind oder zu lange dauern, um zu laden. Aber sie sind immer um 100-300KB und selbst die erste Anfrage, die sie jemals abruft, dauert etwa 300ms (abhängig von dem CDN-Knoten, in dem Sie sich befinden, aber definitiv keine Sekunde).

Also meine Vermutung ist, dass Facebook Crawler tatsächlich etwas Zeit benötigt, um das heruntergeladene Bild zu verarbeiten, und es kann Zeit brauchen.

Können wir irgendwie Facebook bitten, die Seite "vorzuspannen", um zu sagen, dass diese Seite wahrscheinlich geteilt wird?

Ich habe versucht, rescrape Aufruf dafür zu verwenden, aber es ergibt nichts, da der neue Link noch nie geteilt wurde.

Antwort

0

Dies ist möglich durch eine POST-Anforderung an https://graph.facebook.com mit den folgenden Parametern zu machen:

  • id: URL zu kratzen
  • schabt: true

Ein einfaches Beispiel mit jQuery:

$.post('https://graph.facebook.com', { 
    id: 'https://yourdomain.com/yoururl', 
    scrape: true 
}, function(response) { 
    console.log(response); 
}); 

Natürlich können Sie dies auch mit PHP Curl tun, hier ist Weitere Informationen dazu: How do I send a POST request with PHP?

Wenn Sie es mit JavaScript tun möchten, empfehle ich die Verwendung der Fetch API.