Rastreador de Facebook

La forma más frecuente de compartir contenido en Facebook es con una página web. La primera vez que alguien comparta un enlace, el rastreador de Facebook extraerá el código HTML de la URL para recopilar, almacenar en caché y mostrar información sobre el contenido en Facebook, como un título, una descripción y una imagen en miniatura.

Acceso del rastreador

El rastreador de Facebook necesita tener acceso a tu contenido para extraerlo y compartirlo correctamente. Tus páginas deben ser visibles para el rastreador. Si exiges iniciar sesión o restringes de cualquier otro modo el acceso a tu contenido, tendrás que incluir el rastreador en la lista de autorizados correspondiente. También debes eximirlo de los mecanismos de protección frente a ataques DDoS.

Si el contenido no está disponible en el momento de la extracción, puedes forzar una nueva extracción cuando lo esté pasando la URL por el depurador de errores de contenido compartido.

Identificar el rastreador

El rastreador de Facebook puede identificarse mediante una de estas dos cadenas de agente de usuario:

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

O bien:

facebookexternalhit/1.1

Puedes dirigirte a uno de estos agentes de usuario para proporcionar al rastreador una versión no pública de tu página que solo tenga metadatos, no contenido real. De este modo, optimizarás el rendimiento e impedirás que se acceda a contenido de pago.

Desde el 28 de mayo de 2014, también es posible ver un rastreador con la siguiente cadena de agente de usuario:

Facebot

Facebot es el robot de rastreo web de Facebook que mejora el rendimiento publicitario. En el diseño de Facebot se han considerado criterios de cortesía. El robot solo intenta acceder a los distintos servidores web una vez cada ciertos segundos, de conformidad con los estándares del sector, y respeta la configuración de robots.txt.

Ten en cuenta que Facebot comprueba los cambios en el archivo robots.txt del servidor determinadas veces al día, de modo que las posibles actualizaciones se apreciarán en el rastreo siguiente (no de forma inmediata).

Limitación de frecuencia del rastreador

Puedes etiquetar páginas y objetos para cambiar la frecuencia con la que el rastreador de Facebook comprobará si tienen nuevo contenido. Utiliza la propiedad de objeto og:ttl para limitar el acceso del rastreador si está siendo demasiado agresivo.

Proporcionar acceso al rastreador

Hay dos formas de proporcionar acceso al rastreador:

  1. Incluir en la lista de autorizados las cadenas de agente de usuario indicadas anteriormente, lo que no requiere ningún tipo de mantenimiento.
  2. Incluir en la lista de autorizados las direcciones IP que utiliza el rastreador, lo que es más seguro.

Ejecuta este comando para obtener una lista actualizada de las direcciones IP que utiliza el rastreador.

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

El comando devolverá una lista de direcciones IP que cambian con frecuencia:

# 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 

Garantizar una latencia razonable

Asegúrate de que el rastreador pueda recuperar de forma razonablemente rápida (en pocos segundos) los recursos a los que se hace referencia en las URL que se van a rastrear. De lo contrario, Facebook no podrá mostrar el recurso.

URL canónicas

Nuestro rastreador captura el contenido para compartir resolviendo la URL que designes como canónica.

A modo de práctica recomendada, etiqueta todas las variaciones de una página con la URL canónica utilizando og:url (opción recomendada) o link rel="canonical". El propio HTML de la URL canónica debe contener también una etiqueta og:url para designarse a sí mismo como recurso canónico.

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

De este modo, se garantiza que todas las acciones, como los Me gusta y las veces que se comparte el contenido, se agrupen en la misma URL, en lugar de distribuirse entre varias versiones de una página.

Del mismo modo, las diferentes versiones del mismo contenido se tratarán como una sola, aunque estén hospedadas en subdominios distintos o se pueda acceder a ellas a través de los esquemas http:// y https://.

Si es necesario, nuestro rastreador seguirá una cadena de redireccionamientos para resolver la URL canónica.

Migrar contenido y actualizar URL

Si migras el contenido de una URL a otra, los Me gusta y las veces que se ha compartido el contenido no se migrarán automáticamente. Puedes conservar el recuento de este tipo de acciones mediante estos dos pasos:

1. Eximir el rastreador de Facebook de tu redireccionamiento HTTP

Utiliza un redireccionamiento HTTP 301 o 302 para enviar a las personas a la nueva URL cuando visiten la antigua.

No obstante, el rastreador necesita poder acceder a la página antigua, por lo que tendrás que eximir a su agente de usuario del redireccionamiento y enviar un redireccionamiento HTTP únicamente a clientes de rastreador que no sean de Facebook.

El HTML de la URL antigua debe seguir conteniendo etiquetas de Open Graph (incluida una etiqueta og:url que apunte a sí misma) y devolver una respuesta HTTP 200 cuando el rastreador lo cargue.

Asegúrate también de que tu registro AAAA se actualiza correctamente cuando cambies la URL, ya que el rastreador buscará una y, en caso de no encontrarla, responderá con el código “0”.

2. Utilizar la página antigua como URL canónica de la nueva

Añade esta etiqueta al HTML de la nueva URL:

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

Aunque se recomienda utilizar la etiqueta og:url, este método funcionará también con rel=canonical.

De este modo, se indica a nuestro rastreador que la URL canónica está en la ubicación antigua. El rastreador la utilizará para generar el número de Me gusta de la página. Los nuevos Me gusta de cualquiera de las dos ubicaciones se agruparán en ambos lugares.

La URL antigua debe mostrar todavía un documento con etiquetas de Open Graph y devolver una respuesta HTTP 200, al menos cuando la cargue el rastreador de Facebook. La URL antigua debe contener su propia etiqueta og:url que dirija a sí misma. Si quieres que otros clientes redirijan cuando visiten la URL, debes enviar la respuesta HTTP 301 a todos los clientes de rastreador que no sean de Facebook.

Puedes aprender a reconocer el rastreador de Facebook en nuestra guía de prácticas recomendadas de la opción de compartir.