Voici l'agent utilisateur des crawlers de Facebook :
FacebookExternalHit/1.1
FacebookExternalHit/1.0
ou
facebookexternalhit/1.0 (+http://www.facebook.com/externalhit_uatext.php)
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)
Notez que les numéros de version peuvent changer. Utilisez donc une expression régulière pour trouver le nom du crawler, puis affichez votre contenu.
Mise à jour :
Vous pouvez utiliser ce code en PHP pour vérifier l'agent utilisateur Facebook.
if(preg_match('/^FacebookExternalHit\/.*?/i',$agent)){
print "Facebook User-Agent";
// process here for Facebook
}
Voici le code ASP.NET. Vous pouvez utiliser cette fonction pour vérifier si le userAgent est celui de Facebook.
public static bool IsFacebook(string userAgent)
{
userAgent = userAgent.ToLower();
return userAgent.Contains("facebookexternalhit");
}
Note :
Pourquoi auriez-vous besoin de le faire ? Lorsque vous partagez un lien vers votre site sur Facebook, Facebook l'explore et l'analyse pour obtenir des données permettant d'afficher la vignette, le titre et le contenu de votre page, mais il renvoie à votre site.
De plus, je pense que cela conduirait au cloaking du site, c'est-à-dire à l'affichage de données différentes pour l'utilisateur et les crawlers. Le cloaking n'est pas considéré comme une bonne pratique et les moteurs de recherche et le site peuvent en prendre note.
Mise à jour : Facebook a également ajouté un nouveau useragent depuis le 28 mai 2014.
Facebot
Vous pouvez en savoir plus sur le facebook crawler sur https://developers.facebook.com/docs/sharing/webmasters/crawler
1 votes
if(strpos($_SERVER['HTTP_USER_AGENT'], 'facebookexternalhit') !== false) { ... }