浅谈Webmention

Webmentions「网络提及」是IndieWeb独立式网站运动的一部分技术实现。

IndieWeb使网络上的网站开放化而不受MEGA·CORP(大型企业)约束,而Webmention正是其中让网站之间跨站交流的方式之一,也是加入IndieWeb运动需要的方式之一。

Webmention可以视作为一种高级的Pingback/Trackback,
至少,在WordPress上表现是这样,后台处理就是当作Pingback/Trackback高级评论显示。是的,WordPress可以通过安装插件来支持Webmention,WP作为博客业界的行业标准,仍然是值得参考的。

习惯了现在的社交网络、尤其是基于手机app交互的社交网络,可能并不理解IndieWeb及其相关技术,则请假设现在的时间是2010年代。
IndieWeb技术的绝大多数操作及其相关应用还是用电脑交互比较合适,
事实上,这个技术也是在2010年代初期流行起来的提要方式。


举例来说,你正在阅览「文章A」,同时你有一个自己的博客网站,

为了评论「文章A」,你会在自己的博客上写一篇「文章B」,
并在你的「文章B」中添加「文章A」的引用URL超链接,然后发布。

将你刚刚写好的「文章B」的URL,回到「文章A」并填入评论区下方的Webmentions发送处(Ping),等待提示ping送达即可完成Webmentions提及回复。

随后,这个回复会像Pingback/Trackback一样,送达至站主的评论管理后台,经过审核批准过后,就可以显示在「文章A」的评论区下方。

流程如下:

  1. 博客A在自己的博客写了文章
  2. 博客B引用了A的文章
  3. 博客B提醒博客A有关文章引用的事宜
  4. 博客A确认自己的文章链接被博客B引用
  5. 审核过后,博客B的文章摘要将显示在博客A的评论区下方。

如果有用过Tumblr这样的非同步评论式网站,那么或许会理解。
(Tumblr的转贴实际上是复制转载,并不与原文同步,只是形式相似。并且Tumblr的回复结构也不原生支持Webmentions,需要额外的评论区组件支持,更像是下文要提到的静态网站)
其实就算是我也不太习惯Webmention以及Tumblr这样的设定。


就效果而言,它确实是一种更高级的Pingback/Trackback,与这两者不同的区别是,Webmention提及的方式会在评论区显示网站的作者、具体摘要,格式更像评论,而不仅仅只有一个URL通知。

这种方式非常适合多用户站点、尤其是2010年代初的社交网络。那还是个多人博客尚且流行、大公司不收紧API的年代……

而且,说起社交网络,它确实支持通过bird.gy这样的在线服务,跟SNS社交网络站点进行桥接,也能实现Webmention提及评论的效果,而且还会显示成社交网络帖子。

目前bird.gy主要支持各类Fediverse站点(以前有推特,但可惜寄了;当然,可以把Mastodon或Bluesky当作推特的替代)
这需要站点本身支持microformats2微格式或解析API,所以不是所有网站都可以这么实现。

中国的主流社交网络自然是不支持的。不过建立在中国境内的Fediverse服务器,则取决于是否能够与brid.gy建立通讯交换信息。同样地,在局域网内自然是没有办法的(就像WordPress手机app登入时会从Automattic那里验证服务器信息,非80或443死活登不上)

另外,静态博客等不具备程序执行能力的网站空间,也可以通过 webmention.io 这一服务实现中介,只是通知和确认工作,将交由第三方的webmention.io进行处理,就像秘书或经纪人一样,而不是服务器软件自处理点对点通讯了。

这需要在静态博客添加验证自己的代码,以及基于JavaScript的引用评论显示。而且博客本身不具备处理能力,如果想发送新回复,要么是人工操作、要么就是第三方中介通过Feed等方式自动抓取了。


除了评论之外,Webmention似乎还能支持点赞的反馈。

不过实话说,由于实现问题与“Blog本身的用途定位”,效果不佳:IndieWeb的点赞操作本质上是帖子或者报文信息的一种,但博客系统没有统一的点赞规范,何况、在博客用途下,给别人的文章点赞还要去自己的博客发帖,简直是多此一举……

使得访客在博客上看到的效果是这样的:
文章 – 我喜欢了网上的一个帖子 by 博客作者

(Orz)

无论是实现效果还是多数博主的情理考量,
显然回复一些文字都显得更有意义一些……


总结:

如果你的博客是WordPress这样的动态博客,那大概实用性是不如Pingback和Trackback的——甚至实测因为WordPress上Webmention的插件实现问题、导致很容易被WP的评论系统,当成“没有填写电子邮件的垃圾评论”误判。(囧)

webmention.io 的确是一种让静态博客实现评论交流、并且加入IndieWeb开放化网站运动的选择之一。我自己不用静态博客、也不太认可这种托管哲学,奈何静态网站确实只能通过依靠第三方的方式存储交流数据。

WP接入Webmention主要以接收通知为主。
要想发送仍然需要自行去对方网站通知。

另外,WP本身支持Pingback与Trackback,后两者也足够好用;
但因为安全问题不是所有网站都会开启。换句话说Pingback跟Trackback都不开的站点,要想通过Webmention通知博主,就更加没戏了。

若不是为了接入类似于社交网络的IndieWeb环境,就最终目的来说,直接在评论里放个自己文章的链接并提醒原博主,其实也差不多,信息依然是可以传达的。

Webmention以及IndieWeb更像是为了奠基社交网站环境规范而做出的一种形式主义。尽管博客这样做确实是略显多余。但像Fediverse这样的社交网络的跨站回复方式,也是离不开Webmention的启迪。

若仍是感到困惑,不妨亲自实践一番,
或前往 IndieWeb 网站寻求帮助。

参考:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注