Using Facepiles in Comments for WordPress with Webmentions and Semantic Linkbacks

Today, through the brilliant and diligent work of David Shanske and Matthias Pfefferle (as well as Ashton McAllan and many other opensource contributors), I’ve enabled facepiling for likes, reposts, and mentions within my website’s comment section using the Semantic Linkbacks plugin for WordPress (in conjunction with the Webmention plugin.)

What does this mean? My personal website both sends and accepts Webmentions, a platform independent “at mention” or @mention, including those from the fantastic, free service brid.gy which sends replies/comments, likes, reposts, and mentions to my site from silo services like Facebook, Twitter, Instagram, Google+, and even Flickr.

As I’ve long known, and as someone noted at least once on my site, some of these likes, replies, and mentions, which provide some interesting social interaction and social proof of a post’s interest, don’t always contribute to the actual value of the conversation. Now with this wonderful facepiling UI-feature, I’m able to concatenate these types of interactions into a smaller and more concentrated section at the bottom of a post’s comments section, so they’re still logged and available, but now they just aren’t as distracting to the rest of the conversation.

Compare the before and after:

Before

A mention, a Facebook like, another mention and a repost on Twitter. Anil’s comment is pretty useful, but the others don’t add as much to the ideas in the post.

Richard MacManus “liked” the post and subsequently wrote about it on AltPlatform (relatively useful) along with some tangential mentions, which don’t add as much to the conversation. The raw URL of Gisele’s Twitter post likely looked better natively on Twitter (as a Twitter Card), but translated onto my site as a mention like this, just isn’t as useful.

After

Likes and Reposts concatenated on my site now after converting them into facepiles. They still give the social “proof” and indicate the interaction, but don’t interfere in the conversation now–especially when there are hundreds of them.

A Prime Example

In particular, this functionality can best bee seen on my article The Facebook Algorithm Mom Problem, which has over 400 such interactions which spanned pages and pages worth of likes, reposts, and mentions. Many of my posts only get a handful of these types of interactions, but this particular post back in July was overwhelmed with them when it floated to the top of Hacker News and nearly crippled my website. Without the facepile functionality, the comments section of this post was untenably unreadable and unusable. Now, with facepiles enabled, the comments are more quickly read and more useful to those who are interested in reading them while still keeping the intent.

Implementing

For those who have already begun Indiewebifying their WordPress sites with plugins like Webmention and Semantic Linkbacks, the most recent 3.5.0 update to Semantic Linkbacks has the functionality enabled by default. (Otherwise you can go to your administrative dashboard and click on the checkbox next to “Automatically embed facepile” located under Settings » Discussion).

Settings interface for enabling or disabling facepiles in your comments section with Semantic Linkbacks (and Webmentions)

