Custom Domains & The Social Web

Screenshot of my Threads profile with the "" domain circled in red.In the future, the profiles you see on Threads won’t always be from Threads.

With the news in December that Threads was starting to test an ActivityPub integration, there has been a steady flow of articles about what Meta’s support for this W3C Protocol means for the future of social media. One of my favorites is Colin Devroe’s post about how ActivityPub will cross the chasm in 2024.

As Colin pointed out, the momentum around ActivityPub goes far beyond just following a handful of Threads accounts from Mastodon. Once ActivityPub is fully implemented in Threads, even more services will build integrations, allowing people to follow and engage in conversations across a myriad of platforms.

Screenshot of a recent post from Adam Mosseri as seen on Mastodon.When following someone on Mastodon, the domain is displayed with the username.

To follow another user on Threads, you only need to know their username. Just like an email address though, a full social address includes both a username and a server. For instance, if you want to keep up with Adam Mosseri’s Threads posts on Mastodon (or any other ActivityPub connected platform) you’ll have to look for him as One of the biggest opportunities that will come from ActivityPub crossing the chasm is the possibility of truly owning your node on the social graph—both the username and the domain.

I wrote about choosing a Mastodon server a while ago and explained that rather than tying your social identity to an existing server, it’s possible to start your own server. This is fairly common on federated social and I should pause here to note that while I’ll focus on Mastodon examples in this post, choosing a social address applies to most ActivityPub software. You can connect with Mastodon (and eventually Threads) users from a self-hosted instance of Takahē, GoToSocial, Pleroma, or one of the many other fediverse platforms that speak ActivityPub.


Most of my Mastodon friends are on large general or tech/design topic servers, but I follow quite a few folks who are broadcasting from their own single-user instances. Here are the ten most popular self-hosted individuals I follow, sorted by follower count:

Paul Stamatiou wrote a detailed article about hosting your own Mastodon server. It covers everything you need to know, whether you plan to administer your own server or use a dedicated Mastodon hosting provider like


Screenshot of a recent post from Mastodon app Mammoth allows new users to join to simplify onboarding.

While the idea of interacting with people online from your own domain is appealing for individuals, it could be even moreso for businesses and non-profits. Companies like Medium, Mozilla, and Flipboard have made it possible for users to easily create Fediverse accounts, but it isn’t common yet for companies to start Mastodon servers for their brand or to host employee accounts. Once Threads is fully integrated with ActivityPub though, I believe this will become much more common, especially for larger organizations.


There are some Mastodon servers (e.g., specifically for journalists but it would be great if more news outlets and online publications started their own servers. This would allow journalists to share from professional profiles and could provide inherent account verification.


Perhaps the most interesting use case for self-hosting is government services. ActivityPub already allows some governments to connect with constituents without being directly associated with a social network or a particular server instance.

Social Domain Selection

Screenshot of a recent post from Macstories with the username circledThe domain for MacStories’ Mastodon server is but profiles show up without the subdomain prefix.

I’m currently on Medium’s Mastodon server as but have been considering a move over to with my own domain. Domain selection is one of the things that has kept me from making the jump.

It’s common practice (as you can see from the examples above) to either register the .social TLD for your current domain or use a subdomain like social or mastodon as a social server address. I don’t like the generic subdomain pattern at all. It makes for long social addresses and in some Mastodon client apps, domains on messages get truncated, so you might only see @social.j.... For my own move, I’ve thought about repurposing my seldom-used URL shortener domain,, but I’m not a big fan of that either as it’s not my primary domain.

Thanks to the ActivityPub plugin for WordPress, you can follow posts from my blog as I’d like for that to be my social address for everything. I imagine most businesses would want to use their primary brand domain as well, so I was pleasantly surprised when I learned it was possible to have Mastodon installed on one domain, but have profiles displaying a different one. For example, MacStories’ mastodon server is at but all of their accounts show up as This can be set up with the WEB_DOMAIN variable in Mastodon’s configuration.

Until ActivityPub accounts can be followed on Threads, I’ll stay put on my current Mastodon account. Once that chasm is crossed though, you can bet I won’t be the only one migrating over to my own server.

Header Photo by Michael Podger on Unsplash

2 comments on “Custom Domains & The Social Web

Thank you for the mention. I too am biding my time before I am on my own domain. I’ve been thinking that the Mastodon project itself will focus on making it easier for single-user or very few-user instances but I believe they’ve been tackling much larger issues so far.

I imagine streamlining Mastodon for single-user instances is rightfully low on their list of priorities. One of my colleagues at work just spun up his own single-user GoToSocial server because the instance he was on joined the FediPact. I respect the reasons why some admins have taken this position, but access to the Threads community is certainly another factor that might drive more people and orgs to self-host.

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to the top!