Social 2.5

I’m very pleased to share version 2.5 of Social with you. Brought to you by our good friends at MailChimp (see their blog post), Social is a WordPress plugin that connects your WordPress site to Twitter and Facebook in really interesting ways.

Here are the high level bullet points:

  • easily connect your Twitter and Facebook accounts (no need to create apps through their developer sites and copy keys around – this feature enabled directly by MailChimp)
  • allow any other authors on your site to broadcast their own accounts, as well as to any global accounts for the site
  • broadcast your posts to Twitter and Facebook (with customized messages for each account)
  • pull social reactions on Twitter and Facebook back in to your site as comments (this could be liking or retweeting your broadcast, replying with a comment, or just tweeting a link to your post)
  • ability to reply to these social reactions from your WordPress site and send them back to the appropriate social network (keep the conversation going)
  • your site visitors can authenticate with their Twitter or Facebook accounts when commenting (and they can optionally post their comment back to their social networks)

Pretty good feature list, right? Social also has a couple of great collateral features. When used in conjunction with the “users must be logged in to comment” feature of WordPress, you can choose to require your commentors to attach a more meaningful (and verified) identity with their comments. Removing anonymous noise from the mix always raises the level of debate.

Social also allows your site to be the place for your content. You can bring in conversations from both Facebook and Twitter back to your site, while still participating in the conversations on those social networks. Engage with people where they want to engage, but do so while providing a richer cross-network experience on your own site.

That’s Social in a nutshell. Which brings us to the “what’s new in this version” list. I did most of the coding on this release so I’m hardly unbiased, but I’m pretty darn pleased with the way this version has shaped up. I’ve been using development builds on this site for a bit now, and I really like the way the new features have removed that last little bit of friction from some of my more common interactions.

Before we launch into what’s new, I’d like to take a moment to point out that Social is built entirely in the open on GitHub. Developers, please send us awesome pull requests.

Facebook Improvements

I think some of the best changes in this version are in the improvements to interactions with Facebook. By default, when a post is broadcast it is sent as a link rather than a status post; regardless of if it has a featured image or not. The obvious exception here is for posts that have a status post format – those are still sent as status posts. To try to make this interaction clear, we show a nice preview of how the post will look on Facebook on the broadcast screen.

When comments are broadcast to Facebook, we try to do the Right Thing with it. There are two options:

  1. The comment is replying to an existing comment thread and we should post it back to the same thread in Facebook. If this is the case, we try to do so. If for some reason (permissions, etc.) we aren’t able to do so, then we fall back on option 2…
  2. Post the comment with a link to the post to the commentor’s timeline. It makes more sense. Their comment is on the link, and the link is posted right along with it. This should make the posts going back to Facebook more meaningful.

We also take the step of auto-selecting the “Post to Facebook” checkbox under the following conditions:

  • The (admin/author) user has a Facebook profile attached to their account.
  • The comment they have clicked “reply” was imported from (or was broadcast to) Facebook.

Social does this all for you – just hit reply, type your message and send. This feature is important to keep the conversation running easily on both Facebook and your WordPress site.

Twitter Improvements

Twitter integration got some nice improvements in this version as well. You were previously able to import tweets as comment directly by URL, but now you can do this from the front-end as well. Use the menu we add in the admin bar under the Comments item to bring in tweets directly (and look for social comments). This is really useful for bringing in replies to replies or other tweets that are part of the conversation, but not something that Social will pick up by default. Note that you have to be on a single post (permalink) view for this to be available.

One of the use cases that I think makes Social really interesting is the way it allows your WordPress site to interact with real-time happenings on Twitter. Did someone tweet something that prompted you to write a blog post? You can send your broadcast tweet as a reply to that user.

Tip: Make sure to include their @username in the tweet so that they see it as you expect.

We also improved the Twitter comment detection to auto-select the account that a tweet was directed to when replying to an imported comment. Huh? Basically, if @someoneelse sends a tweet to @yourusername and Social brings that in as a comment, Social will also select your @yourusername and check the “post to Twitter” box when you hit the Reply link for that comment. It also inserts @someoneelse into the comment box so that you can start writing your reply.

The last significant change we made is to widen the net a little and catch specific types of Twitter replies, then import them as comments. The scenario is basically this:

  1. You broadcast a post.
  2. Someone replies to your post, this is imported as a comment on your site.
  3. You reply to that comment on your site, and broadcast it back to Twitter.
  4. The other person (or multiple people) reply to that comment.

Previously we would have missed automatically importing the replies in step 4 above. Now we catch them.

We walk a fine line with the amount of content we try to find and import. In particular we want to make sure we don’t set up rules that allow Social to use up all of your API requests checking for comments on your broadcasts. However, we do want to bring in as many relevant reactions as we can. We were able to make this change without requiring an additional API hit. We are able to look for additional data in the API requests we were already making.

General Improvements

You can now send customized broadcasts to each account in a single action – each account has its own form that you can edit. By default, the first broadcast message for each service (Facebook, Twitter) is editable while any others are in “copycat” mode. They will all be updated along with the edits to the first message unless you click the Edit link for the ones you want to customize. We think this is a good compromise between convenience and control, and hope you like how it works.

The account management forms have been streamlined and cleaned up, on both the main Social settings screen and the user profile screen. For example, Facebook pages are always displayed so they can be selected, etc. We also consolidated the selection of “default” accounts into the main accounts list. We hope this makes these pages easier to understand and use.

Some of you have post broadcasts that get a ton of Likes and Retweets. These are cool to see in the (condensed view in the) comments list, but not as meaningful in the comments RSS/Atom feeds that WordPress generates. We’ve added some code to suppress these types of “meta” comments in the feeds.

When you have lots of comments, they come with a lot of in-page image requests. This can cause your site to load more slowly than you’d like, so we implemented support for the Lazy Load plugin. Install and enable this plugin, and the avatars for your Social comments only load when scrolled into view.

Social now functions as a platform for other social WordPress plugins. You can choose to disable any features that you don’t want on your site and just use the connections to social networks. Expect a new release of Twitter Tools, built on Social, very soon.

Of course we also fixed all of the bugs we were able to reproduce. This includes making Facebook comment importing more consistent, along with a number of other fixes and improvements.


A quick word about Google+ integration (by far the most requested feature – tracked here). It’s something we want to do and plan to do, but until Google+ has a write API we can’t attain feature parity with our Facebook and Twitter integrations. My guess? We’ll see a Google+ API featured next month at Google I/O.


Want to build cool WordPress integrations like this? We’re hiring.

This post is part of the project: Social. View the project timeline for more context on this post.