As a caveat, there’s a known bug for those who are using JetPack to “Let readers use WordPress.com, Twitter, Facebook, or Google+ accounts to comment”. If the facepiles don’t show up on your site, just go to your JetPack settings (at yoursite.com/wp-admin/admin.php?page=jetpack#/discussion) and disable this feature. Hopefully, the JetPack team will have it fixed shortly.

If you haven’t begun using IndieWeb principles on your WordPress website, you might consider starting with my article An Introduction to the IndieWeb, which includes some motivation as well as some great resources for getting started.

Nota bene: I know many in the WordPress community are using the excellent theme Independent Publisher, which already separates out likes, mentions, etc. (though without the actual “facepiles”), so I’m not sure if/how this functionality may work in conjunction with it. If you know, please drop me a note.

Hopefully most WordPress themes will support it natively without any modifications, but users are encouraged to file issues on the plugin if they run across problems.

Using another platform?

I’m not immediately aware of many other CMSes or services that have this enabled easily out of the box, but I do know that Drew McLellan enabled it (along with Webmentions) in the Perch CMS back in July. Others who I’ve seen enabling this type of functionality are documented on the IndieWeb wiki in addition to Marty McGuire and Jeremy Keith, who has a modified version, somewhat like Independent Publisher’s, on his website.

There are certainly many in the IndieWeb community who can help you with this idea (and many others) in the IndieWeb’s online chat.

Give it a spin

Now that it’s enabled, if you’re reading it on my website, you can click on any of the syndicated copies listed below and like, retweet/repost, or mention this article in those social media platforms and your mention will get sent back to my post to be displayed almost as it would be on many of those platforms. Naturally comments or questions are encouraged to further the ongoing conversation, which should now also be much easier to read and interact with.

Thanks again to everyone in the IndieWeb community who are continually hacking away to allow more people to more easily own and control their content while still easily interacting with people on the internet.

UPDATE

Turning mentions into comments for native display

Following Aaron Davis’ comment, I thought I’d add a few more thoughts for those who have begun facepiling their likes, mentions, bookmarks, etc. As he indicates, it’s sometimes useful to call out a particular mention, a special like, or you might want to highlight one among the thousands for a particular reason. This is a feature that many are likely to want occasionally and code for it may be added in the future, but until then, one is left in the lurch a bit. Fortunately, as with all things IndieWeb, part of the point is having more control over your site to be able to do anything you’d like to it. So for those without the ability to write the requisite code to create a pull request against the Webmention or Semantic Linkbacks plugins (they’re more than welcome), here are a few quick cheats for converting that occasional (facepiled or not) webmention into a full comment within your WordPress site’s comment section.

Pro tip: This also works (even if you’re not using facepiles) to convert a basic mention into something that looks more like a native comment. It’s also useful when you’ve received a mention that you’d prefer to treat as a reply, but which wasn’t marked up as a reply by the sending site.

I’ll use an example from the Facebook Algorithm Mom Problem post referenced above. On that post, I’d received a webmention via Twitter from Anil Dash, a blogger and advocate for more humane, inclusive and ethical technology, with some commentary about usability. Here is his original tweet:

Can always tell things are going really well if your product forces people to explicitly exclude their mothers.
— Anil Dash (@anildash) July 12, 2017

That webmention is now hidden behind an avatar and not as likely to be seen by more casual readers. I’d like to change it from being hidden behind his avatar in that long mention list and highlight it a bit to make it appear as a comment in the full comments section.

On a post with a large number of mentions, you’re very unlikely to find some of the valuable nectar hiding in them. Do you see Anil Dash’s lovely mug hiding among all these avatars? (Hint, it’s not a “blank” avatar caused by someone having changed their Twitter, Facebook, etc. avatar.)

Steps to convert a mention to a comment

Caution: I recommend reading through all the steps before attempting this. You’ll be modifying your WordPress database manually, so please be careful so you don’t accidentally destroy your site. When doing things like this, it’s always a good idea to make a back up of your database just in case.

Search for the particular comment you want to change in the WordPress Admin UI.

Hover over the date in the “Submitted On” column to find the comment ID number in the URL, in this case it’s Make a note of the comment ID: 35281.

Open up the mySQL database for your WordPress install (I’m using phpMyAdmin) to view the data for your site.

Go to the wp_comments table in the database. (Yours may be slightly different depending on how your site was set up, but it should contain the word “comments”.)

Use the search functionality for your table and input your comment ID number into the field for comment_ID.

We’ve identified the specific comment we want to modify in phpMyAdmin.

Now delete the word “webmention” from the comment_type field for the particular comment. This field should now be empty.

You should now be able to view your post (be sure to clear your cache if necessary) and see the mention you received displayed as a native comment instead of a mention. It should automatically include the text of the particular mention you needed.

Here’s what the modified mention from Anil Dash looks like in my comments section now. It appears as if it were a native comment.

If you need to convert a large number of mentions into comments, you may be better off searching for the particular post’s post_ID in the comments table and changing multiple comment_type fields at once. Be careful doing this in bulk–you may wish to do a database back up before making any changes to be on the safe side.
​​​