Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does Facebook Sharer select Images and other metadata when sharing my URL?

When using Facebook Sharer, Facebook will offer the user the option of using 1 of a few images pulled from the source as a preview for their link. How are these images selected, and how can I ensure that any particular image on my page is always included in this list?

like image 331
Sampson Avatar asked Jul 16 '09 15:07

Sampson


People also ask

What happens when you share a link on Facebook?

How Facebook links work. The first time a specific link is shared on Facebook, Facebook's crawler takes a look at the shared page, extracts the title, the description, and the thumbnail image, assigns an unique identifier, and then stores this information.

How do I get a picture to show when I share a link?

How to get an image to show up when sharing a link to a website I made? To share images you need to use the Open Graph meta tags, also called OG tags.

How do I link an image to a URL on Facebook?

If the images are already available on your website or blog, it's even simpler. Copy the URL you want to link the images to your post. All of the valid images on the page will then automatically appear in the post.


1 Answers

How do I tell Facebook which image to use when my page gets shared?

Facebook has a set of open-graph meta tags that it looks at to decide which image to show.

The keys one for the Facebook image are:

<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" /> 

and it should be present inside the <head></head> tag at the top of your page.

If these tags are not present, it will look for their older method of specifying an image: <link rel="image_src" href="/myimage.jpg"/>. If neither are present, Facebook will look at the content of your page and choose images from your page that meet its share image criteria: Image must be at least 200px by 200px, have a maximum aspect ratio of 3:1, and in PNG, JPEG or GIF format.

Can I specify multiple images to allow the user to select an image?

Yes, you just need to add multiple image meta tags in the order you want them to appear in. The user will then be presented with an image selector dialog:
Facebook Image Selector

I specified the appropriate image meta tags. Why isn't Facebook accepting the changes?

Once a url has been shared, Facebook's crawler, which has a user agent of facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php), will access your page and cache the meta information. To force Facebook servers to clear the cache, use the Facebook Url Debugger / Linter Tool that they launched in June 2010 to refresh the cache and troubleshoot any meta tag issues on your page.

Also, the images on the page must be publicly accessible to the Facebook crawler. You should specify absolute url's like http://example.com/yourimage.jpg instead of just /yourimage.jpg.

Can I update these meta tags with client side code like Javascript or jQuery? No. Much like search engine crawlers, the Facebook scraper does not execute scripts so whatever meta tags are present when the page is downloaded are the meta tags that are used for image selection.

Adding these tags causes my page to no longer validate. How can I fix this?

You can add the necessary Facebook namespaces to your tag and your page should then pass validation:

<html xmlns="http://www.w3.org/1999/xhtml"       xmlns:og="http://ogp.me/ns#"       xmlns:fb="https://www.facebook.com/2008/fbml">   
like image 111
bkaid Avatar answered Oct 02 '22 08:10

bkaid