Rastreador de Facebook

El rastreador de Facebook rastrea el código HTML de una aplicación o sitio web que se compartió en Facebook al copiar y pegar el enlace o mediante un plugin social de Facebook. El rastreador recopila, almacena en caché y muestra información sobre la aplicación o el sitio web, como su título, la descripción y la imagen de miniatura.

Requisitos del rastreador

  • El servidor debe usar las codificaciones gzip y deflate.
  • Las propiedades de Open Graph deben incluirse en la lista antes del primer MB de tu sitio web o aplicación, ya que, de lo contrario, se truncarán.
  • Asegúrate de que el rastreador pueda rastrear el contenido en pocos segundos, ya que, de lo contrario, Facebook no podrá mostrarlo.
  • Tu aplicación o sitio web debe generar o devolver una respuesta con todas las propiedades necesarias según los bytes especificados en el encabezado Range de la solicitud del rastreador o bien debe ignorar el encabezado Range por completo.
  • Añade a tu lista de autorizados las cadenas del agente de usuario o las direcciones IP (más seguras) que usa el rastreador.
  • Asegúrate de que tu aplicación o sitio web permiten que el rastreador de Facebook rastree la política de privacidad asociada con tu aplicación o sitio web.

Direcciones IP y agentes de usuario del rastreador

Las cadenas de agente de usuario para el rastreador de Facebook son las siguientes:

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

Para obtener una lista actualizada de las direcciones IP que utiliza el rastreador, ejecuta el siguiente comando.

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

Estas direcciones IP cambian con frecuencia.

Ejemplo de respuesta

...
route:      69.63.176.0/21
route:      69.63.184.0/21
route:      66.220.144.0/20
route:      69.63.176.0/20
route6:     2620:0:1c00::/40
route6:     2a03:2880::/32
route6:     2a03:2880:fffe::/48
route6:     2a03:2880:ffff::/48
route6:     2620:0:1cff::/48
... 

Solución de problemas

Si el contenido de tu sitio web o aplicación no está disponible en el momento del rastreo, puedes forzar un rastreo una vez que esté disponible. Para ello, pasa la URL por el depurador de contenido compartido o usa la API de contenido compartido.

Puedes simular una solicitud del rastreador con el código siguiente:

curl -v --compressed -H "Range: bytes=0-524288" -H "Connection: close" -A "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" "$URL"