Implementing Webmention
A few weeks ago I moved this site back to Astro and ever since I’ve been curious about the state of Webmention and whether I should implement it. For the curious:
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.
To get this up and running quickly, I’m using Webmention.io for receiving website mentions and brid.gy for monitoring social media interactions and sending them to Webmention.io. In <head>, I’ve added:
<link rel="webmention" href="https://webmention.io/stuartbreckenridge.net/webmention">
<link rel="pingback" href="https://webmention.io/stuartbreckenridge.net/xmlrpc">
At the bottom of each post, there’s an Astro component that fetches and renders Webmentions from Webmention.io on each page load.
In terms of posting Webmentions, I’ve updated the small server app, Broadcaster, that monitors the Atom feed for the site and posts to Mastodon and Bluesky. Now, Broadcaster scans post content, identifies links, checks if the linked site publishes a Webmention <link>, and sends a Webmention if it does.
This all seems to work but I don’t like relying on Webmention.io. Similar to the approach taken by Wojtek Powiertowski, I will look to incorporate Webmention listening into Broadcaster (and, at the same time, I’ll probably have to change its name).