Goodbye comments, welcome Webmentions 🙋🏼‍♂️

— 5 minute read


Finally, I made the switch to Webmentions, not because I hated comments, but it just didn't serve the platform.

You might be wondering, what are Webmentions?

Let me explain in some more detail.

Webmention example with Twitter likes, retweets and replies

What are Webmentions? permalink

Webmentions are an open standard for a protocol to notify about reactions to a thing on the web. It's currently in W3C recommendation status.

So when you add a link to a website, you can send a Webmention as a notification for that website. Like a reference for the author about your reaction.

You can almost compare it to pingbacks! You know from back in the days.

But Webmentions are way more awesome, since they can contain data!

For instance, the data in a Webmention can be: likes, re-posts, comments, or other stuff.

So how do these Webmentions work? permalink

In basic web mentions work like this:

  1. I write about Webmentions on this site.
  2. Then John will write about Webmentions on his site, but adds a link to my article.
  3. John's publishing software will now send a Webmention to my website.
  4. My software checks that there actually is a link, and will include John's Webmention on my website!

In my case, you will see a lot of Webmentions from Twitter if you tweet and include a link to one of my articles.

How do I get Webmentions on my site? permalink

Of course, this is the million-dollar question, and there are a couple of steps to it.

  1. Host a Webmention endpoint or use a third party like is a free service made by the amazing Indieweb hero Aaron Parecki. Check him out!

  1. Sign in on using their IndieAuth process

  2. You will now get two links you need to include in your HEAD tag.

<link rel="pingback" href="">
<link rel="webmention" href="">
  1. Find a service that connects these Webmentions. Bridgy is an amazing service that turns your social mentions in Webmentions!

  2. Bridgy will now analyze our tweet and, if found, send a Webmention to our endpoint. One of these entries will look like this:

"type": "entry",
"author": {
"type": "card",
"name": "Ido Shamun",
"photo": "",
"url": ""
"url": "",
"published": "2020-09-13T10:59:37+00:00",
"wm-received": "2020-09-14T07:00:42Z",
"wm-id": 851613,
"wm-source": "",
"wm-target": "",
"content": {
"html": "Thank you! 🤩\n<a class=\"u-mention\" href=\"\"></a>\n<a class=\"u-mention\" href=\"\"></a>",
"text": "Thank you! 🤩"
"in-reply-to": "",
"wm-property": "in-reply-to",
"wm-private": false

Ok, cool, now what? permalink

So yes, we now have Webmentions coming in, and our sites accepting them, but how do we go about showing them?

Well, comes with a fantastic API we can leverage.

Request all Webmentions for a domain permalink

We can run the following query to get all Webmentions for our domain:

curl --location --request GET '{DOMAIN}&token={TOKEN}'

The domain will be:, for instance. And the token you can get from

Get Webmentions for a specific URL permalink

We can also use the public endpoint to get all Webmentions for one specific URL.

curl --location --request GET ''

as swyx points out the ending slash is very important!

We can then use JavaScript to show these on our website.

I wrote another article on implementing Webmentions in an Eleventy blog.

Feel free to try them out and tweet about this article

Thank you for reading, and let's connect! permalink

Thank you for reading my blog. Feel free to subscribe to my email newsletter and connect on Facebook or Twitter