Lecture 2 minutes
Pour certaines pages il peut être utile de faire une exception de traitement pour les plugins sociaux comme Facebook. Nous allons gérer cette exception en PHP ou en .htaccess.
Prenons un exemple :
Vous demandez à vos internautes de renseigner leur adresse e-mail pour accéder à une rubrique spécifique de votre site internet dans le but de récupérer des leads. Dans cet espace il est possible de "liker" les pages afin de promouvoir cet espace. Cependant, le crawler Facebook passera également par la phase d'adresse mail et partagera donc la mauvaise page (celle du login). Les textes et les images partagées ne seront pas corrects. Il faut donc autoriser Facebook à "bypasser" cette étape.
Pour cela, nous pouvons détecter l'appel Facebook en PHP. Facebook utilise un user-agent spécifique que voici :
1 |
facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php) |
ou
1 |
facebookexternalhit/1.1 |
Vous trouverez la documentation complète ici : https://developers.facebook.com/docs/sharing/webmasters/crawler
Il suffit ensuite de faire un simple test PHP en amont de notre redirection/autorisation
1 |
if (strstr($_SERVER['HTTP_USER_AGENT'], "facebookexternalhit")) { /* Specific Facebook */ } |
Notons qu'il est également possible de faire le test dans notre .htaccess
1 |
RewriteCond %{HTTP_USER_AGENT} !facebookexternalhit/[0-9] |
Aidez-vous également de la console Facebook pour obtenir le résultat du crawl : ICI