The Edmonton WordPress Meetup

WP YEG Joins the Fediverse

Dan Knauss Avatar

8–12 minutes

Because I hope it makes us the target of friendly “DDoS” attacks, I finally installed and activated the ActivityPub plugin on WPYEG.org, allowing it to interact with the Fediverse like a Mastodon account. I also added the Friends and Webmention plugins, which facilitate decentralized interactions, creating a community-focused platform. Lots of details about that plus…

ActivityPub

I finally installed the ActivityPub plugin on WP YEG a few weeks ago, and the site quietly entered the Fediverse.

Now what?  

Matt Johnson has a nice writeup of what to expect after you federate your blog or website with ActivityPub. It’s a quicker read than this post, if you want more of a tl;dr. I’m going to get a little more technical here.

The ActivityPub plugin implements the ActivityPub protocol (and the ActivityStreams 2.0 data format) in WordPress. This makes WordPress a bit like a Mastodon server, depending on how you configure it. For example, user accounts here on wpyeg.org now work as if they are accounts on ActivityPub platforms like Mastodon and Friendica — you can find what I publish here in those places too under @dpknauss@wpyeg.org. Others with user accounts here will find they have addresses in the fediverse as well. 😊

What’s the ActivityPub plugin and protocol? Here’s Wikipedia:

Many possibilities for a different kind of web come back into view with tools like ActivityPub, Friends, and Webmention. It’s the open web Tim Berners-Lee and many other people wanted and envisioned.

ActivityPub is a protocol and open standard for decentralized social networking. It provides a client-to-server (C2S) API for creating and modifying content, as well as a federated server-to-server (S2S) protocol for delivering notifications and content to other servers.[2] ActivityPub has become the main standard used in the fediverse, a popular network used for social networking that consists of software such as MastodonPixelfed and PeerTube.[3]

ActivityPub was created and is maintained by Matthias Pfefferle and Automattic — specifically Konstantin Obenland at Automattic, and a bunch of other folks (many Automatticians), including Matt Wiebe in Winnipeg and Django here in Edmonton currently.

The trigger for me to finally install ActivityPub here (I’ve trialed it in the past, elsewhere) was this great blog post by Matthias Kittsteiner AKA Matze: “Accidental DDoS through ActivityPub plugin.” Having your site knocked offline (unintentionally) by your followers is a funny problem I hadn’t considered in this context — the old Slashdot effect. If you are suddenly popular in the Fediverse, you could get slammed with a lot of traffic, simply over the APIs involved. (If you leave WordPress’s REST API too exposed, bots attempting brute force login attacks can take your site down on the same way.) What’s more fun/interesting than a caching problem/challenge? 🙃

Matze identified a couple of solutions involving two great community plugins that have been around a long time thanks to their superb developers and maintainers: Surge by Konstantin Kovshenin (Automattic), and Cachify, by the pluginkollectiv. Surge works great and requires no configuration. Since we’re hosted on wordpress.com, I’m not actually concerned about performance and uptime issues or getting DDoSed, but Surge does add some performance enhancements.

Fortunately, if your federated site does go down for any reason, the rest of the federated network you’re part of will keep working for you. Incoming content and interactions will be held in a queue and delivered when your site goes back up.

Friends

I also installed the Friends plugin, which lets you both follow and create mutually-accepted “friend” relationships with other sites and users via RSS. (This reminds me of an older microformat standard, XFN, which lets users define their relationship to anything they link to, including content identified with themselves: rel='me'. Learn more on the IndieWeb Wiki.)

Everyone you’re following contributes to a personal feed / activity stream that works like pretty much like the core of every social network. It’s basically an RSS feed reader where you can like/unlike things using various emojis for reactions. You can also “reblog” (repost on your site) or “boost” what others are publishing. I’m not 100% sure what “boost” means in this context; on Mastodon it’s like the old “retweet” feature, and I think it has that effect on your federated offsite accounts while “reblogging” actually brings someone else’s content into your WordPress site as a post or something else. (ActivityPub supports Post Formats, a historically interesting but buried feature.)

However you respond, the people you’re following (and the people following them) see your likes, boosts, and reposting as feedback in their Friends feed.

Everyone who has accepted your “friend request” (or vice versa) can also potentially publish publicly or privately on your site (and vice versa). “Private” publishing in this context really means “restricted to friends.”

Friends even modifies blocks in WordPress now so you can make them visible only for friends, or for everyone except friends.

Friends creator/maintainer Alex Kirk lists out the ways you can use the plugin as a “social reader.” You can:

  • Have multiple feeds per person, so you can subscribe to their blog(s) and social media account(s).
  • Categorize incoming content with Post Formats and view all posts of a certain format across your friends.
  • Define rules to filter incoming content (sometimes you’re not interested in everything your friends do).
  • Turn your favorite blog into your personal newsletter by receiving full-post notification e-mails
  • Use feed rules to filter out content you are not interested in.
  • Receive ePubs of your friends’ posts to your eReader (via another plugin).
  • Collect posts (from your feeds or around the web) in a collection for later reference (via another plugin).

Friends has a lot of additional complementary plugins to extend and enhance its features as members of the fediverse and indieweb do their open source magic.

Additionally, with the ActivityPub plugin installed you can befriend/follow people on Mastodon and other ActivityPub-compatible networks. All together, this results in your WordPress site becoming about the same thing as a Mastodon server instance. There’s another plugin called Enable Mastodon Apps that lets you use mobile and desktop Mastodon apps with your own site.

