web-dev-qa-db-fra.com

La carte Twitter [summary_large_image] ne pas afficher l'image

J'ai mis en place une série de cartes Twitter pour mon site Web.

Le type de carte Twitter est [summary_large_image].

La méta-information incluse dans le <head> de ma page Web est:

<meta name="Twitter:card" content="summary_large_image" />
<meta name="Twitter:site" content="@myTwitterAccount" />
<meta name="Twitter:creator" content="@myTwitterAccount" />

<meta name="Twitter:image:src" content="http://example.com/social/Twitter/large_image.png" />
<meta name="Twitter:image:width" content= "280" />
<meta name="Twitter:image:height" content= "480" />

<meta property="og:image" content="http://example.com/social/Twitter/large_image.png" />
<meta property="og:image:width" content= "280" />
<meta property="og:image:height" content= "480" />

<meta property="og:url" content="http://example.com/myfolder/mysubfolder/" />
<meta property="og:title" content="My Page Title" />
<meta property="og:description" content="My Page Description" />

Je reconnais qu'il y a une redondance dans le balisage ci-dessus - avant la configuration actuelle, j'ai essayé d'ajouter et de supprimer un nombre quelconque de og: & Twitter:meta éléments à produire (moins redondant ) combinaisons alternatives ...

Twitter a examiné et ajouté à la liste blanche mon domaine pour les cartes Twitter [summary_large_image].

Le Twitter Card Validator renvoie le journal suivant:

INFO:  Page fetched successfully
INFO:  19 metatags were found
INFO:  Twitter:card = summary_large_image tag found
INFO:  Card loaded successfully

Tous les éléments de la carte s’affichent parfaitement sur le validateur et sur mon propre flux Twitter, sauf que ...

... L'image n'est pas là.

J'ai réussi à faire afficher l'image une fois sur mon ordinateur portable (mais plus jamais, et je ne suis pas sûr de ce que j'ai fait différemment une fois).

L'affichage de l'image sur l'application native iOS iOS Twitter n'est jamais un problème - l'image s'affiche toujours sur l'application.

Des pointeurs? Merci.

6
Rounin

Il semble y avoir deux considérations clés à prendre en compte avant que l'image ne s'affiche pour la carte Twitter [summary_large_image]:

1) Les dimensions de l'image doivent être conformes (au moins) à la largeur minimale (280px) et à la hauteur minimale (150px). Toute plus étroite ou plus courte et l'image ne s'affichera pas.

2) Une page ne peut (semble-t-il) référencer une image pour sa carte Twitter [summary_large_image], à laquelle la carte Twitter [summary_large_image] d'une autre page a déjà référencée. Si cela tente, l'image ne s'affichera pas. (Cette restriction ne s'applique pas à l'application Twitter native pour iOS iOS.)

La façon dont j'ai contourné la restriction 2) consiste à utiliser la fonction PHP

uniqid()

ajouter une chaîne alphanumérique aléatoire à la fin de

http://example.com/social/Twitter/large_image.png

de sorte que tout l'élément méta se lit:

echo '<meta property="og:image" content="http://example.com/social/Twitter/large_image.png?'.uniqid().'" />';
8
Rounin