Partage de Facebook ne montrant pas d'image à partir de métatags de graphiques ouverts

J'essaie d'intégrer le bouton de partage de Facebook au site de mon employeur, le titre, l'URL, la description / l'intro sont tous affichés correctement, mais aucune image n'est attachée. Lorsque la boîte de dialogue de partage s'ouvre, un conteneur d'image clignote et disparaît comme si Facebook tente de traiter l'image mais échoue.

J'utilise og: image et une relation de lien pour essayer de spécifier l'image à utiliser pour les liens partagés:

<meta property="og:image" content="/images/logo_white_150px.png" /> <link rel="image_src" type="image/png" href="/images/logo_white_150px.png" /> 

Cette image avait l'habitude de travailler (elle a été adaptée de façon appropriée), mais elle ne l'est plus, j'ai également essayé d'autres images de taille et de format différents sans chance.

Voici les méta-tags ouverts que j'utilise dans l'en-tête:

 <!DOCTYPE html> <html xmlns:fb="http://ogp.me/ns/fb#" itemscope itemtype="http://schema.org/Article" xmlns:og="http://ogp.me/ns#"> <head> <meta property="og:type" content="landing page" /> <meta property="og:title" content="Social Media Test Page" /> <meta property="og:description" content="This is a page for testing the behavior of social media buttons..." /> <meta property="og:image" content="/images/logo_white_150px.png" /> <link rel="image_src" type="image/png" href="/images/logo_white_150px.png" /> <meta property="og:image:type" content="image/png" /> <meta property="og:url" content="<%=shortUrl%>" /> <meta property="og:site_name" content="site name" /> <meta property="og:medium" content="mult" /> </head> 

Voici le JavaScript que j'utilise au début du corps:

  <body> <script type="text/javascript"> (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); } (document, 'script', 'facebook-jssdk')); </script> ... 

Et voici comment j'utilise le bouton:

  <div class="left" style="text-align: center;"> <a name="fb_share" type="button" share_url="<%=shortUrl%>">Share</a> <script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script> </div> 

Toute aide est très appréciée, merci d'avance
Chris.

Si tout est correct sur le résultat scraqué, essayez de récupérer de nouvelles informations sur les déchets via Facebook Debugger .

C'est parce que Facebook utilise son propre cache pour og: data.

Sans voir la sortie HTML de votre code, je ne pouvais que réfléchir au problème. N'utilisez pas une URL relative comme <%=shortUrl%> , mais n'oubliez pas d'utiliser l'URL entièrement qualifiée … quelque chose qui a les http (s): // sur elle.

De plus, http://developers.facebook.com/docs/share/ indique que ce bouton de partage est en train d'être obsolète. Passez à l'aide du bouton À la place: http://developers.facebook.com/docs/reference/plugins/like/

Dans mon expérience :

  • Toutes les URL doivent être absolues (même l'og: valeur d'image)
  • Si votre image est diffusée de manière égale sur https, vous devez ajouter une image og: image: secure_url meta property with absolute url aussi (si vous ne servez que tout sur https, vous pouvez l'ignorer)
  • Ajoutez aussi une image og: image: largeur et og: image: meta méta meta

La redirection principale de l'urne est très délicate, vous devez absolument s'assurer que votre contenu est correctement (et entièrement) récupéré, pour un contenu dynamique complexe, je finis souvent par effectuer une détection dans le fichier .htaccess pour servir le contenu approprié du robot de navigation de FB comme suit:

 RewriteEngine On RewriteCond %{HTTP_USER_AGENT} facebookexternalhit/[0-9] RewriteRule ^(.*)$ OG_GENERATOR_SCRIPT_HERE.php [L,QSA]