¿Cómo le digo a Facebook qué imagen usar cuando mi página se comparte?
Facebook tiene un conjunto de metaetiquetas de gráficos abiertos que analiza para decidir qué imagen mostrar.
Las claves para la imagen de Facebook son:
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
<meta property="og:image:secure_url" content="https://secure.example.com/ogp.jpg" />
y debe estar presente dentro de la <head></head>
etiqueta en la parte superior de su página.
Si estas etiquetas no están presentes, que se verá por su antiguo método de especificar una imagen: <link rel="image_src" href="https://stackoverflow.com/myimage.jpg"/>
. Si ninguno de los dos está presente, Facebook mirará el contenido de su página y elegirá imágenes de su página que cumplan con los criterios para compartir imágenes: la imagen debe tener al menos 200 px por 200 px, tener una relación de aspecto máxima de 3: 1 y en PNG, Formato JPEG o GIF.
¿Puedo especificar varias imágenes para permitir que el usuario seleccione una imagen?
Sí, solo necesita agregar varias metaetiquetas de imagen en el orden en que desea que aparezcan. Luego, se le presentará al usuario un cuadro de diálogo de selección de imagen:
Especifiqué las metaetiquetas de imagen apropiadas. ¿Por qué Facebook no acepta los cambios?
Una vez que se ha compartido una URL, el rastreador de Facebook, que tiene un agente de usuario facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
, accederá a su página y almacenará en caché la información meta. Para obligar a los servidores de Facebook a borrar la memoria caché, use la herramienta de depuración / interfaz de URL de Facebook que lanzaron en junio de 2010 para actualizar la memoria caché y solucionar los problemas de metaetiquetas en su página.
Además, las imágenes de la página deben ser de acceso público para el rastreador de Facebook. Debe especificar las URL absolutas como http://example.com/yourimage.jpg en lugar de solo /yourimage.jpg.
¿Puedo actualizar estas metaetiquetas con código del lado del cliente como Javascript o jQuery?
No. Al igual que los rastreadores de motores de búsqueda, el raspador de Facebook no ejecuta scripts, por lo que las metaetiquetas que están presentes cuando se descarga la página son las metaetiquetas que se utilizan para la selección de imágenes.
Agregar estas etiquetas hace que mi página ya no se valide. ¿Cómo puedo arreglar esto?
Puede agregar los espacios de nombres de Facebook necesarios a su etiqueta y su página debería pasar la validación:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">