Title: Your WordPress as Your Personal Mastodon Instance
Author: Alex Kirk
Published: June 13, 2024

---

# Your WordPress as Your Personal Mastodon Instance

June 13, 2024

**tl;dr:** Three plugins can transform your WordPress install to your personal [Mastodon](https://joinmastodon.org/)
Instance: [ActivityPub](https://wordpress.org/plugins/activitypub/), [Enable Mastodon Apps](https://wordpress.org/plugins/enable-mastodon-apps/),
and [Friends](https://wordpress.org/plugins/friends/).

As you might know, I am the author of the [Friends plugin for WordPress](https://wordpress.org/plugins/friends/).
I started this in 2018 with the idea (which I [later described in a vision post](https://alex.kirk.at/2021/01/21/reducing-our-dependency-on-third-party-platforms-for-our-online-activity/))
that something like Facebook (with private posts) could be implemented decentralized
between WordPresses (and later other blogs/cmses).

To be honest, the effort is and stays somewhat niche. Social networks are good at
locking people in, discovery is better, and many of my friends don’t actually run
their own blog.

### Joining the Fediverse

A few years later, [Mastodon](https://joinmastodon.org/) became big, and having 
been in contact with [Matthias Pfefferle](https://notiz.blog), I realized (after
he repeatedly poked me) that it’d be great to join forces with [his ActivityPub plugin](https://wordpress.org/plugins/activitypub/)(
later [acquired by Automattic](https://wordpress.com/blog/2023/03/17/making-the-social-web-a-better-place-activitypub-for-wordpress-joins-the-automattic-family/)):
it allows people on Mastodon and other ActivityPub networks to follow your WordPress
blog directly, not utilizing the then common “Share to Twitter” et al functionality.

So, when you have both ActivityPub and Friends installed, you can be followed and
follow people on Mastodon. [The Friends plugin compiles a feed](https://wpfriends.at/consume-the-web-your-way/)
of your follows (mixed in or separately also with all your RSS subscriptions).

![A screenshot of the Friends plugin home screen feed.](https://alex.kirk.at/wp-
content/uploads/sites/2/2024/06/friends-mixed-feed-1024x670.png)

This shows my private Friends page where statuses and posts display mixed (you can
also have pure views)

This was already nice, but Matthias and I both had to implement further elements
to be truly integrated into Mastodon conversations: [the ActivityPub plugin implemented replies with comments](https://github.com/Automattic/wordpress-activitypub/pull/550),
Friends [implemented Boosting](https://github.com/akirk/friends/pull/287) and [Replying to any (ActivityPub) URL](https://github.com/akirk/friends/pull/307),
and [much](https://github.com/Automattic/wordpress-activitypub/pulls?q=is%3Apr+is%3Aclosed)
[more](https://github.com/akirk/friends/pulls?q=is%3Apr+is%3Aclosed).

![Screenshot of the ActivityPub Admin Screen](https://alex.kirk.at/wp-content/uploads/
sites/2/2024/06/activitypub-admin-1024x615.png)

The ActivityPub admin page shows your Mastodon Handle

### A (Mobile) App Ecosystem

Still, there was one piece missing. Mastodon has a [thriving third-party app ecosystem](https://joinmastodon.org/apps).
The UI of Mastodon as well of Friends (while [completely customizable](https://github.com/akirk/friends/wiki/Customizing-the-style-of-your-own-Friends-page)),
is not to everyone’s taste, but you have a huge selection of apps to match your 
taste.

So, in the very end of 2022, I started to work on the [Enable Mastodon Apps](https://wordpress.org/plugins/enable-mastodon-apps/)
plugin. It implements the [same API that Mastodon implements for talking to its clients](https://docs.joinmastodon.org/api/),
just in WordPress.

![A screenshot of Mastodon apps](https://alex.kirk.at/wp-content/uploads/sites/2/
2024/06/mastodon-apps-ecosystem-1024x732.png)

Today the [official directory](https://joinmastodon.org/apps) lists 56 apps, likely
many more exist

It was quite a wild ride (that likely is not over yet), reverse engineering some
clients because they would crash even if the plugin spoke exactly [what the docs defined](https://docs.joinmastodon.org/api/guidelines/).
The reason being that most apps (understandably) assume some further truths that
are valid for [Mastodon’s implementation](https://github.com/mastodon/mastodon/),
like ids, while being [defined to be of string value](https://docs.joinmastodon.org/entities/Status/#id),
actually need to be numbers. [Eugen Rochko](https://github.com/Gargron) actually
later confirmed to me that this specific choice was merely made to avoid troubles
with very large ids.

Last week, I [released 0.9.0 of Enable Mastodon Apps](https://github.com/akirk/enable-mastodon-apps/releases)
which is almost a rewrite, fueled by [contributors at the CloudFest Hackathon](https://hackathon.cloudfest.com/project/enable-mastodon-apps-for-wordpress-and-its-plugins/):
special thanks to [Matthias Pfefferle](https://notiz.blog) for hosting it, [Matthias Kittsteiner](https://kittmedia.com),
[Konstantin Obenland](https://konstantin.obenland.it/), and [Ralf Wiechers](https://www.drivingralle.de)
for your contributions! This resulted in a more stable implementation ([ensuring correct JSONs](https://github.com/akirk/enable-mastodon-apps/blob/main/includes/entity/class-entity.php#L40))
and a stricter separation of concerns.

### Combining the Power of Three Plugins

So the combination of the three plugins now gives you the ability to fully interact
with the Fediverse while not having to host your own Mastodon [which comes with quite a list of requirements](https://docs.joinmastodon.org/user/run-your-own/).

Granted, there are still rough edges (please help discover and fixing them by reporting
in the [respective](https://github.com/Automattic/wordpress-activitypub/issues) 
[Github](https://github.com/akirk/friends/issues) [issues](https://github.com/akirk/enable-mastodon-apps/issues))
and we yet only have experience with a couple hundred followers and follows. But
that works already reliably.

Each of the plugins are useful on their own:

 * If you have just the [ActivityPub plugin](https://wordpress.org/plugins/activitypub/),
   people can follow your blog on the fediverse, can comment from the fediverse 
   on your posts and your replies will go back into the fediverse.
 * If you have just the [Enable Mastodon Apps plugin](https://wordpress.org/plugins/enable-mastodon-apps/),
   you can use Mastodon Apps to see the posts on your blog (useful if it’s a multi-
   people blog), reply and submit new posts.
 * If you have just the [Friends plugin](https://wordpress.org/plugins/friends/),
   you can connect WordPresses, follow RSS feeds, get keyword notifications, apply
   feed rules, react on posts with emoji (there is a bit of an ecosystem of its 
   own, with further plugins [Post Collection](https://github.com/akirk/friends-post-collection)
   and [Send to E-Reader](https://github.com/akirk/friends-send-to-e-reader)).

Together, by making use of [WordPress hooks](https://developer.wordpress.org/plugins/hooks/)(
see for example the [Enable Mastodon Apps Hooks Documentation](https://github.com/akirk/enable-mastodon-apps/wiki/Hooks)),
the plugin extend each other’s API responses or UI. What travels over the the ActivityPub
protocol is handled by the ActivityPub plugin. When a feed of posts is involved,
the Friends plugin will fill in your friends’ posts. And so on.

### Alternative UIs

It’s really quite something to be able to browse your own blog, or statuses and 
blogs you follow with apps like [Phanpy](https://phanpy.social/) (web), [Elk](https://elk.zone/)(
web), [Mammoth](https://getmammoth.app/) (macOS, iPad, iOS), or [Tusky](https://github.com/tuskyapp/Tusky)(
Android) or [Ivory](https://tapbots.com/ivory/) (macOS and iOS).

The posting experience from mobile using a Mastodon App can be better than with 
the [standard WordPress mobile apps](https://wordpress.org/mobile/). Each app covers
a different use case and has posting UI specialized in that.

### Empower Your WordPress!

I believe that the Fediverse comes to the rescue of blogging. Unfortunately, years
ago the comment sections of the web were killed by spam. The fediverse now reopens
meaningful interaction with your blog posts. Comments from the Fediverse appear 
in your blog and your responses are sent back as replies. That gets conversations
going again!

To try it out, you can use [WordPress “run WordPress in your browser” Playground](https://wordpress.org/playground/)
to take a little glimpse at the plugins without having to install it: Note that,
because of its JS nature, playground is in a sandbox and can only connect to CORS
enabled URLs.

 * [WordPress Playground: Friends Welcome Screen](https://wordpress.org/plugins/friends/?preview=1)
 * [WordPress Playground: A pre-configured Friends plugin](https://playground.wordpress.net/?blueprint-url=https://alex.kirk.at/friendsdemo1.blueprint.json)
 * [WordPress Playground: Enable Mastodon Apps](https://wordpress.org/plugins/enable-mastodon-apps/?preview=1)
 * [WordPress Playground: ActivityPub](https://playground.wordpress.net/?plugin=activitypub&url=/wp-admin/admin.php?page=activitypub)

Finally, these are the links to the WordPress plugin directory:

 * [ActivityPub](https://wordpress.org/plugins/activitypub/): have conversations
   about your blog posts across the fediverse.
 * [Enable Mastodon Apps](https://wordpress.org/plugins/enable-mastodon-apps/): 
   make WordPress compatible with Mastodon apps.
 * [Friends](https://wordpress.org/plugins/friends/): follow others via RSS or ActivityPub.

Thanks for reading, I am curious for your opinions! You can reply to this post on
the fediverse!

###### Fediverse Reactions

 *  [ ⌊Annette Schwindt⌉ ](https://bonn.social/@annette)

 *  [ ⌊Marcus⌉ ](https://mastodon.social/@habercore)

[Enable Mastodon Apps](https://alex.kirk.at/category/wordpress/enable-mastodon-apps/),
[Fediverse](https://alex.kirk.at/category/fediverse/), [Friends Plugin](https://alex.kirk.at/category/wordpress/friends-plugin/),
[Open Web](https://alex.kirk.at/category/open-web/), [Web](https://alex.kirk.at/category/web/),
[WordPress](https://alex.kirk.at/category/wordpress/)

[ActivityPub](https://alex.kirk.at/tag/activitypub/), [Mastodon](https://alex.kirk.at/tag/mastodon/),
[WordPress](https://alex.kirk.at/tag/wordpress/)

Read this next

[Previous Post](https://alex.kirk.at/2024/06/08/1989541/)

## 9 responses to “Your WordPress as Your Personal Mastodon Instance”

 1.  [alex.kirk.at](https://alex.kirk.at/)
 2.  [August 25, 2022](https://alex.kirk.at/2024/06/13/your-wordpress-as-your-personal-mastodon-instance/comment-page-1/#comment-87988)
 3.  Hi there, I’m Alex Kirk, a web application programmer and experienced lead of 
     remote teams, based in Vienna, Austria. I speak German and English. I…
 4.  [Log in to Reply](https://alex.kirk.at/wp-login.php?redirect_to=https%3A%2F%2Falex.kirk.at%2F2024%2F06%2F13%2Fyour-wordpress-as-your-personal-mastodon-instance%2F)
 5.  ![Alex Kirk Avatar](https://alex.kirk.at/wp-content/uploads/sites/2/2025/06/cropped-
     2025.Alex-512x512-1-48x48.jpg)
 6.  [Alex Kirk](https://alex.kirk.at/)
 7.  [June 13, 2024](https://alex.kirk.at/2024/06/13/your-wordpress-as-your-personal-mastodon-instance/comment-page-1/#comment-85176)
 8.  Thanks for your perspective! In my experience, using a theme that supports post
     formats in the sense that you can opt to only show standard posts on the front
     page should be enough.
      Your status posts still have public permalinks and a comments
     thread but are not shown on the front page. There are indeed pro/con arguments
     vs having 3 plugins. Some want small plugins that just do what they need, others
     don’t like installing multiple plugins. I wish WordPress had support for something
     like plugin bundles, the plugin requirements are not quite that. We’ve already
     been toying with the idea of manually bundling the three plugins into one for 
     easier handling. We’re getting closer to [implementing “move account” functionality](https://github.com/Automattic/wordpress-activitypub/pull/685),
     I agree that you should be able to move to WordPress and back if you discover 
     it’s not yet quite there for you yet. I personally have just started on my own
     blog on day one but obviously many are already on a Mastodon server!
 9.  [Log in to Reply](https://alex.kirk.at/wp-login.php?redirect_to=https%3A%2F%2Falex.kirk.at%2F2024%2F06%2F13%2Fyour-wordpress-as-your-personal-mastodon-instance%2F)
 10. ![StuartB Avatar](https://alex.kirk.at/wp-content/uploads/sites/2/activitypub/
     actors/2826295/f2e4379e070114fcecae2745cee6c19c.webp)
 11. [StuartB](https://social.teamb.space/@stuartb)
 12. [June 13, 2024](https://social.teamb.space/@stuartb/112610420920235472)
 13. [@alex](https://alex.kirk.at/author/alex/)I've been looking at doing this for 
     a pair of low-traffic/ low update rate projects that don't quite warrant having
     their own site as well as their own [#Fediverse](https://social.teamb.space/tags/Fediverse)
     account on my self-hosted Masto server.I've got a 3 day weekend next week, might
     have to soft-launch one of them then…[@pfefferle](https://mastodon.social/@pfefferle)
 14. ![Aslak Raanes Avatar](https://alex.kirk.at/wp-content/uploads/sites/2/activitypub/
     actors/1998159/5d367c195f189e89b9b83dbe608b1c14.webp)
 15. [Aslak Raanes](https://mastodon.social/@aslakr)
 16. [June 14, 2024](https://mastodon.social/@aslakr/112617069133459533)
 17. [@alex](https://alex.kirk.at/author/alex/) With your Friends-plugin the bluesky
     bridge seems to kind of work
 18. [alex.kirk.at](https://alex.kirk.at/2024/11/22/help-make-the-friends-plugin-pretty/)
 19. [November 22, 2024](https://alex.kirk.at/2024/06/13/your-wordpress-as-your-personal-mastodon-instance/comment-page-1/#comment-87905)
 20. While I keep maintaining my Friends plugin for WordPress, there is an area where
     it could do better because I am not great at it:…
 21. [Log in to Reply](https://alex.kirk.at/wp-login.php?redirect_to=https%3A%2F%2Falex.kirk.at%2F2024%2F06%2F13%2Fyour-wordpress-as-your-personal-mastodon-instance%2F)
 22. [Reblog of Alex Kirk: Help Make (the) Friends (Plugin) Pretty – John Eckman](https://johneckman.com/2024/11/22/reblog-of-alex-kirk-help-make-the-friends-plugin-pretty/)
 23. [November 22, 2024](https://alex.kirk.at/2024/06/13/your-wordpress-as-your-personal-mastodon-instance/comment-page-1/#comment-87907)
 24. […] It is quite likely that people were detracted from getting started with the
     Friends plugin because they don’t like the current theme (hat tip Robert Windisch
     and his talk at WordCamp Karlsruhe) but this would be too bad, because I believe
     it is an empowering tool, allowing you to become less dependent on third-party
     vendors, even if you’re “just” using it to make your own WordPress your full featured,
     personal Mastodon instance. […]
 25. [Log in to Reply](https://alex.kirk.at/wp-login.php?redirect_to=https%3A%2F%2Falex.kirk.at%2F2024%2F06%2F13%2Fyour-wordpress-as-your-personal-mastodon-instance%2F)
 26. [Gerard Braad](https://mastodon.social/@gbraad)
 27. [January 24, 2025](https://alex.kirk.at/2024/06/13/your-wordpress-as-your-personal-mastodon-instance/comment-page-1/#comment-87922)
 28. Leaving the current drama around WordPress.org aside for now, I believe that there
     is a use case for WordPress that is heavily underutilized: Using WordPress…
 29. [Log in to Reply](https://alex.kirk.at/wp-login.php?redirect_to=https%3A%2F%2Falex.kirk.at%2F2024%2F06%2F13%2Fyour-wordpress-as-your-personal-mastodon-instance%2F)
 30. [alex.kirk.at](https://alex.kirk.at/2025/04/24/wordpress-as-a-refuge-from-algorithms/)
 31. [April 24, 2025](https://alex.kirk.at/2024/06/13/your-wordpress-as-your-personal-mastodon-instance/comment-page-1/#comment-87996)
 32. In a previous post, I have written about how you can use WordPress as your own
     Mastodon instance with the three plugins ActivityPub, Friends, and…
 33. [Log in to Reply](https://alex.kirk.at/wp-login.php?redirect_to=https%3A%2F%2Falex.kirk.at%2F2024%2F06%2F13%2Fyour-wordpress-as-your-personal-mastodon-instance%2F)
 34. [Rebooting The Blogosphere (Part 1: Activities) – Climb to the Stars](https://climbtothestars.org/archives/2025/09/10/rebooting-the-blogosphere-part-1-activities/)
 35. [September 10, 2025](https://alex.kirk.at/2024/06/13/your-wordpress-as-your-personal-mastodon-instance/comment-page-1/#comment-88066)
 36. […] like making WordPress and Mastodon work together and FeedLand (in short, it
     makes your RSS subscriptions visible on your blog; check the new shiny […]
 37. [Log in to Reply](https://alex.kirk.at/wp-login.php?redirect_to=https%3A%2F%2Falex.kirk.at%2F2024%2F06%2F13%2Fyour-wordpress-as-your-personal-mastodon-instance%2F)

### Leave a Reply 󠀁[Cancel reply](https://alex.kirk.at/2024/06/13/your-wordpress-as-your-personal-mastodon-instance/?output_format=md#respond)󠁿

Only people in [my network](https://alex.kirk.at/friends/) can comment.

This site uses Akismet to reduce spam. [Learn how your comment data is processed.](https://akismet.com/privacy/)