Como digo ao Facebook qual imagem usar quando minha página é compartilhada?
O Facebook tem um conjunto de meta tags de gráfico aberto que ele decide decidir qual imagem exibir.
As chaves para a imagem do Facebook são:
<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" />
e deve estar presente dentro da <head></head>
tag na parte superior da sua página.
Se essas tags não estiverem presentes, ele procurará o método mais antigo de especificar uma imagem: <link rel="image_src" href="https://stackoverflow.com/myimage.jpg"/>
. Se nenhum dos dois estiver presente, o Facebook analisará o conteúdo da sua página e escolherá imagens da sua página que atendam aos critérios de compartilhamento de imagem: a imagem deve ter pelo menos 200 x 200 pixels, ter uma proporção máxima de 3: 1 e em PNG, Formato JPEG ou GIF.
Posso especificar várias imagens para permitir que o usuário selecione uma imagem?
Sim, você só precisa adicionar várias metatags de imagem na ordem em que deseja que elas apareçam. O usuário receberá uma caixa de diálogo do seletor de imagens:
Especifiquei as meta tags de imagem apropriadas. Por que o Facebook não está aceitando as alterações?
Depois que um URL for compartilhado, o rastreador do Facebook, que possui um agente de usuário facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
, acessará sua página e armazenará em cache as meta informações. Para forçar os servidores do Facebook para limpar o cache, use o Facebook Url Debugger Ferramenta / Linter que lançou em junho de 2010 para atualizar o cache e solucionar quaisquer problemas de meta tag na sua página.
Além disso, as imagens na página devem estar publicamente acessíveis ao rastreador do Facebook. Você deve especificar os URLs absolutos, como http://example.com/yourimage.jpg, em vez de apenas /yourimage.jpg.
Posso atualizar essas metatags com o código do lado do cliente, como Javascript ou jQuery?
Não. Assim como os rastreadores de mecanismos de pesquisa, o raspador do Facebook não executa scripts, portanto, as metatags presentes no download da página são as metatags usadas para a seleção de imagens.
A adição dessas tags faz com que minha página não seja mais validada. Como posso consertar isso?
Você pode adicionar os namespaces necessários do Facebook à sua tag e sua página deve passar na validação:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">