Sign in

Matthias Pfefferle

@pfefferle.org
1.2K followers 245 following 585 posts

Webworker, podcaster and blogger, advocate of the #openweb and citizen of the #indieweb and the #fediverse, working on #activitypub, #atmosphere & #indieweb plugins for #WordPress Open Web Guy @automattic.com

PostsRepliesMedia
Matthias Pfefferle @pfefferle.org · 3h
Ich hab‘ gerade wieder Spaß… ...an meinem Blog herum zu basteln ♥️! Meine ganze Motivation, an WordPress und dem Open Web zu arbeiten, ist eine sehr selbstsüchtige: Ich liebe es, an meiner Seite herumzubasteln und... notiz.blog/2026/09/30/ich-hab-gerad…
notiz.blog
Ich hab‘ gerade wieder Spaß…
...an meinem Blog herum zu basteln ♥️! Meine ganze Motivation, an WordPress und dem Open Web zu arbeiten, ist eine sehr selbstsüchtige: Ich liebe es, an meiner Seite herumzubasteln und ins Internet zu schreiben. Leider vergesse ich das von Zeit zu Zeit, und dann wird es sehr ruhig hier… Gerade ist das anders! Ich habe...
020
Matthias Pfefferle @pfefferle.org · 28/09/2026
Über @teezeh bin ich auf den großartigen @designthinkingcomic und seinen Webcomic gestoßen… und konnte nicht widerstehen, mir (auch) ein(en?) Avatar zeichnen zu lassen ☺️ Ich liebe es ♥️!
021
Reposted by Matthias Pfefferle
Roland a.k.a. Finn Mühlenkamp @herrkowski.eurosky.social · 24/09/2026
Guckt mal! Dank @pfefferle.org ist meine #Blogroll jetzt mindestens doppelt so hübsch. 👇
nerdlicht.net
Neue Blogroll | nerdlicht.net
Dank eines Plugins von Matthias Pfefferle rollt meine Blogroll ab sofort um 100% besser. Mindestens.
123
Matthias Pfefferle @pfefferle.org · 23/09/2026
Blogrolle Eigentlich wollte ich nur meine Slash-Pages vervollständigen, jetzt gibt es ein Blogroll-Plugin für WordPress. Ein Block, der eure Blogroll als HTML und als maschinenlesbare OPML veröffentlicht, mit h-card, XFN, rel-blogroll und source:blogroll. notiz.blog/2026/09/23/blogrolle
notiz.blog
Blogrolle
Eigentlich wollte ich nur meine Slash-Pages vervollständigen, jetzt gibt es ein Blogroll-Plugin für WordPress. Ein Block, der eure Blogroll als HTML und als maschinenlesbare OPML veröffentlicht, mit h-card, XFN, rel-blogroll und source:blogroll.
033
Matthias Pfefferle @pfefferle.org · 08/09/2026
you need a #blogroll for your #wordpress #blog? here you go: wordpress.org/plugins/bloc...
wordpress.org
Blogroll & Podroll Block
Share the blogs and podcasts you follow, and let other people subscribe to your list.
123
Matthias Pfefferle @pfefferle.org · 25/08/2026
Revisiting Web Intents and the Ongoing Challenges of Decentralized Web Services openchannels.fm/revisiting-w...
openchannels.fm
Envisioning a Decentralized Web
Explore the vision of a decentralized web where user interactions are seamless across platforms. Join Matthias Pfefferle and Paul Kinlan.
020
Reposted by Matthias Pfefferle
Manton Reece @manton.org · 11/08/2026
Introducing the Micro.blog PDS: www.manton.org/2026/08/11/introduci…
107617
Matthias Pfefferle @pfefferle.org · 06/08/2026
A #chat based on #RSS? Sure, why not: rss.chat And if so, I think there needs to be a #WordPress plugin to participate: github.com/pfefferle/wo... /cc @scripting.com
github.com
GitHub - pfefferle/wordpress-rss-chat: Publish WordPress posts to the rss.chat network using the native chat post format, and get the replies back as comments.
Publish WordPress posts to the rss.chat network using the native chat post format, and get the replies back as comments. - pfefferle/wordpress-rss-chat
242
Matthias Pfefferle @pfefferle.org · 06/08/2026
I built BlockRoll, a #blogroll plugin for #WordPress, and packed it with every open standard and format I could think of! github.com/pfefferle/wo... See it in action: notiz.blog/blogroll/ #opml #xfn #microformats #RSS #hCard
github.com
GitHub - pfefferle/wordpress-blockroll: A blogroll block: share a list of the blogs and sites you follow.
A blogroll block: share a list of the blogs and sites you follow. - pfefferle/wordpress-blockroll
031
Reposted by Matthias Pfefferle
Ma.tt Mullenweg @ma.tt · 06/08/2026
Our Core Division Inspired by Automatticians James Kemp and Dave Smith, I've been thinking a lot about how much of our discord in the design of WordPress stems from the differences of our two big tribes: Bloggers and Builders.... ma.tt/2026/08/our-core-division
ma.tt
Our Core Division
Inspired by Automatticians James Kemp and Dave Smith, I've been thinking a lot about how much of our discord in the design of WordPress stems from the differences of our two big tribes: Bloggers and Builders. Many of the OG developers of WordPress, including myself, tend more towards the blogging side. Writers, photographers, podcasters, journalists, the people for whom a reverse chronological stream on the homepage is the most obvious thing in the world.
051
Reposted by Matthias Pfefferle
New_ Public @newpublic.org · 15/07/2026
Blaine and @rabble.nz talk about Twitter’s first steps and what new prosocial web projects like Roundabout, New_ Public’s local community app, can learn from this history.
youtube.com
Rebuilding Social Media From Scratch!
YouTube video by revolution.social with @rabble
072
Reposted by Matthias Pfefferle
Toni Schneider @toni.bsky.team · 10/07/2026
Staying in the game I'm four months into my interim CEO role at Bluesky, and it's time for an update. Most importantly, as of today, the interim part of the title is gone. I'm... toni.org/2026/07/10/staying-in-the-…
toni.org
Staying in the game
I'm four months into my interim CEO role at Bluesky, and it's time for an update. Most importantly, as of today, the interim part of the title is gone. I'm loving the mission and the job, and I'm all in as Bluesky’s official CEO. This job has been energizing from day one, and the Bluesky...
11373298
Matthias Pfefferle @pfefferle.org · 08/07/2026
new version of the #ATmosphere plugin for #WordPress: • Block editor panel + per-post sharing • Custom Bluesky text • Reactions/mentions support • Better reply/comment imports • Publish retry/error handling github.com/Automattic/w...
github.com
Release 2.0.0 · Automattic/wordpress-atmosphere
What's Changed Resolve link facets when importing Bluesky replies as comments by @jeherve in #134 Decouple post + document deletes from the comment-reply cascade by @pfefferle in #138 Block editor...
0113
Reposted by Matthias Pfefferle
DerFlix.de @flixxx.bsky.social · 11/06/2026
Die Temperatur, die Temperatur... #glückskind #neuefolge
38220
Reposted by Matthias Pfefferle
WP Letter @wpletter.de · 29/06/2026
WP Letter #473 ist da 😎 Dieses Mal mit: ⏲️ Warten auf Updates 🔗 ActivityPub-Links 📊 Statify 2.0 wpletter.de/archive/473
wpletter.de
Warten auf Updates, ActivityPub-Links, Statify 2.0 – WP Letter
Die verzögerten Updates von Plugins auf WordPress.org sorgen weiterhin für Diskussionen.
122
Reposted by Matthias Pfefferle
WordPress.com @wordpress.com · 09/06/2026
The Reader just got a whole lot bigger. We now let you follow @bsky.app, Mastodon, and more across the Fediverse right inside the Reader. No algorithm, no extra apps, no tab-switching.
182
Matthias Pfefferle @pfefferle.org · 02/06/2026
We just released version 1.1.1 of the #WordPress #ATmosphere plugin: github.com/Automattic/w... It is mostly about stability and bug fixes.
github.com
Release 1.1.1 · Automattic/wordpress-atmosphere
What's Changed Fix ATMOSPHERE_VERSION constant and release-script regex by @kraftbj in #80 Write the site icon to the publication icon field, drop non-spec fields, decode HTML entities by @kraftbj...
040
Reposted by Matthias Pfefferle
Bluesky @bsky.app · 28/05/2026
This is part of our ongoing work to make Bluesky a great place to connect with the rest of the Atmosphere. We’re pleased to see others recently investing in making the same connections. WordPress now offers a plugin that lets any WP site publish to the network as well.
activitypub.blog
ATmosphere 1.0.0 — Liftoff
This post isn’t about the ActivityPub plugin. ATmosphere is a separate plugin from the same small team, for the other half of the open social web: the AT Protocol, the open network behind Blu…
1742839
Matthias Pfefferle @pfefferle.org · 28/05/2026
Now in the Reader: Bluesky, Mastodon, and the Fediverse wordpress.com/blog/2026/05...
wordpress.com
Now in the Reader: Bluesky, Mastodon, and the Fediverse
If you’ve been blogging for a while, you’ll probably know the WordPress.com Reader – a calm place to catch up on the blogs you follow, without an algorithm deciding what you see. This m…
2133
Reposted by Matthias Pfefferle
Toni Schneider @toni.bsky.team · 23/05/2026
More WordPress + Bluesky + atproto goodness.
26710
Matthias Pfefferle @pfefferle.org · 22/05/2026
time for a little break... see you in a week ☺️ #vacation
030
Matthias Pfefferle @pfefferle.org · 22/05/2026
the WordPress.com #Reader is now a client for #Bluesky, #Mastodon and your #ActivityPub enabled Blog. ...more to come :) activitypub.blog/2026/05/22/y...
activitypub.blog
Your WordPress Site — From RSS Feed to Social Account
Radical Speed Month is over, and the Reader’s new Social section is now live. Your Fediverse-enabled WordPress site can be used from inside it, and the plugin’s ActivityPub API has its …
15321
Reposted by Matthias Pfefferle
Martin Holland @fingolas.bsky.social · 21/05/2026
Aus WordPress kann man nun ohne Umwege auf Bluesky veröffentlichen, Antworten von dort landen direkt im Blog. Ermöglicht wird das von einem neuen Plug-in. #ATmosphere #ATProtocol #WordPress
heise.de
WordPress: Offizielles Plug-in bindet Blogs direkt ins Bluesky-Protokoll ein
Aus WordPress kann man nun ohne Umwege auf Bluesky veröffentlichen, Antworten von dort landen direkt im Blog. Ermöglicht wird das von einem neuen Plug-in.
094
Reposted by Matthias Pfefferle
Eric @esb.lol · 21/05/2026
✨ Atmosphere devs ✨ Bluesky is integrating Standard Site, and our initial work should be released in the next few days. Here's what that means for publishers and apps in the ecosystem: github.com/bluesky-soci... If you have questions or comments, please leave them on the GitHub Discussion thread!
github.com
Integrating Standard Site Into Bluesky · bluesky-social atproto · Discussion #4978
The Bluesky team is working on integrating site.standard.* lexicons. For people using the Bluesky app, this means that when they come across a link published with a Standard.site record, they’ll ge...
1239085
Reposted by Matthias Pfefferle
ActivityPub for WordPress @handle.invalid · 20/05/2026
This post isn't about the ActivityPub plugin. ATmosphere is a separate plugin from the same small team, for the other half of the open social web: the AT Protocol, the open network behind Bluesky. We're posting about it here because the audience overlaps and the mission is the same. If there's […]
activitypub.blog
ATmosphere 1.0.0 — Liftoff
This post isn’t about the ActivityPub plugin. **ATmosphere** is a separate plugin from the same small team, for the other half of the open social web: the AT Protocol, the open network behind Bluesky. We’re posting about it here because the audience overlaps and the mission is the same. If there’s enough interest, we’ll spin up a dedicated blog for it. Until then, this is the closest venue. Today is the public 1.0.0 release on WordPress.org. After months of design notes, internal experiments, and a stretch of focused work alongside the ActivityPub plugin, ATmosphere has cleared the troposphere. ## What ATmosphere is When you publish a post, ATmosphere shares it on Bluesky _and_ stores the full article on your AT Protocol account as a structured record. Bluesky replies, likes, and reposts come back as comments on your WordPress post. Approved comments from logged-in readers go the other way and appear as replies under your original Bluesky post. The same conversation lives in both places without you having to copy anything by hand. The bet underneath is bigger than cross-posting. ATmosphere publishes site.standard.* lexicon records, so your blog itself becomes AT Protocol data, not just a link shared on Bluesky. Any compatible app can read the full article from your AT Protocol account, the same way it reads a Bluesky post. WordPress becomes a first-class participant in the network, not a visitor. ## How this differs from a cross-poster The first question you may have is: how is this different from Jetpack Social’s Bluesky integration, or from any of the other plugins that share to Bluesky? The answer is that they’re solving a different problem. A cross-poster gets your content in front of Bluesky users, which is a real and useful thing. But it’s still a broadcast model. Your WordPress site talks _at_ Bluesky, it doesn’t participate _in_ the protocol. In practice that shakes out two ways. First, a cross-posted update creates a copy, not a connection. The post on Bluesky and the post on WordPress are separate records, and nothing in the protocol ties them together. Second, your blog itself has no identity in the network. The cross-poster authenticates as you, the person, and posts on your behalf. Your blog as an entity, with its archive and structure, is invisible to the protocol. ATmosphere is built around making your blog itself a participant. Every publish writes two records: an `app.bsky.feed.post` so the update shows up in Bluesky timelines, and a `site.standard.document` from the standard.site lexicons that stores the full canonical article on your AT Protocol account. A `bskyPostRef` link ties the two together. Your blog appears in the network as a publication that other apps and aggregators can discover and read in full, not as a stream of truncated link cards. If you want a poster, Jetpack Social is the right tool. If you want your WordPress site to _be_ a place on the AT Protocol, that’s what ATmosphere is for. ## Why a third-party PDS, for now There’s a natural follow-up once the model clicks: if my WordPress site is acting as a Bluesky identity, why does Bluesky (or another provider) still need to be in the picture at all? Why not host the data on the site itself? We tried that route first. About 90% of a Personal Data Server (the AT Protocol service that holds your signed records and streams them to the network) maps cleanly to PHP and a WordPress database. The remaining 10% is the firehose: a WebSocket stream that pushes every change to the network’s relays in real time. PHP’s request-response model is fundamentally incompatible with persistent connections like that, and typical WordPress hosting environments aren’t designed for always-on background processes either. The cleaner mental model turned out to be email. Even when you self-host your mail, you don’t build the mail server as a WordPress plugin. The mail server is its own piece of infrastructure that runs alongside your site. AT Protocol is the same shape. The PDS is infrastructure, not application logic. ActivityPub was designed to be implementable by any HTTP server, which is why it works as a plain WordPress plugin. AT Protocol was designed around always-on data servers, so the natural fit is a hosted PDS running next to WordPress, not inside it. For 1.0.0, that means using whichever PDS the user already has. Most people connecting ATmosphere come in with a Bluesky account, so they already have a PDS and a DID, and borrowing that lets us focus on the parts that live on the WordPress side: the publishing pipeline, the long-form rendering, the comment round trip, the domain-as-handle handshake. We are still pulling on a thread, though. There’s a version of this where a PDS sits comfortably alongside WordPress, ready to host your records for you, so the AT Protocol side feels just as native to WordPress as the ActivityPub side already does. Nothing to announce yet. We’ll let you know when there’s something to show 😉 ## Your domain, your handle One of the headline features: your WordPress domain becomes your Bluesky handle. Instead of `@you.bsky.social`, your handle reads `@yourblog.com`. ATmosphere handles the verification side. It serves the right file at `/.well-known/atproto-did` so Bluesky can confirm the domain really belongs to you. From the settings page, it’s one click. You then open Bluesky, pick _Change Handle_ , choose _I have my own domain_ , enter your site, and you’re done. Same identity model Bluesky uses for its own custom domains, but the technical bit takes care of itself. ## Long posts, done right The hardest problem in WordPress-to-Bluesky publishing is what to do with a long article on a 300-character network. ATmosphere gives you three options from the settings page: * A **link card** , the default. A clean preview pointing back to your full post. * A **single post** combining the body text and the permalink, for when the post fits. * A **two-post teaser thread** : a hook, a body chunk, and a “continue reading” reply with the link card. The teaser surfaces reliably on bsky.app profiles, and the terminal post always offers a clear path back to the full article on your site. When you edit a threaded post, ATmosphere updates the existing Bluesky posts in place when it can, so links and replies stay connected. If you change the publishing format, ATmosphere replaces the old posts with new ones. And the full article, every paragraph of it, lives on your AT Protocol account regardless of which format you pick, so other AT Protocol-aware apps and readers can render the long version too. ## Two-way conversations When someone replies, likes, or reposts your post on Bluesky, ATmosphere checks periodically and turns those reactions into WordPress comments on the matching post. Likes and reposts get their own comment types, so they show up as engagement counts rather than duplicating as text comments. Going the other way: when a logged-in reader leaves an approved comment on a cross-posted article, it’s published to Bluesky as a reply under your original post. Edits sync. Unapprove or delete, and the corresponding Bluesky reply comes down too. Anonymous comments, trackbacks, and pingbacks are skipped. Only logged-in readers participate in the round trip. ## A few more things worth knowing * **Backfill.** A built-in tool publishes older posts to AT Protocol on demand, batched to ten at a time so it doesn’t overwhelm your server. * **Post types.** Choose which post types publish to AT Protocol from the settings page. Plugins and themes can opt their own custom post types in with `add_post_type_support( 'your_type', 'atmosphere' )`. * **Extensible.** New `atmosphere_publish_post_result` and `atmosphere_publish_comment_result` actions let other code react to publish success or failure. An `atmosphere_should_sync_reply` filter lets you suppress specific incoming replies before they become comments. ## Get It Download from WordPress.org or grab the source on GitHub. ## A dedicated blog? This blog has always been about the ActivityPub plugin, and ATmosphere is a different plugin for a different protocol, so this post is something of a guest appearance. If readers tell us they want ongoing release posts, deep dives, and roadmap notes about ATmosphere too, we’ll spin up a dedicated home for it. For now, follow along here and let us know. A huge thank-you to everyone who shaped 1.0.0, especially Brandon Kraft (@kraft) and Ryan Cowles, who carried huge pieces of the onboarding, settings, and publishing work over the last few months. Thanks also to the AT Protocol and Bluesky folks who’ve been generous with their time on the lexicon questions. Try it out, point your domain at Bluesky, publish a post, and tell us what you think. What should ATmosphere do next?
21114
Reposted by Matthias Pfefferle
Toni Schneider @toni.bsky.team · 20/05/2026
WordPress joins the Atmosphere 🙌
012326
Reposted by Matthias Pfefferle
Jeremy Herve @jeremy.herve.bzh · 20/05/2026
ATmosphere 1.0.0 — Liftoff activitypub.blog/2026/05/20/atmosph…
Banner announcing the ATmosphere WordPress plugin Banner text reads "WordPress, part of the open social web."
510522
Matthias Pfefferle @pfefferle.org · 18/05/2026
is there any other public PDS that allows signups? we need one to test an implementation!?
130
Reposted by Matthias Pfefferle
Open Channels FM Podcast Network @openchannelsfm.bsky.social · 14/04/2026
Lessons from Two Decades of Open Source and the Social Internet In this episode, host Matthias Pfefferle chats with software engineer Will Norris, discussing his extensive contributions to open standards,… openchannels.fm/lessons-from-two-de…
Post Image
021
Reposted by Matthias Pfefferle
Open Channels FM Podcast Network @openchannelsfm.bsky.social · 13/05/2026
Revisiting Web Intents and the Ongoing Challenges of Decentralized Web Services In a conversation about the future of the open web, Paul Kinlan and Matthias Pfefferle explore the challenges of… openchannels.fm/revisiting-web-inte…
Post Image
011
Reposted by Matthias Pfefferle
ActivityPub for WordPress @handle.invalid · 05/05/2026
Two weeks into Automattic's Radical Speed Month, the WordPress.com Reader has grown a Mastodon tab, a Bluesky tab, and a Google Reader-compatible API. Here's what shipped, what's still to come, and how it connects back to the ActivityPub plugin.
activitypub.blog
Radical Speed Month — The Reader Meets the Fediverse
This post is about work happening on **WordPress.com** , specifically the Reader, the long-running subscription-and-reading surface that’s been part of WordPress.com since 2008. It’s a sibling effort to the ActivityPub plugin, not a feature of it. We think it matters to plugin readers anyway, because the two pieces are converging, and the converging point is what we’ll be working on next. Two weeks ago, Automattic kicked off something internally called **Radical Speed Month** , a four-week sprint where small teams ship fast on focused projects. We (@jeremy and @pfefferle@mastodon.social) took the chance to spend it on something that’s been sitting at the edge of the Fediverse-and-WordPress conversation for a while: making the WordPress.com Reader speak Fediverse. Today is roughly the halfway mark, and the picture is clearer than we expected. Here’s what shipped, what’s in flight, and what’s still ahead. ## The thesis The Reader on WordPress.com has held a single, useful role for over a decade: it’s where your subscriptions live. Blogs, podcasts, RSS feeds. What it hasn’t done, yet, is read the open social web. Your Mastodon timeline lives in another app. Your Bluesky timeline lives in a third. The Fediverse is _out there_ , and the Reader stays _over here_. The Radical Speed Month bet: ship three protocol adapters in four weeks, and prove the Reader can become a universal aggregator. RSS / Google Reader API (so any reader app can use WordPress.com as a sync backend), ActivityPub (so Mastodon, Pixelfed, and friends show up natively), and ATProto / Bluesky (because that’s where a real chunk of the social-web conversation has gone). One Reader, every protocol you care about. If you’ve been following the ActivityPub plugin for a while, you already know one half of this story, your blog speaking _out_ to the Fediverse. The other half is reading _in_ , and that’s where this month’s work concentrates. ## What’s already landed ### Reader as a sync backend Any Google Reader-compatible app can now point at WordPress.com and use it as a sync backend. That includes Reeder, NetNewsWire, ReadKit, lire, Unread, Fiery Feeds, Feed Me, and Read You. The auth onboarding is short, and your subscriptions, read state, and stars sync across whichever app you actually like. We’re working on a setup guide that walks through the steps for the most common apps; it should land soon. This wasn’t directly Fediverse work, but it’s part of the same idea: the Reader as a backend, not a destination. If your reading habit lives in a different app, that’s fine. Your subscriptions still live on WordPress.com. ### Bluesky timelines, threads, and profiles The Bluesky / ATProto adapter has moved further than the original plan suggested. You can: * **Connect** a Bluesky account through the Reader’s connections panel, with a Verify step that confirms the handshake works on both sides. * **Read** your Bluesky home timeline as a tab in the Reader, with native rendering for facets, embeds, and quote posts. * **Follow links inward** , opening a thread in the Reader, viewing an author’s profile, browsing their posts / replies / media filter tabs, following a hashtag. * **Follow and unfollow** Bluesky accounts directly from the profile pages. * **Like** posts, **repost** posts, and **reply** to posts. A shared composer for replies is in late review. The remaining piece on the Bluesky side is **quote-posting** and **deleting your own posts** , which we’re shipping together. After that, Bluesky is a complete first-class tab in the Reader. ### Mastodon, the same shape Mastodon followed the same pattern: connect, verify, then a steady cadence of small additions like timeline, in-app threads, author profile and feed (with Posts / Replies / Media filter tabs), and tag and hashtag feeds. All of those are live for Mastodon today. What’s still coming on the Mastodon side is the equivalent of the Bluesky interaction work (favourite, boost, reply, quote) built on the same shape that worked for Bluesky. Expect those to land in the second half of this month. ## How this connects to the plugin If you read 8.1.0 — By the Numbers, you’ll have noticed a small line in the announcement: the plugin now exposes an ActivityPub API. It’s experimental, behind a feature flag, and lets third-party apps create, edit, and delete posts on your blog the way they would post to a Mastodon account. That work isn’t an accident. It’s one half of a bridge, and Radical Speed Month is the other half. The Mastodon-in-Reader work that shipped this month is _user-level_ : you connect your Mastodon account once, and the Reader can sync your Mastodon timeline regardless of where your blog lives. That’s a useful starting point, but it’s not the only path forward. The model we’ve been working toward for a year is _blog-level_ : each ActivityPub-enabled WordPress blog as its own social identity inside the Reader, with the plugin providing the actor and the ActivityPub API providing the connection. That work is **on the schedule for the second half of the month**. The radical-speed pace gave us proof first: timelines, threads, profiles, and interactions can all run through one shared pattern, with two networks already validating it. With the pattern in place and the plugin’s ActivityPub API ready to talk to, the blog-level path slots into the same architecture, letting your plugin-enabled blog appear as an ActivityPub identity in the Reader sidebar, with its inbox, its outbox, and its real ActivityPub follow graph. And because the API is part of the ActivityPub standard, the same path works for any Reader or client that speaks it, not just WordPress.com. ## What’s still planned A short list of what we’re chasing for the second half of the month and just past it: * **Quote-posting and delete-your-own-post** for both Bluesky and Mastodon, the last pieces of the interaction set. * **A shared composer** that handles replies, quote-posts, and standalone posts across networks. Already in progress on the Bluesky side; Mastodon plugs in next. * **Disconnect** , a clean way to remove a Mastodon or Bluesky connection from the Reader. * **Blog-level ActivityPub** , the design pass and first slices for plugin-enabled blogs as first-class Reader identities. The user-level work proved the pattern; this is where the plugin and the Reader actually meet. * **Tightening the shared pattern** so adding the next network (Threads, Pixelfed, whatever comes after) is incremental work. * **Wrap-up** , a metrics snapshot, an honest retrospective, and the heads-up notes our customer-support folks need before the work goes broad. ## A note on speed A month feels short to ship three protocols’ worth of reading, profiles, and interactions. It’s worth saying out loud: this didn’t happen because we worked unsustainable hours. It happened because we sat with the design for months, picked a shape that lets each protocol reuse the same plumbing, and broke the work into pieces small enough that any one was reviewable in a day or two. “Radical speed” turned out to mean: a backlog of careful design, drained quickly. ## What this means for you If you run an ActivityPub-enabled WordPress blog, whether on WordPress.com or self-hosted, the practical takeaway is small for now and meaningful soon. The plugin’s ActivityPub API in 8.1.0 is the foundation for your blog showing up as a real social identity inside any Reader or app that speaks the same protocol. The WordPress.com Reader is the first concrete target, but the universality matters: any client that implements the standard can talk to your plugin-enabled blog the same way. Already, the work this month means there’s now a Reader on WordPress.com that knows how to read the Fediverse alongside RSS and Bluesky. That’s a meaningful thing to have built, and the bridge from your plugin-enabled blog to that Reader is what the second half of the month is about. ## Tell us what you’d like to see We’ll keep posting updates as the month closes out. If you have thoughts on what blog-level ActivityPub in the Reader should look like, what protocols you’d want next, or how the plugin’s ActivityPub API should evolve to make this seamless, leave a comment on the plugin’s GitHub repository or reply on the Fediverse. We read every message.
1415
Reposted by Matthias Pfefferle
Joseph Scott @josephscott.bsky.social · 28/04/2026
I had a great time working with @itsdavemartin.bsky.social on a building a new way to use WordPress.com to easily start a private social network just for friends & family - or for those that really appreciate the short form blogging experience - wordpress.com/blog/2026/04... #wordpress
wordpress.com
A New Theme for Short-Form Blogging on WordPress.com
At WordPress.com, we believe short thoughts deserve a real home. Today we’re introducing a new theme built for quick posts, replies, and reblogs: the kind of writing that lives somewhere betw…
11510
Reposted by Matthias Pfefferle
Automattic @automattic.com · 24/04/2026
Keep an eye on #RadicalSpeedMonth to see what we create as we share updates throughout the month!
062
Reposted by Matthias Pfefferle
Jeremy Herve @jeremy.herve.bzh · 24/04/2026
Watch this space! Over the next few weeks, @pfefferle.org and I will be working on a small Hackathon to bring the open social web into the WordPress.com reader (or the other way around), so you'll have more reasons to like the… herve.bzh/bridging-the-open-web-and…
Post Image
352
Matthias Pfefferle @pfefferle.org · 24/04/2026
I am in a small hackathon project with @jeremy.herve.bzh to bring the open social web to the WordPress.com reader (or the other way around)! Stay tuned for more updates and have a nice weekend :) #bluesky #activitypub #wordpress #mastodon #fediverse #automattic #radicalspeedmonth
092
Reposted by Matthias Pfefferle
Brandon Kraft @kraft.im · 24/04/2026
Yes! The Atmosphere plugin is available on GitHub right now ( bsky.app/profile/pfef... ), and we're working on a related project to decrease the friction to just starting with ActivityPub and Atmosphere, niche content, etc. Looking to have more on that ready to demo in the next week or two :)
271
Matthias Pfefferle @pfefferle.org · 21/04/2026
Let's see if comments and likes find their way back to my blog!? matthiaspfefferle.blog/2026/04/21/3…
matthiaspfefferle.blog
Let's see if comments and likes find their way back to my blog!?
9150
Reposted by Matthias Pfefferle
Toni Schneider @toni.bsky.team · 04/04/2026
Conference Takeaways I’m back from ATmosphereConf in Vancouver, and I'm processing what I saw and heard. The atproto developer community could not have been nicer and more welcoming. Here are some takeaways. ... toni.org/2026/04/03/conference-take…
toni.org
Conference Takeaways
I’m back from ATmosphereConf in Vancouver, and I'm processing what I saw and heard. The atproto developer community could not have been nicer and more welcoming. Here are some takeaways.  The Atmosphere is bigger than social media I've been to a lot of developer conferences over the years, and what struck me most about this...
2617235
Reposted by Matthias Pfefferle
ActivityPub for WordPress @handle.invalid · 02/04/2026
Hashtag discovery in the Fediverse is limited by which servers yours knows about. tags.pub, a global hashtag server by the Social Web Foundation, fills that gap. It collects public posts and redistributes them by hashtag, so your content reaches people across the network. It works out of the box […]
activitypub.blog
Discover more of the Fediverse with tags.pub
One of the best things about the Fediverse is that conversations happen everywhere, across Mastodon, WordPress, Pixelfed, and dozens of other platforms. One of the trickiest things about the Fediverse is finding those conversations in the first place. Hashtags have always been the Fediverse’s answer to discovery. But because the network is decentralized, the posts you see for any given hashtag depend on which servers yours already knows about. If nobody on your server follows someone who posted about `#WordPressFederation`, you’ll never see that post, even though it’s public and out there. tags.pub changes that. ## What Is tags.pub? tags.pub is a global hashtag server built by the Social Web Foundation, a nonprofit dedicated to growing the open social web, and an organization Automattic is proud to partner with. The idea is simple: tags.pub collects publicly posted content from across the Fediverse and redistributes it based on hashtags. When you follow a hashtag account like `@photography@tags.pub`, you’ll see posts tagged `#photography` from servers your instance might never have heard of. It fills in the gaps that decentralization naturally creates. The project is open source (AGPL-3.0), privacy-conscious, it doesn’t store post content, images, or media, and respects user controls like `#NoTagsPub` and `#NoBots` opt-outs. ## How It Works on WordPress.com If you’re running a WordPress.com site with the ActivityPub plugin, there’s nothing to configure. tags.pub already works out of the box. Your public posts and their hashtags are discoverable across the Fediverse through tags.pub, and you can follow hashtag accounts from your Following page. ## Connecting a Self-Hosted WordPress Site For self-hosted WordPress sites, head to **Settings → ActivityPub → Settings** and scroll to the **Relay** section. Add one of these URLs: * **Inbox:** `https://tags.pub/user/_____relay_____/inbox` * **Shared Inbox:** `https://tags.pub/shared/inbox` This creates a one-way connection where your server sends public posts to tags.pub for hashtag distribution, and your posts become part of the global hashtag network. ## Following Hashtags Once connected, you can also follow specific hashtags by searching for them as accounts. For example, to follow `#WordPress` posts from across the entire Fediverse, follow: @wordpress@tags.pub Any publicly tagged post that reaches tags.pub will be boosted by that account into your timeline. When posts are edited or deleted, tags.pub updates accordingly. ## Privacy and Control tags.pub is designed with user agency in mind: * **Opt out anytime** by adding `#NoTagsPub` or `#NoBots` to your bio, your posts won’t be boosted. * **Block the domain** entirely if you prefer not to interact with the service at all. * **No content storage** , tags.pub doesn’t archive your posts, images, or media. It only maintains boost records. * **Respects blocks** , if someone blocks tags.pub, their content stays out. ## A Step Toward Better Discovery Discoverability is one of the areas we’ve identified on our 2026 roadmap as a key challenge, and services like tags.pub are exactly the kind of infrastructure that helps solve it. By connecting WordPress sites to a global hashtag network, your posts can reach people who care about the same topics, even if they’ve never heard of your blog before. If you’re already using ActivityPub for WordPress, connecting to tags.pub takes less than a minute. Give it a try and let us know how it works for you. Have you noticed more engagement from the wider Fediverse? We’d love to hear about your experience.
0319
Reposted by Matthias Pfefferle
A New Social @anew.social · 25/03/2026
Today, Bridgy Fed begins expanding beyond microblogging, starting with long-form. If your Atmosphere (Bluesky, Blacksky, Eurosky, Northsky, etc.) account is bridged, all of your @standard.site publications and documents will bridge over to the Fediverse and the web 📜↔️📃 1/4 🧵
blog.anew.social
Long-Form Comes To Bridgy Fed
Up until now, Bridgy Fed has only supported the bridging of microblogging content. Even when we bridged articles from the web or from Article types in ActivityPub, ATProtocol-based microblogs would on...
816566
Matthias Pfefferle @pfefferle.org · 21/03/2026
is there a $type for `content` to publish HTML in the standard.site lexicon?
standard.site
Standard.site - One schema. Every platform.
Standard.site provides shared lexicons for long-form publishing on AT Protocol. Making content easier to discover, index, and move across the ATmosphere.
270
Reposted by Matthias Pfefferle
A New Social @anew.social · 19/03/2026
Our very own @snarfed.org sat down with @pfefferle.org to chat about the open social web, interoperability, and building bridges 👏🏼
0123
Reposted by Matthias Pfefferle
Open Channels FM Podcast Network @openchannelsfm.bsky.social · 17/03/2026
Connecting Decentralized Social Networks and Rethinking Interoperability In this chat, Matthias and Ryan dive into Ryan's journey building tools like Bridgy to connect decentralized networks,… openchannels.fm/connecting-decentra…
Post Image
095
Matthias Pfefferle @pfefferle.org · 19/03/2026
Hello from WordPress! 👋 This post was published directly to my PDS! In the best case it show up on bsky and standard.site compatible sites! matthiaspfefferle.blog/2026/03/19/h…
matthiaspfefferle.blog
Hello from WordPress! 👋
This post was published directly to my PDS! In the best case it show up on bsky and standard.site compatible sites!
8398
Reposted by Matthias Pfefferle
Sarah Perez @sarahp.bsky.social · 11/03/2026
Alternative app store AltStore PAL joins the fediverse
techcrunch.com
Alternative app store AltStore PAL joins the fediverse | TechCrunch
AltStore PAL now supports the fediverse, using its own Mastodon server to let iOS developers share app updates and alerts across platforms like Mastodon and Threads.
043
Matthias Pfefferle @pfefferle.org · 13/02/2026
130
Matthias Pfefferle @pfefferle.org · 13/02/2026
does bluesky fully support did:web yet?
280
Matthias Pfefferle @pfefferle.org · 02/01/2026
does bluesky only support `subscribeRepos`? is there no fallback to `getRepo`. (WebSockets are hard to implement in PHP)
130