Le robot d’indexation Facebook

La plupart du temps, le contenu est partagé sur Facebook sous forme de page web. La première fois qu’un utilisateur partage un lien, le robot d’indexation Facebook récupère le code HTML à cette URL pour rassembler, mettre en cache et afficher des informations relatives au contenu sur Facebook, comme un titre, une description et une image miniature.

Accès du robot d’indexation

Le robot d’indexation Facebook doit pouvoir accéder à votre contenu pour le récupérer et le partager correctement. Vos pages doivent être visibles par le robot d’indexation. Si vous demandez une connexion ou limitez d’une autre manière l’accès à votre contenu, vous devez ajouter notre robot d’indexation à la liste blanche. Vous devez également l’exempter des mécanismes de protection DDoS.

Si le contenu n’est pas disponible au moment de la récupération, vous pouvez forcer une nouvelle récupération une fois qu’il devient disponible en faisant transiter l’URL par le Débogueur de partage.

Identification du robot d’indexation

Le robot d’indexation Facebook peut être identifié par l’une ou l’autre de ces chaînes d’agent utilisateur :

facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)

ou

facebookexternalhit/1.1

Vous pouvez cibler l’un de ces agents utilisateur pour fournir au robot d’indexation une version non publique de votre page contenant uniquement des métadonnées et aucun contenu réel. Cela permet d’optimiser les performances et sert à préserver la sécurité du contenu à accès payant.

Depuis le 28 mai 2014, vous pouvez également voir un robot d’indexation avec la chaîne d’agent utilisateur suivante :

Facebot

Facebot est le robot d’indexation web de Facebook qui vous aide à améliorer les performances de vos publicités. Il est conçu pour être poli. Il ne tente pas d’accéder à chaque serveur web plus d’une fois toutes les quelques secondes, conformément aux normes sectorielles, et il respectera vos paramètres robots.txt.

N’oubliez pas que Facebot se limite à quelques vérifications par jour concernant les modifications apportées au fichier robots.txt de votre serveur, il est donc possible qu’il ne les remarque pas immédiatement.

Limite de débit du robot d’indexation

Vous pouvez identifier des pages et des objets pour modifier le temps d’attente du robot d’indexation Facebook avant qu’il ne vérifie la présence de nouveau contenu. Utilisez la propriété d’objet og:ttl pour limiter l’accès du robot d’indexation si notre robot devient trop agressif.

Accorder l’accès au robot d’indexation

Il existe deux façons d’accorder l’accès au robot d’indexation :

  1. Vous pouvez ajouter les chaînes d’agent utilisateur indiquées ci-dessus à la liste blanche, ce qui ne nécessite pas de maintenance.
  2. Vous pouvez également ajouter les adresses IP utilisées par le robot d’indexation à la liste blanche, ce qui est plus sécurisé :

Exécutez cette commande pour obtenir une liste à jour des adresses IP utilisées par le robot d’indexation.

whois -h whois.radb.net -- '-i origin AS32934' | grep ^route  

Elle renvoie une liste d’adresses IP qui changent souvent :

# For example only - over 100 in total
31.13.24.0/21 
66.220.144.0/20    
2401:db00::/32  
2620:0:1c00::/40  
2a03:2880::/32 

Garantir une latence raisonnable

Vous devez vous assurer que les ressources référencées dans les URL à indexer peuvent être récupérées assez rapidement par le robot d’indexation, en quelques secondes maximum. Si le robot d’indexation n’en est pas capable, Facebook ne sera pas en mesure d’afficher la ressource.

URL réglementaires

Notre robot d’indexation cherche du contenu à partager en se transformant en une URL que vous désignez comme URL réglementaire.

Nous recommandons d’identifier toutes les variantes d’une page avec l’URL réglementaire à l’aide de la balise og:url (privilégiée) ou link rel="canonical". Le code HTML de l’URL réglementaire doit également contenir une balise og:url pour s’auto-désigner comme la ressource réglementaire.

<meta property="og:url" content="https://example.com/path" />

Ainsi, toutes les actions (par exemple, mentions J’aime et partages) sont compilées dans la même URL plutôt que d’être réparties sur plusieurs versions d’une page.

Cela signifie également que les différentes versions d’un même contenu sont traitées de façon identique, même si elles sont hébergées dans des sous-domaines distincts ou qu’elles sont accessibles à la fois sur http:// et sur https://.

Si besoin, notre robot d’indexation suit une chaîne de redirections pour déterminer l’URL réglementaire.

Migrer du contenu/mettre à jour les URL

Si vous migrez votre contenu d’une URL vers une autre, les mentions J’aime et les partages ne migrent pas automatiquement. Pour conserver le nombre de mentions J’aime et de partages, suivez ces deux étapes :

1. Exemptez le robot d’indexation Facebook de votre redirection HTTP

Utilisez une redirection HTTP 301 ou 302 pour diriger les utilisateurs qui consultent l’ancienne URL vers la nouvelle.

Le robot d’indexation doit pouvoir continuer à accéder à l’ancienne page. Vous devez donc exempter l’agent utilisateur du robot d’indexation de la redirection et envoyer une redirection HTTP uniquement aux clients autres que le robot d’indexation Facebook.

Le code HTML de l’ancienne URL doit toujours contenir des balises Open Graph (y compris une balise og:url pointant vers elle-même) et renvoyer une réponse HTTP 200 lors du chargement par le robot d’indexation.

Vérifiez également que votre enregistrement AAAA est correctement mis à jour lorsque vous modifiez votre URL, car le robot d’indexation en recherchera une et renverra le code 0 s’il n’en trouve pas.

2. Utilisez l’ancienne page comme URL réglementaire de la nouvelle

Ajoutez cette balise au code HTML de la nouvelle URL :

<meta property="og:url" content="https://example.com/old-url" />

Bien que la balise og:url soit privilégiée, cette méthode fonctionne également avec la balise rel=canonical.

Cela indique à notre robot d’indexation que l’URL réglementaire se trouve dans l’ancien emplacement, ce qui lui permet de générer le nombre de mentions J’aime sur la page. Les nouvelles mentions J’aime de l’un ou l’autre des emplacements sont compilées dans les deux emplacements.

L’ancienne URL doit continuer d’afficher un document avec des balises Open Graph et de renvoyer une réponse HTTP 200, du moins lorsqu’elle est chargée par le robot d’indexation de Facebook. L’ancienne URL doit contenir sa propre balise og:url qui pointe vers elle-même. Pour rediriger d’autres clients lorsqu’ils visitent l’URL, vous devez envoyer votre réponse HTTP 301 à tous les clients du robot d’indexation autres que Facebook.

Vous pouvez découvrir comment reconnaître le robot d’indexation de Facebook dans notre guide de recommandations en matière de partage.