web-dev-qa-db-fra.com

Comment effacer le cache de Facebook Sharer?

Nous avons utilisé le lien: 

http://www.facebook.com/sharer.php?u=[shared URL]

... pour partager une page particulière. Cependant, Facebook Sharer utilise la version en cache des images et le titre. Existe-t-il un moyen de vider rapidement le cache Facebook ou combien de temps faut-il attendre jusqu'à ce que les données soient mises à jour?

J'ai placé <link rel='image_src' href='[preview image]' /> entre les balises.

111
catandmouse

J'ai trouvé une solution à mon problème. Vous pouvez aller sur ce site:

https://developers.facebook.com/tools/debug

... puis insérez l'URL de la page que vous souhaitez partager, puis cliquez sur "déboguer". Il va automatiquement extraire toutes les informations sur vos balises méta et également effacer le cache.

234
catandmouse

Facebook traite chaque URL comme unique et met la page en cache en fonction de cette URL. Si vous souhaitez partager la dernière URL, la solution la plus simple consiste à ajouter une chaîne de requête avec l'URL partagée. En termes simples, ajoutez simplement? V = 1 à la fin de l’URL. N'importe quel nombre peut être utilisé à la place de 1.

Pointe du chapeau: Umair Jabbar

10
Martin Carstens

Utiliser api Existe-t-il une API pour forcer Facebook à supprimer une page à nouveau?

$furl = 'https://graph.facebook.com';

$ch = curl_init();

curl_setopt( $ch, CURLOPT_URL, $furl );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_POST, true );
$params = array(
    'id' => '<update_url>',
    'scrape' => true );
$data = http_build_query( $params );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $data );

curl_exec( $ch );
$httpCode = curl_getinfo( $ch, CURLINFO_HTTP_CODE );
10
Vladimir Pak

Je pense que ces deux liens ont une large discussion sur vos problèmes liés au problème. fb: ref effacer les encaissements en appelant

 fbml.refreshRefUrl 

comme ça

 <tt> fbml.refreshRefUrl ("http://www.mysite.com/someurl.php").

Vous pouvez étudier les sujets liés ici fb: ref . J'espère que ça marchera pour toi

3
Awais Qarni

La page pour ce faire est à https://developers.facebook.com/tools/debug/ et a légèrement changé depuis certaines des autres réponses. 

Collez votre URL et tapez "Debug". Cliquez ensuite sur le bouton "Extraire les nouvelles informations de récupération" sous le champ de texte de l'URL et vous devriez être prêt. Les nouvelles balises meta de votre page seront extraites, mais elles seront toujours mises en cache. N'oubliez pas que vous devrez le faire chaque fois que vous les modifierez. Cela est vraiment essentiel si vous jouez avec les balises méta pour que les URL partagées FB soient mises en forme de la manière que vous souhaitez dans facebook.

3
Matt Toigo

Cette réponse est destinée aux développeurs.

Effacer le cache signifie que les nouvelles actions de cette page Web afficheront le nouveau contenu fourni dans les balises OG. Mais uniquement si l'URL sur laquelle vous travaillez a moins de 50 interactions (j'aime + partages). Cela n'affectera pas non plus les anciens liens vers cette page Web qui ont déjà été postés sur Facebook. Ce n'est que lorsque vous partagerez à nouveau l'URL sur Facebook que Facebook affichera le lien mis à jour.

la réponse de catandmouse est correcte, mais vous pouvez également demander à Facebook de vider le cache OG (OpenGraph) en envoyant une demande de publication à graph.facebook.com (fonctionne à la fois pour http et https à la date de rédaction de cette réponse). Vous n'avez pas besoin d'un jeton d'accès.

Une demande de publication sur graph.facebook.com peut se présenter comme suit:

POST / HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Host: graph.facebook.com
Content-Length: 63
Accept-Encoding: gzip
User-Agent: Mojolicious (Perl)

id=<url_encoded_url>&scrape=true

En Perl, vous pouvez utiliser le code suivant pour lequel la bibliothèque Mojo :: UserAgent est utilisée pour envoyer et recevoir des requêtes HTTP:

sub _clear_og_cache_on_facebook {
    my $fburl     = "http://graph.facebook.com";
    my $ua        = Mojo::UserAgent->new;
    my $clearurl  = <the url you want Facebook to forget>;
    my $post_body = {id => $clearurl, scrape => 'true'};
    my $res       = $ua->post($fburl => form => $post_body)->res;
    my $code      = $res->code;
    unless ($code eq '200') {
        Log->warn("Clearing cached OG data for $clearurl failed with code $code.");
        }
    }
}

L'envoi de cette demande de publication par le terminal peut être effectué à l'aide de la commande suivante:

curl -F id="<URL>" -F scrape=true graph.facebook.com
2
Thorkil Værge

Je viens de poster une solution simple qui prend 5 secondes ici sur un article connexe ici - Débogueur Facebook: Vider le cache de tout le site

réponse courte ... changez vos permaliens sur un site de travail dans les paramètres de permaliens en un perso personnalisé. Je viens d'ajouter un trait de soulignement.
/_%après le nom%/
puis facebook les gratte en tant que nouvelles URL, nouveaux messages.

1
NowLiveLove

Ajoutez une? V = random_string à l'URL . Si vous utilisez cette idée avec le partage Facebook, assurez-vous que le paramètre og: url de la réponse Correspond à l'URL que vous partagez. Cela fonctionnera aussi avec Google Plus.

Pour Facebook, vous pouvez également forcer la nouvelle analyse en envoyant une demande de publication à https://graph.facebook.com

{id: url,
scrape: true}
1

Si vous avez utilisé des plugins Wordpress ou de cache gérés, vous devez EFFACER VOTRE CACHE avant que l'outil de débogage de Facebook puisse récupérer de nouvelles informations!

Cela fait des semaines que je me tire les cheveux pour comprendre pourquoi les modifications que j'ai apportées ne figureraient pas dans le débogueur de Facebook avant 24 heures !!!! Le correctif est que je dois aller dans mon tableau de bord wordpress, cliquez sur l'icône godaddy en haut, puis cliquez sur "vider le cache". Je pense que beaucoup d’hôtes Wordpress gérés ont un cache pour comprendre comment le nettoyer et vous serez dorés.

0
Tim Marchini

si vous utilisez WordPress avec un plugin de cache, assurez-vous de vider tous vos caches. Assurez-vous également que l'image que vous utilisez a la taille recommandée par Facebook: 1200 (L) x 630 (h) ou 600 x 315.

0
csandreas1