The "best" Social Media modules

Best means for me: Easy to configure, easy to handle, flexible and reliable.

Below some recommended modules for the integration of social media into your Drupal website: 1. Giving your visitors the possibility to share content, 2. linking your website to the social media profiles on Facebook, Twitter, Google+, etc., 3. encouraging your visitors to "Like" (Facebook) or "Publicly Recommend" (Google +1) the content of your website, 4. encouraging your visitors to "Follow" or "Like" dedicated accounts/sites on Twitter and/or Facebook, 5. publishing your social media posts on your website and 6. inserting the "main" social media buttons/links without a counter.

1. Sharing of website content on social media

If you want to give your visitors the possibility to share your content on various pages, you have different possibilities. Probably the most common ones: Add the links as a block, as a floating bar or on the node level. Personally I prefer the first two options. I can recommend you the following modules:

- Easy Social (node, block or views field; Drupal 8, Drupal 7)
If you want to add the links of the currently most important services on a node level, as blocks or views field, then the Easy Social module is really an easy way to do it:

“Easily add share buttons to your nodes! Centered in a single place, you don't need to worry in including external javascript libraries, and enabling several social modules. Despite a bunch of other social modules, this module fits exactly if you want simple share buttons without worrying about messy configurations. Easy Social is available both as blocks, attached to nodes, comments and also as a Views field. The following widgets are included by default: Twitter, Facebook, Google+, LinkedIn."

- Social media share (block; Drupal 8)
An easy and nice looking way to add share buttons in Drupal 8. Currently the module provides six services by default: Facebook share, Facebook messenger, Linkedin, Twitter, Google plus and Email (Client email service(:mailto) ,Forward email as model dialog, forward email as separate page).

"The social media share module allows the user to share current page to different social media platforms. It is rendered as block, you can place it anywhere of your site. Module provides social media field type so that you can add it as field in entity and take all benefits from field API. It is flexible to share any page of the site whether it is node, term , panels, view pages so on. You have full flexibility to add more services, modify the elements before render, change orders or so on. You can also completely disabled any services from configuration page(admin/config/services/social-media)."

- Service links (block; Drupal 7)
Is a highly flexible solution because it works with widgets and blocks. Widgets allows you to create different sets of links to social media services. You can also add other features such as emailing or print of pages. Furthermore you can use different blocks for the display of different sets. Although highly flexible, the module is easy to configure.

“The services included are various: del.icio.us, Digg, Facebook/Facebook Share/Facebook Like, Furl, Google Bookmark/Google Plus One, IceRocket, LinkedIn/Linkedin button counter, MySpace, Newsvine, Reddit, StumbleUpon, Technorati, Twitter/Twitter widget, Yahoo Bookmark, and many more, they are split for language in different packages: basque, dutch, farsi, german, hungarian, italian, polish, russian, spanish, swedish."

- ShareBar (floating sharebar; Drupal 8 Development Version, Drupal 7)
Implementing social media links for sharing, one often encounters the dilemma of placement: Where should the links optimally be displayed? On top or on bottom? Many sites solve the dilemma, by adding links both on top and bottom. This may create an “overload” of links and is maybe still not optimal, because the links are not available throughout the page (very often one reads something and while reading one thinks about sharing it with someone). The optimal solution for this dilemma is probably the floating sharebar.

“The Drupal Sharebar module lets you easily add a "floating" social media submission bar on your website (like that found on Mashable) that includes share buttons for the most popular social media websites online such as Facebook, Twitter, and Google +1 Buttons. Configure ShareBar with these Social Buttons below and more: Twitter, Facebook Like and Share Buttons, Linkedin, Google +, Reddit, StumbleUpon, Digg, Dzone, DesignFloat, Email-to-friend option, Add many others at your own discretion...”

2. Link to your social media profiles/sites from your website

If you want to link to your sites on Facebook, Google+, Twitter, etc. I recommend you the following modules that are easy to configure and handle. Both of them allow you to display the links to your social media sites as Icons within a block. This gives you a high flexibility, because you can move around the block and determine for what pages, paths, content types, etc. the block shall be displayed.

- Social Media Links Block and Field (Drupal 8, Drupal 7)
“The modules provides a configurable block that display links (icons) to your profiles on various popular networking sites. Current supported Social Networks: Facebook, Twitter, Youtube, Google+ and many more). The Drupal 8 version is a complete rewrite to use all the new stuff and possibilities (e.g. the plugin system). New Functionality: Social Media Links Field (8.x-2.4 and higher): With the new submodule "Social Media Links Field" it is possible to capture the links to various social media platforms via a field. In the field settings you can specify individually which platforms are available in a field."

