web-dev-qa-db-fra.com

J'aime Facebook - montrant la version en cache og: image, moyen de la rafraîchir ou de la réindexer?

Avoir un problème avec Facebook comme et une og: image en cache.

Pour faire court: Facebook a mis en cache une ancienne version de notre image similaire. L'URL du méta-contenu ne peut pas être modifiée. Puis-je faire quelque chose pour le rafraîchir?

Longue histoire: Le site sur lequel je travaille a une balise META pour une og: image que Facebook utilise quand une page est aimée. Cette balise META utilise la même URL d'image sur toutes les pages du site. L'image est simplement une image de marque pour le site.

Le problème est que le site a récemment mis à jour sa marque, et nous ne pouvons pas mettre à jour l'image de type Facebook. Lorsqu'un utilisateur clique sur le lien similaire, la publication qui en résulte sur Facebook affiche toujours l'ancienne image de marque.

La balise META est similaire à:

<meta property="og:image" content="http://[domain].com/images/bookmark/Apple-touch-icon.png"/>

À chaque fois qu'un semblable arrive sur Facebook, l'URL de l'image est remplacée par l'URL Facebook mise en cache, comme suit:

http://external.ak.fbcdn.net/safe_image.php?d=AQDajxm-qgVNdfEL&w=90&h=90&url=http%3A%2F%2F[domain].com%2Fimages%2Fbookmark%2Fapple-touch-icon.png

Cette URL affiche l'ancienne version de l'image de marque du site. Cela fait plus d'une semaine et n'a pas encore été mis à jour.

Existe-t-il un moyen de forcer Facebook à réindexer l'image/à vider son cache? Ou, Facebook le fait-il périodiquement automatiquement? Je n'ai trouvé aucune information pertinente à ce sujet.

Je sais que la modification de l'URL dans la balise Meta pourrait résoudre le problème, mais la balise Meta est générée par du code utilisé sur plusieurs sites et ne peut pas être modifiée. J'ai également essayé l'outil delinter comme cela m'a été suggéré par d'autres. Pas de chance.

52
FHM

Insérez votre URL dans leur linter et il devrait recharger son cache

75
genesis

Vous pouvez utiliser le débogueur d'objet de Facebook qui vous permettra d'entrer l'URL de la page, puis sur la page suivante, vous pouvez le soumettre à nouveau dans une demande de "Récupérer de nouvelles informations de raclage". Cela effacera le cache de Facebook pour l'URL donnée - pas que cela puisse prendre un certain temps pour se propager autour de tous leurs nœuds de cache.

Le débogueur d'objets de Facebook peut être trouvé ici: https://developers.facebook.com/tools/debug/

Nous avons récemment découvert que Facebook mettait en cache des URL à l'aide d'une chaîne de requête par rapport à l'URL relative et que la chaîne de requête était ignorée, ce qui a gâché quelques images dynamiques que nous servions uniquement en fonction de la chaîne de requête.

Il s'avère que vous pouvez spécifier un dernier horodatage modifié (au format d'horodatage Unix) pour garantir que lorsque FB explore votre site, il obtient toujours l'image correcte.

Cela peut être fait en incluant la balise META OG suivante:

Pour les sites dynamiques, vous voudrez générer la valeur du contenu - en utilisant PHP l'horodatage Unix actuel peut être inséré comme suit:

<meta property="og:updated_time" content="<?=time()?>" />

J'espère que cela t'aides!

21
Aran

J'ai pensé à une solution possible ... et si vous ajoutez à la fin de l'URL une chaîne aléatoire?

comme www.server.com/something.php?v=<?php echo Rand() ?> ou www.server.com/something.jpg?v=<?php echo Rand() ?>

je suppose que l'objet cahce facebook en fonction de l'url ... changer au hasard ... pourrait aider.