J'ai des problèmes avec mes balises méta avec Open Graph. Il semblerait que Facebook mette en cache d'anciennes valeurs de mes balises méta. Les anciennes valeurs pour les attributs og:title
et og:url
sont toujours utilisées, même si je les ai déjà modifiées.
J'ai lancé Lint sur ne page de mon site , et ceci est apparu:
Notez qu'il existe 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 ce site. J'utilise actuellement ces balises méta (vous pouvez vérifier si vous affichez la source du code 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 cache-t-il og:title
et og:url
? Est-ce que quelqu'un connaît le même problème?
fbrefresh=CAN_BE_ANYTHING
Exemples:
http://www.example.com?fbrefresh=CAN_BE_ANYTHING
http://www.example.com?postid=1234&fbrefresh=CAN_BE_ANYTHING
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 sur un site Web.
Facebook enregistre votre vignette de cache. Il ne s'actualisera pas même si vous supprimez la colonne/l'image de votre serveur. Mais Facebook vous permet d'actualiser en utilisant fbrefresh
J'espère que ça aide.
La question la plus votée est assez dépassée:
Ce sont les 2 seules options qui devraient être utilisées à partir de novembre 2014 :
Si vous avez plusieurs 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 actualisera le cache Facebook. Si vous utilisez la solution jQuery, jetez un oeil à "réponse" dans console.log - vous y trouverez le champ "updated_time" et d'autres informations utiles.
La vignette OG ne semble pas s'actualiser, même si vous transmettez la variable fbrefresh. Pour mettre à jour cette information sans attendre l'effacement automatique, vous devez modifier le nom de fichier de la valeur de balise méta associée à la vignette et l'actualiser.
J'ai eu les mêmes problèmes avec og:image
, plusieurs tentatives de renommer le fichier ou d'effacer le cache FB n'ont pas fonctionné via le débogueur de facebook ou lors des tests via un compte réel.
Les nouvelles directives de Facebook indiquent que la taille de l'image doit être de 1200 x 630 ou ayant ce rapport d'aspect, cela semble être faux, la seule chose qui a fonctionné pour moi a été d'utiliser une image avec dimensions carrées.
Edit * Quelques heures, je suis retourné à l’utilisation de 1200 x 630 et cela a fonctionné comme par magie, c’était magique.
J'ai également renommé les fichiers en f * ^ * kfacebook.jpg, je ne suis pas sûr que cela ait aidé, mais c'était agréable.
Fondamentalement, la réponse est la patience;)
J'ai vérifié le Linter ce matin, et og: title et og: url s'affiche correctement, sans les valeurs redondantes. Je suppose que FaceBook efface automatiquement son cache à un intervalle spécifique. Je dois juste attendre.
Ooook, finalement ça a aidé (j'utilise IP.Board). Ce que je devais faire était:
Merci à l'auteur pour ce fil!
EDIT: De plus, vous devez vous rappeler des exigences d’image. Pour le moment (janvier 2013), il s'agit: - d'au moins 200 px dans les deux sens - rapport maximum 3: 1
Nous nous sommes heurtés à ce problème car il se trouvait que nous ne lintignions pas l'URL correcte, car la véritable URL 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 will remettra en cache votre page, vous n'avez pas à attendre.
Oui, facebook efface automatiquement le cache toutes les 24 heures: en fait, Facebook efface les pages et met à jour le cache toutes les 24 heures https://developers.facebook.com/docs/reference/plugins/like/ #scraperinfo .
Je suis désolé les gars, mais la bonne réponse est:
Il n'y a pas de moyen infaillible de mettre à jour le graphique ouvert og: URL de l'image avec le résultat immédiat. Il est mis en cache jusqu'à ce que fb soit mis à jour (toutes les 24 heures)
Voici ce qui a été rapporté par d’autres personnes, mais j’ai eu aucun succès avec aucun d’eux.
L'inspection de votre code est toujours un moyen de confirmer qu'il ne s'agit pas d'un problème lié au cache du navigateur ou à un service de mise en cache. Si la méta-information est à jour dans votre code et que vous avez essayé toutes les solutions ci-dessus (à moins qu'une autre suggestion ne se concrétise), la réponse correcte est , vous ne pouvez rien faire d'autre que d'attendre .
Une chose à ajouter, l'URL est sensible à la casse. Notez que:
apps.facebook.com/HELLO
est différent aux yeux du linter puis
apps.facebook.com/hello
Veillez à utiliser l'URL exacte du site qui a été entrée dans les paramètres de développement de l'application. Sinon, linter renverra les propriétés mais n'actualisera pas le cache.
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 plus mettre à jour son titre.
https://developers.facebook.com/docs/sharing/opengraph/using-objects#update
J'ai découvert que si votre image fait 72 dpi, cela vous donnera l'erreur de taille. Utilisez 96 dpi à la place. J'espère que cela t'aides.
Collez dans l'URL de la page et cliquez sur déboguer. Si votre site utilise des alias d'URL, assurez-vous que vous utilisez la même adresse que Facebook utilise pour la page que vous partagez (exemple: dans Drupal, utilisez le chemin d'accès noeud/* au lieu de l'alias si la page est partagé via cette URL).
C'est un cache, il est actualisé, c'est ce que le cache est censé faire de temps en temps. Donc, l'attente finira par marcher, mais vous devez parfois le faire plus rapidement. Changer le nom du fichier fonctionne.
Vraiment facile à résoudre. Testé et fonctionnel. Il vous suffit de générer une nouvelle URL lorsque vous mettez à jour vos balises META. C'est aussi simple que d'ajouter un "& cacheBuster = 1" à votre URL. Si vous modifiez les balises META, incrémentez simplement le "& cacheBuster = 2"
RL d'origine
www.example.com
RL lorsque les balises méta og sont mises à jour:
www.example.com?cacheBuster=1
RL lorsque les balises méta og sont mises à jour à nouveau:
www.example.com?cacheBuster=2
Facebook traitera chacun d'eux comme une nouvelle URL et obtiendra de nouvelles méta données.
J'ai eu une expérience similaire. Le lien vers le 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 incorrectes. Nous avions déjà réglé le problème il y a quelques jours, mais nous voyions toujours un 404 en avant-première. Nous avons utilisé l'outil à l'adresse https://developers.facebook.com/tools/debug/ et qui a forcé l'actualisation (il n'a pas été nécessaire d'ajouter de paramètre à ce propos). Dans notre cas, Facebook n'a pas N'actualisez pas la mémoire cache après 24 heures, mais l'outil a permis de la forcer.
J'avais aussi ce problème. Le grattoir affiche les bonnes informations, mais l’URL du partage était toujours peuplée d’anciennes données.
La façon dont j'ai réussi à éviter cela consistait à utiliser la méthode de fil, au lieu de partager, puis à renseigner les données manuellement (ce qui n'est pas exposé avec la méthode de partage).
Quelque chose comme ça:
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'
});
};
Pour moi, toutes les solutions ne fonctionnaient pas. J'ai découvert si vous utilisez Wordpress with Yoast SEO alors vous devez actualiser ces deux balises:
<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 changez 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' );