Facebook Open Graph ne pas effacer le cache

J'ai des problèmes avec mes balises meta avec Open Graph. Il semble que Facebook met en cache les anciennes valeurs de mes balises meta. Les anciennes valeurs des attributs og:title et og:url sont toujours utilisées, même si je les ai déjà modifiées.

J'ai couru Lint sur une page de mon site , et ceci est apparu:

Facebook Open Graph lint capture d'écran

Notez qu'il y a deux valeurs pour og:title et og:url, et la dernière a prévalu. Cependant, les deux dernières entrées sont les anciennes entrées que j'ai utilisées pour cela site. J'utilise actuellement ces balises meta (vous pouvez vérifier si vous affichez la source du HTML):

<meta property="og:title" content="Smart og rummelig pusletaske fra Petit Amour med god plads til alt – værdi 1.099 kr – køb nu kun 599 kr   "/>
<meta property="og:description" content="Pinq.dk - Det gode liv for det halve"/>
<meta property="og:type" content="product"/>
<meta property="og:url" content="http://pinq.dk/tilbud/landsdaekkende/lissy/"/>
<meta property="og:image" content="http://pinq.dk/wp-content/themes/pinq/images/logo-top.png"/>
<meta property="og:site_name" content="Pinq" />
<meta property="fb:app_id" content="161840830532004" />

Pourquoi Facebook met-il en cache og:title et og:url? Est-ce que quelqu'un connaît le même problème?

162
demandé sur freejosh 2011-04-25 12:23:07

19 réponses

  1. Aller à http://developers.facebook.com/tools/debug
  2. Entrez l'URL suivante par fbrefresh=CAN_BE_ANYTHING

Exemples:

  1. http://www.example.com?fbrefresh=CAN_BE_ANYTHING
  2. http://www.example.com?postid=1234&fbrefresh=CAN_BE_ANYTHING
  3. ou visite: http://developers.facebook.com/tools/debug/og/object?q=http://www.example.com/?p=3568&fbrefresh=89127348912

J'avais le même problème hier soir, et j'ai obtenu cette solution d'un site web.

Facebook enregistre la vignette de votre cache. Il ne sera pas actualisé même si vous supprimez le thumnail / image de votre serveur. Mais Facebook vous permet de rafraîchir en utilisant fbrefresh

J'espère que cela aide.

295
répondu P.C. 2012-11-21 17:51:02

La question la plus votée est assez dépassée:

Ce sont les 2 seules options qui devraient être utilisés comme de novembre 2014:

Pour les non développeurs

  1. Utilisez le débogueur FB: https://developers.facebook.com/tools/debug/og/object
  2. collez l'url que vous souhaitez recache. (Assurez-vous d'utiliser la même url incluse dans votre balise og: url)
  3. Cliquez à nouveau sur le bouton Récupérer les informations de grattage

Pour Les Développeurs

  1. Faire un Obtenez un appel par programme à cette URL: https://graph.facebook.com/?id=[YOUR_URL_HERE] & scrape=true (Voir: https://developers.facebook.com/docs/games_payments/takingpayments#scraping )
  2. assurez-vous que la balise og:url incluse sur la tête de cette page correspond à celle que vous passez.
  3. Vous pouvez même analyser la réponse json pour obtenir le nombre de partages de cette URL.

Informations Supplémentaires Sur La Mise À Jour Des Images

  • Si L'URL og: image reste le même, mais l'image a effectivement changé, il ne sera pas mis à jour ni recached par Facebook grattoirs même faire ce qui précède. (même le passage d'une ?last_update=[TIMESTAMP] à la fin de l'url de l'image n'a pas fonctionné pour moi).
  • La seule solution pour moi a été d'attribuer un nouveau nom à l'image.

Note concernant les mises à jour d'images ou de vidéos sur les messages précédemment postés:

  • lorsque vous appelez le débogueur pour supprimer les modifications sur vos balises og:de votre page, toutes les Les actions Facebook de cette URL afficheront toujours l'Ancienne image / vidéo. Il n'y a aucun moyen de mettre à jour tous les messages précédents et c'est ainsi par conception pour des raisons de sécurité. Sinon, quelqu'un pourrait prétendre qu'un utilisateur a partagé quelque chose qu'il/elle n'a pas réellement fait.
70
répondu Oriol Esteban 2016-04-05 11:10:14

Si vous avez beaucoup de pages et que vous ne voulez pas les actualiser manuellement, vous pouvez le faire automatiquement.

Disons que vous avez une page de profil utilisateur avec photo:

$url = 'http://'.$_SERVER['HTTP_HOST'].'/'.$user_profile;
$user_photo = 'http://'.$_SERVER['HTTP_HOST'].'/'.$user_photo;

