Come faccio a dire a Facebook quale immagine usare quando la mia pagina viene condivisa?
Facebook ha una serie di meta tag a grafico aperto che guarda per decidere quale immagine mostrare.
I tasti uno per l'immagine di Facebook sono:
<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 dovrebbe essere presente all'interno del <head></head>
tag nella parte superiore della pagina.
Se questi tag non sono presenti, si cercherà il loro metodo precedente di specificare un'immagine: <link rel="image_src" href="https://stackoverflow.com/myimage.jpg"/>
. Se nessuno dei due è presente, Facebook esaminerà il contenuto della tua pagina e sceglierà le immagini della tua pagina che soddisfano i suoi criteri di condivisione dell'immagine: l'immagine deve essere di almeno 200 pixel per 200 pixel, avere un rapporto d'aspetto massimo di 3: 1 e in PNG, Formato JPEG o GIF.
Posso specificare più immagini per consentire all'utente di selezionare un'immagine?
Sì, devi solo aggiungere più metatag di immagine nell'ordine in cui desideri che vengano visualizzati. All'utente verrà quindi presentata una finestra di dialogo di selezione delle immagini:
Ho specificato i meta tag immagine appropriati. Perché Facebook non accetta le modifiche?
Una volta che un URL è stato condiviso, il crawler di Facebook, che ha un agente utente di facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)
, accederà alla tua pagina e memorizzerà nella cache le meta informazioni. Per forzare i server di Facebook per cancellare la cache, utilizzare il Facebook URL Debugger Linter strumento / che ha lanciato nel giugno 2010 per aggiornare la cache e risolvere eventuali problemi di meta tag nella tua pagina.
Inoltre, le immagini sulla pagina devono essere accessibili al pubblico al crawler di Facebook. Dovresti specificare l'URL assoluto come http://example.com/yourimage.jpg anziché solo /yourimage.jpg.
Posso aggiornare questi metatag con codice lato client come Javascript o jQuery?
No. Proprio come i crawler dei motori di ricerca, lo scraper di Facebook non esegue script, quindi qualunque meta tag sia presente quando la pagina viene scaricata sono i meta tag che vengono utilizzati per la selezione delle immagini.
L'aggiunta di questi tag fa sì che la mia pagina non venga più convalidata. Come posso risolvere questo problema?
Puoi aggiungere gli spazi dei nomi Facebook necessari al tuo tag e la tua pagina dovrebbe quindi passare la convalida:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="https://www.facebook.com/2008/fbml">