- Social media presence On The Web (Drupal 7)
“This module provides a single block that can show social media icons that link to your brand's content located elsewhere on the web. The icons will not show up unless you provide a link to that site. As of the 1.4 release links are added on the module configuration page. (Before the 1.4 release they were added as part of block configuration),Icons provided for: Twitter, Facebook, Pinterest, Google+, YouTube, Flickr, MySpace, LinkedIn, Delicious, FriendFeed, iTunes, RSS."

3.Collect likes/recommendations for your social media profiles/sites and get re-shares of your content

If you want to promote your site and encourage your visitors to "Like" (Facebook) or "Publicly Recommend" (Google +1) the content of your website, you can use one of the already mentioned modules from section 1:

- Easy Social (Drupal 8, Drupal 7)
- ShareBar (Drupal 8 Development Version, Drupal 7)
- Service links (Drupal 7)

3. Get followers for your social media profiles/sites

If you you have dedicated accounts/sites on Twitter, Facebook and other social media, you might want to encourage your visitors to "Follow" you. For this purpose I can recommend you the following modules:

- Social Media Links Block and Field (Drupal 8, Drupal 7)
“With this module, a website can be quickly extended with a "Follow us" functionality. Or you make the block available for your site editors, and they can configure the social networks themselves. Current supported Social Networks: Facebook, Twitter, Youtube, Google+ and many more."

- FB Likebox (Drupal 8, Drupal 7)

"The Like Box is a social plugin that enables Facebook Page owners to attract and gain Likes from their own website. The Like Box enables users to: See how many users already like this Page, and which of their friends like it too, Read recent posts from the Page, Like the Page with one click, without having to actually visit the page. This simple module provides a block to integrate this plugin into Drupal, and allows users with 'administer blocks' permission to configure the different attributes provided by Facebook in the block configuration." If you just want a simple block with title, picture and like button, you can very easily configure the block that way."

5. Co-publish social media posts on your website

If you want to publish your social media posts on your website, I can recommend you the following modules for Twitter and Facebook (as it seems a comparable module for Google+ is not yet available).

- Twitter (Drupal 8 Development Version, Drupal 7)
Allows you to publish Twitter posts on your website. The great advantage of this module is, that you can define the content and style of the Twitter feeds to be published. Thus the content can be very well integrated into the website. Important is also the possibility to associate multiple Twitter accounts with the website:

"This module provides API integration with the Twitter microblogging service. Out of the box, it allows users to: Associate one or more Twitter accounts with their Drupal user account. List tweets in different ways thanks to Views. Post to their own Twitter account or a site-wide Twitter account whenever they create new content or based on Drupal Actions or Rules. Log in to your Drupal site via Twitter. Format twitter @usernames and #hashtags as links to Twitter.com."

- Twitter Block (Drupal 8, Drupal 7)
This alternative to the module "Twitter" allows you to publish Twitter posts in the classical way i.e. in a very similar style as they appear on Twitter.com:

"Twitter Block is a lightweight module which allows administrators to create blocks which display embedded timelines. Embedded Timelines offer a number of customization options such as theme, layout and border color but, due to the way embedded timelines are implemented, custom theming using CSS can be difficult."

- Facebook Pull (Drupal 7)
An easy and quick way to display Facebook posts on your website, though the configuration and styling possibilities are limited:

"Facebook Pull is a fast and efficient module for displaying Facebook feeds on your site. This module caches all queries to the graph, the time period default is 20 minutes."

6. Social media buttons/links without a counter

There are many reasons why you might want to insert the "most important" social media buttons/links without a counter. A very common reason might be, that you want to include social media in a more discrete and stylish way. Another reason might be, that you are just launching a new website and that zero counters all over the website don't give the best impression. If you want to implement the "most important" social media buttons/links wihtout counter using modules, it is not so easy to find the ones, that support this possibility without additional css coding. Testing different modules I found the following possibilities:

- Easy Social (Drupal 8, Drupal 7)
Allows you to choose whether you want to display the count for Google+, Twitter Tweets and LinkedIn Shares. Go to admin/config/content/easy_social and choose "Extra Widgets" to do so. You might want to have a small space between the icons, what you can achieve by adding a padding in the CSS code (Example: #widgets-element-socialmedia_twitter-tweet-no-count; padding-right:7px;}

- Widgets Block from Social Media module (Drupal 7)

This module provides you support for social media widget sets (sets of social media icons) that can be displayed as blocks. If you want to display the Twitter tweet button wiothout count you can create a new set or override an existing set and add the "Twitter tweet button (no count)". This approach gives you also a possibility for Facebook, although it is not a "clean" solution: Choosing the "Facebook like button" you can remove the counter by narrowing the "Width".

Taxonomy: 

Drupal themes to be compared