<meta property="og:url" content="<?php echo $url; ?>"/>
<meta property="og:image" content="<?php echo $user_photo; ?>"

Ajoutez simplement ceci à votre page:

// with jQuery
$.post(
    'https://graph.facebook.com',
    {
        id: '<?php echo $url; ?>',
        scrape: true
    },
    function(response){
        console.log(response);
    }
);

// with "vanilla" javascript
var fbxhr = new XMLHttpRequest();
fbxhr.open("POST", "https://graph.facebook.com", true);
fbxhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
fbxhr.send("id=<?php echo $url; ?>&scrape=true");

Cela rafraîchira le cache Facebook. Si vous utilisez la solution jQuery, jetez un oeil à "response" dans la console.log-vous y trouverez le champ" updated_time " et d'autres informations utiles.

18
répondu Zhorzh Alexandr 2015-10-25 19:11:19

La vignette OG ne semble pas s'actualiser même en passant la variable fbrefresh. Pour mettre à jour cela sans attendre la compensation automatisée, vous devrez changer le nom de fichier de la valeur de la balise meta associée à la vignette et actualiser.

11
répondu Seb 2012-12-12 16:13:32

Fondamentalement, la réponse est patience;)

J'ai vérifié le Linter ce matin, et og: title et og: url s'affichent correctement, sans les valeurs redondantes. Je suppose que FaceBook efface automatiquement son cache à un intervalle spécifique. J'ai juste à attendre.

entrez la description de l'image ici

6
répondu Ardee Aram 2011-04-26 00:44:04

Facebook facebook efface automatiquement le cache toutes les 24 heures: en fait, facebook gratte les pages et met à jour le cache toutes les 24 heures https://developers.facebook.com/docs/reference/plugins/like/#scraperinfo .

4
répondu kbsbng 2012-01-19 04:25:40
  1. Visitez la page FB https://developers.facebook.com/tools/debug/og/object/
  2. Entrez votre domaine.
  3. Cliquez sur le bouton "Récupérer de nouvelles informations de grattage"
  4. Fait
4
répondu Cropis 2014-11-11 18:06:51

Nous avons juste rencontré ceci, car il s'avère que nous n'étions pas en train de rayer la bonne url, puisque l'url réelle avait une chaîne de requête(duh, page différente en ce qui concerne un bot).

http://example.com/

!==

http://example.com/?utm_campaign=foo

Le linter va recache votre page, vous n'avez pas à attendre.

3
répondu Ryan Florence 2011-05-09 21:43:29

