Adding Webmention support

This weekend, I added Webmention support to this blog.
What is it? From the Webmention W3C recommendation:
Webmention is a simple way to notify any URL when you mention it on your site. From the receiver’s perspective, it’s a way to request notifications when other sites mention it.
Think of it as @-mentions, but for Websites. Cool!
“Build” or “buy”?
I started with a chat with Claude on whether I should “build” or “buy” (or, more precisely use someone else’s service) Webmention support. It wrote an entire implementation guide, complete with roadmap, for me! The gist: start simple with existing services, then build towards a self-owned solution.
Webmention.io: webmention as a service
Fortunately, there’s Webmention.io, a free, open source hosted service for easily receiving webmentions on any webpage, such as your blog. Cool!
All you need to do is add something like <link href="https://webmention.io/constantin.glez.de/webmention" rel="webmention">
, and you’re done! (You need to set up your own user, typically your domain, and substitute it for it to work for your domain, of course.)
Webmention.io uses IndieAuth (which is a simple way to log in using your own website, and some cross-linked authorization provider, like GitHub) for Web sign in, so you can easily access their dashboard and web API for polling any webmentions to your site without the hassle of creating yet another set of credentials.
Bonus: Webmention.io also supports old-school Pingbacks, but since they have been overwhelmed by spam, I decided against using this feature.
The next step is to actually receive those webmentions. For that, you can either wait until some other blogger links to your blog and happens to send you a Webmention notification, or you can look for other ways people mention your articles on social networks out there, then convert these “mentions” into proper W3C webmentions.
Enter Bridgy.
Bridgy: turning social media reactions into webmentions
Or, more precisely, Brid.gy, the domain, which is another free, open source web service that bridges popular social networks that offer integration APIs, like Flickr, GitHub, Mastodon, Reddit, and Bluesky to webmentions.
You can register your social media handles with them, then watch it regularly polling those networks for mentions of your domain, then convert them into W3C webmentions to your site. This means: comments and likes on those sites will start pouring in as webmentions so you can get notified of them. Neat!
This covers collection and aggregation of people talking about your site, but how do you display it, so your readers can see what others say?
Poll once, display any way you like!
Webmention.io offers a simple API for consuming your webmentions. Since this data is public by definition, all you need is a simple read-only token that Webmention.io gives you, then use it to access your webmentions on a per page basis.
You can do this with some JavaScript that loads page-specific webmentions, then displays them, or integrate this with your CMS or build process. In my case, and one more chat with Claude later, I opted for polling my webmentions during my static site build process, and incorporate the results into each page’s HTML. This works well, offers a fast reader experience (no need to load anything during page rendering), and is simple to implement.
Want to see an example? My last article, which introduced the now page received a couple of webmentions already, which you can now see at the bottom of it.
Right now, I don’t get too many webmentions, so occasionally updating them on my posts whenever I happen to rebuild my static blog works well enough. I can worry later if those webmentions start piling up and users ask me to display them faster. Perhaps I’ll add some CI/CD to my blog and let it refresh every day or hour or so, automatically in the future?
Silos don’t like Webmention
There’s an unhappy side to this: the Webmention standard is all about sites talking to each other openly. By definition, silos and walled gardens like LinkedIn or Facebook don’t want that. They‘d rather their content lived exclusively within themselves, as well as all interactions related to it. Therefore, Webmention is currently limited to the more progressive, collaborative, or developer-friendly networks like Bluesky, Mastodon, GitHub, etc.
Do you webmention?
So, there you have it! If you run your own blog, add Webmention support to it, it’s good for everyone! And if you’d like to comment on any article in this blog, send me a webmention, or comment on Bluesky or Reddit. Let me know if you prefer Mastodon, so I have a good excuse to set up a presence there, too. And if you prefer to like and comment on LinkedIn or elsewhere, that’s fine, too! Eventually, I’ll notice, one way or other…