2013-07-31 2 views
3

Le problème est presque identique à Facebook Recommend Ignoring og:title Until Page Refreshed, mais cela n'a jamais semblé être vraiment résolu (et la solution ne nous a malheureusement pas aidé).Facebook Like Button ne montre pas de métadonnées avant

Nous avons des milliers de pages avec un bouton de type généré par programme. La toute première fois que je clique sur le bouton j'aime, les informations og-tag appropriées ne sont pas incluses dans le popup, et la fenêtre ressemble (avec URL expurgée) http://imgur.com/nWffNY1,UCI76QV#1.

Si je diffère continuellement de la page et la relance sans la rafraîchir, elle est également endommagée. Cependant, si je rafraîchis la page, ou même si j'appelle FB.XFBML.parse() depuis la console javascript, et si je ressens la page, les informations sont correctement incluses et ressemblent à l'autre image de l'album ci-dessus N'avez pas assez de réputation pour publier 3 liens :-().

Toute tentative ultérieure pour aimer une page qui a déjà été aimée (même par quelqu'un d'autre que moi-même) réussit si je saisis l'URL d'une page non aimée dans https://developers.facebook.com/tools/debug, tout semble bien, et une tentative d'alors comme la page avec succès les informations. Il semble que Facebook met en cache une fois les informations, les choses sont bonnes.

Toutes les suggestions seraient les plus appréciés!

Répondre

4

Il semble qu'une fois que Facebook met en cache l'information, les choses vont bien.

Oui, bien sûr - c'est ainsi que cela fonctionne.

Lorsque Facebook rencontre une «nouvelle» adresse URL, il y place son scraper pour y obtenir des informations. Mais dans les cas où cela est déclenché par l'utilisateur final (comme un bouton, un dialogue de flux, etc.), cela peut prendre "trop ​​long" pour que Facebook obtienne l'information - et donc l'interface ne l'attend pas, parce que ils veulent une expérience utilisateur rapide.


Ce que vous pouvez faire à ce sujet (en dehors de faire votre répondre serveur plus rapide, devrait() ce soit le goulot d'étranglement dans ce [1]!), Est de demander programme Facebook via l'API de gratter vos pages - idéalement au moment où vous ajoutez un nouveau contenu à votre site, mais vous pouvez également le faire pour des pages qui existent déjà depuis un certain temps, mais qui n'ont peut-être pas encore été supprimées.

Comment cela est fait, est décrit ici: Updating Objects. (Si vous avez l'intention de le faire en plus grandes quantités, de ce que je l'ai entendu, il devrait être conseillé d'inclure un jeton d'accès de l'application de ces appels, afin d'éviter la limitation.)


[1] Si votre serveur est le goulot d'étranglement car vous livrez grandes pages, vous pouvez également envisager de livrer les métadonnées pour vos pages sous différentes URL, de sorte que le scraper a beaucoup moins de contenu à lire sur votre serveur et peut-être que votre serveur a moins de contenu à créer dans le première place - pour cela, voir le même document lié, section "Manipulation de gros objets avec des pointeurs"

1

Ok, donc si après tout cela, votre problème n'est toujours pas résolu puis essayez de désactiver la compression de page Gzip. Dans mon cas, j'utilisais le plugin W3 Cache pour WordPress qui compressait les pages avec Gzip et supprimait efficacement les balises.

Si la solution fournie par la meilleure réponse ne fonctionne pas pour vous, essayez ceci http://peterfields.me/facebook-share-ogtitle-string-error/