Fediverse vs. IndieWeb

The Fediverse and IndieWeb are both about decentralization and user control on the web, but they differ in scope and focus. The Fediverse is a network of decentralized social networks that communicate via a common protocol, ActivityPub, providing an alternative to centralized platforms like X and Bluesky. IndieWeb is a broader movement that emphasizes self-hosting and ownership of web content and identities, encompassing various practices and technologies, including those within the Fediverse.

WebMention

Webmention is another plugin I’ve added, and like ActivityPub, it implements an open standard its named after. WebMention and ActivityPub are two of the many “IndieWeb” projects in the WordPress community. As decribed by one of their principle authors/developers, Matthias Pfefferle:

When you link to a website you can send it a Webmention to notify it and then that website may display your post as a comment, like, or other response, and presto, you’re having a conversation from one site to another!

That’s what happened when I linked to Matze’s blog post earlier and published this post. It’s like a more evolved version of the old pingback/trackback feature in WordPress that early blogs all used:

Webmention is a notification that one URL links to another. Sending a Webmention is not limited to blog posts, and can be used for additional kinds of content and responses as well.

For example, a response can be an RSVP to an event, an indication that someone “likes” another post, a “bookmark” of another post, and many others. Webmention enables these interactions to happen across different websites, enabling a distributed social web.

Good thing this is going into GatherPress, which will replace Meetup.com in the future as the event tool of choice for local WordPress meetups like ours.

In 2012, my friend Steve Burge (PublihPress) saw the potential for WordPress to rival Facebook. That was when WordPress was “only” 12% of the web. That potential has only increased, along with WordPress’s market share reaching half the web now.

A few yers ago Mike McAlister (Ollie) floated similar ideas. He envisioned WordPress as an open social platform in a blog post entitled “A New Home for the WordPress Community.” (Don’t miss the comments.) “OpenPress” remains an idea, but I believe that general idea has a date with destiny: it is what WordPress fundamentally enables and in some sense wants to become. It may be largely just a matter of building a simple way for non-technical, busy people to be able to quickly set up and use a federated WordPress instance.

  • Imagine Gravatar (an Automattic property, like WP.com) with ActivityPub, Friends, and more integration with WordPress. (Gravatar has gotten very polished — check out mine. It’s still a totally free platform.)
  • Imagine using WordPress as a self-hosted personal identity server / intranet / public-facing operating system for the web hosted on your local Synology or QNAP NAS. Already reality! (Imagine this becoming easy — maybe through polished software embedded in IoT hardware non-technical people use.)
  • Imagine [your ideas here]

Many possibilities for a different kind of web come back into view with tools like ActivityPub, Friends, and Webmention. It’s the open web Tim Berners-Lee and many other people wanted and envisioned. Today, you can find those people in the Fediverse or on the IndieWeb.

Learn more…

Here are a couple of good, short video explainers and interviews about ActivityPub:

In other news…

  • WordPress 6.8 is out, and here’s the Developer Guide. Brigit breaks it down in the latest issue of The Gutenberg Times. One of the things noted in this issue is ‪Troy Chaplin‘s “continued his work on the Block Accessibility Checks plugin.” It brings some accessibility standards into the WordPress block editor by warning you when you are not compliant.
  • Here in Edmonton, DemoCamp 60 is coming up in a week: RSVP here.
  • The WordCamp Canada 2025 (WCEH) Call for Speakers is out! It is very aligned with the topics I’ve covered in this post — all things Fedi- / Indie- / Open- Web especially in a “back to campus” theme context since it’s happening at Carleton University from October 16-17.
  • Sometime during the week I tripped over some WordPress implementations of ways to generate JSON output that you want LLMs to consume and an LLMs.txt file that helps them do that. I set up a few experiments here too, but I’ll have to write about them later. It’s almost time for our meetup!

Discover more from WP YEG

Subscribe to get the latest posts sent to your email.

5 responses to “WP YEG Joins the Fediverse”

  1. Konstantin Obenland Avatar

    @dpknauss Very cool! Welcome!

    Small correction on the Surge plugin, if I may—it's from the original Konstantin in WordPress, @kovshenin. Which also means it’s, you know, actually good. 🙂

    But if you have any feedback on the ActivityPub plugin, please let us know! We're always looking for input and appreciate a chance to fix things early.

    1. Dan Knauss Avatar

      I had a nagging feeling I had mixed up my Konstantins! (Corrected now.) It was a rushed post, but I think credit is more generally given now where it’s due. 🙏 I definitely will dig in more deeply. ActivityPub is something we’ll likely feature in the Edmonton meetup soon and hope to put in the spotlight at WordCamp Canada this fall, too.

  2. Fitik Avatar

    Welcome to the Fediverse! I can confirm that it works, I can read this post, and found it naturally

  3. Matthias Pfefferle Avatar

    @dpknauss thanks for the nice article and welcome to the #fediverse ☺️

    happy federated blogging!

  4. Nomad Skateboarding Avatar

    @dpknauss Stoked on this! 🙂🙌

Leave a Reply

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)

Discover more from WP YEG

Subscribe now to keep reading and get access to the full archive.

Continue reading

Get more from the Edmonton WordPress Meetup

Subscribe to get updates about upcoming events.

Join 21 other subscribers

Continue reading

Join 21 other subscribers