Ooook, enfin ça a aidé (j'utilise IP.Bord). Ce que je devais faire était:

  1. Changer l'url de og: image sur mon site (Configuration générale).
  2. Essayez cette méthode avec ?fbrefresh = 1154464gd56

Merci à l'auteur pour ce fil!

EDIT: de plus, vous devez vous souvenir des exigences d'image. Pour l'instant (janvier 2013), c'est: - au moins 200 px dans les deux sens - rapport maximum 3: 1

3
répondu Matt 2013-01-18 20:50:10

Une chose à ajouter, l'url est sensible à la casse. Notez que:

Apps.facebook.com/BONJOUR

Est différent dans les yeux du linter alors

Apps.facebook.com/bonjour

Assurez-vous d'utiliser l'url exacte du site qui a été saisie dans les paramètres du développeur de l'application. Le linter retournera les propriétés sinon mais n'actualisera pas le cache.

2
répondu Justin 2012-02-02 16:44:18

J'ai eu les mêmes problèmes en utilisant og:image, plusieurs tentatives pour renommer le fichier ou effacer le cache FB n'ont pas fonctionné soit via le débogueur facebook, soit via un compte réel.

Les nouvelles directives de facebook indiquent que la taille de l'image devrait être 1200 x 630 ou avoir ce rapport d'aspect, cela semble être faux, la seule chose qui a fonctionné pour moi était d'utiliser une image avec dimensions carrées.

Edit * Afew heures je suis retourné à utiliser 1200 x 630 et ça a fonctionné comme par magie, c'était magique.

J'ai également renommé les fichiers en f * ^ * kfacebook.jpg, pas sûr que cela a aidé, mais il se sentait bien.

2
répondu Wyck 2014-07-13 15:03:29

Je suis désolé les gens mais la bonne réponse est:

Il N'y a pas de moyen infaillible de mettre à jour l'url open graph og:image avec un résultat immédiat. Il est mis en cache jusqu'à ce que les mises à jour fb (apparemment toutes les 24 heures)

Voici des choses qui ont été signalées à travailler par d'autres, mais je N'ai eu aucun succès avec l'un d'eux.

  • choisir "récupérer de nouvelles informations de grattage"
  • Modification du nom de fichier de l'image réelle et / ou suppression de l'original
  • Ajout d'une chaîne de requête à l'url de l'image en ajoutant un horodatage PHP ou ?tout
  • ajouter le "...yoursite.com/?fbrefresh=anything " chaîne de requête à l'url de récupération du débogueur
  • choisir le lien API graphique en bas de la page og dev
  • choisir de voir exactement ce que le grattoir voit - ne semble pas demander des données de grattage Non mises en cache en temps réel, il affiche toujours l'url de l'image mise en cache même si le fichier n'existe plus

Inspecter votre code est toujours un endroit sur le moyen de le confirmer pas un problème avec le cache du navigateur ou un service de mise en cache. Si les méta-informations sont à jour dans votre code et que vous avez essayé tout ce qui précède (à moins qu'une autre suggestion ne se concrétise), la bonne réponse est vous ne pouvez rien faire d'autre que d'attendre.

2
répondu Philip Ingram 2017-01-12 17:16:20

J'ai découvert que si votre image est 72dpi, elle vous donnera l'erreur de taille de l'image. Utilisez 96dpi à la place. Espérons que cette aide.

1
répondu Gordon 2013-11-15 09:34:25
  1. Aller à http://developers.facebook.com/tools/debug

  2. Collez l'url de la page et cliquez sur déboguer. Si votre site utilise des alias d'url assurez vous d'utiliser la même url que Facebook utilise pour la page que vous partagez (exemple: dans Drupal, utilisez le node/* path au lieu de l'alias si la page est partagée via URL).

  3. Cliquez dans la partie "aperçu du partage" sur le lien "Voir ceci dans la boîte de dialogue de partage"
1
répondu Hans Rossel 2014-06-28 18:20:23

Facebook Developer Documents indique que la propriété title a une exception:

Une fois que 50 actions (likes, partages et commentaires) ont été associées à un objet, vous ne pourrez pas mettre à jour son titre

Https://developers.facebook.com/docs/sharing/opengraph/using-objects#update

1
répondu moogoo 2016-10-12 07:02:56

Avait une expérience similaire. Le lien du site web montrait un 404 dans l'aperçu généré par facebook. Il s'avère que les métadonnées og: url étaient fausses. Nous l'avions déjà corrigé Il y a quelques jours mais nous voyions toujours un 404 sur l'aperçu. Nous avons utilisé l'outil à https://developers.facebook.com/tools/debug/ et cela a forcé l'actualisation (n'a pas eu à ajouter de paramètres d'ailleurs) Dans notre cas, Facebook n'a pas actualisé le cache après 24 heures, mais l'outil a aidé à le forcer.

0
répondu jawss510 2013-06-03 02:58:22

C'est un cache, ofc il rafraîchit, c'est ce que cache est à faire de temps en temps. Donc, l'attente finira par fonctionner, mais parfois vous devez le faire plus rapidement. Changer le nom de fichier fonctionne.

0
répondu Srneczek 2013-09-27 20:27:13

J'avais ce problème aussi. Le grattoir affiche les bonnes informations, mais l'url de partage était toujours remplie avec d'anciennes données.

La façon dont j'ai contourné cela était d'utiliser la méthode feed, au lieu de share, puis de remplir les données manuellement (ce qui n'est pas exposé avec la méthode share)

Quelque Chose comme ceci:

shareToFB = () => {
    window.FB.ui({
    method: 'feed',
    link: `signup.yourdomain.com/?referrer=${this.props.subscriber.sid}`,
    name: 'THIS WILL OVERRIDE OG:TITLE TAG',
    description: 'THIS WILL OVERRIDE OG:DESCRIPTION TAG',
    caption: 'THIS WILL OVERRIDE THE OG:URL TAG'
  });
};
0
répondu Peege151 2016-04-04 17:22:47

Pour moi, toutes les solutions n'ont pas fonctionné. J'ai découvert si vous utilisez Wordpress avec Yoast SEO alors vous devez actualiser ces deux tags:

<meta property="article:modified_time" content="2017-09-29T00:37:33+02:00" />
<meta property="og:updated_time" content="2017-09-29T00:37:33+02:00" />

Pour actualiser les valeurs, vous devez soumettre toute modification à l'article. Si vous ne modifiez pas cette date, le cache facebook ne sera pas actualisé.

Vous pouvez également désactiver ces balises supplémentaires en ajoutant des filtres dans functions.php:

add_filter( 'wpseo_og_article_published_time', '__return_false' );
add_filter( 'wpseo_og_article_modified_time', '__return_false' );
add_filter( 'wpseo_og_og_updated_time', '__return_false' );
0
répondu Karol Trybulec 2017-09-28 22:55:28