For every public facing site there comes the moment where its content has to be shared in social media. We all know the dreaded “Like” or “Tweet” buttons on many sites or blogs. They not only compete for the reader’s attention but also for screen real estate and bandwith. Loading a few social buttons in their default configuration can easily result in 1MB extra traffic per page because, not surprisingly, most of the HTTP responses are not cacheable (which would defeat the purpose of web analytics and user behaviour tracking).
In my personal experience, mobile internet isn’t nearly as fast or robust (yet) when slightly off the hotspots as its operators would us have believe, so this extra payload adds not only to the data package price but also on page load times . Many social website operators are aware of the problem and offer editions of their libraries which load the sharing widget’s resources in a way that does not impede with page rendering, but the widgets will still appear blank until all resources have finished loading.
Facebook documents  its sharing facility rather well – it’s the “URL” tab in the configurator (“get code” button). It requires that one has created a facebook application and allows the submission of a title, two descriptions, the url and a preview image.
Even easier to use than Facebook, Google+ offers a single link which requires only the URL of the page to share and doesn’t require you to register or create an app. Google bots will then crawl the page and generate a preview:
At least Facebook, Twitter and Google Plus can generate the web preview (snippets) from page metadata . Even though you have to URL-encode every parameter, many social websites will not work well with special characters in titles.