On the big platforms, a verified badge is something you buy or are granted. On Mastodon and Bluesky it is something you prove, for free, and the thing you prove it with is your own website.

That is a quiet argument for having a website at all. Your domain becomes the fixed point, and your social accounts hang off it. If you ever move from one server or network to another, the proof moves with you.

There are three separate things you can set up. Each takes a few minutes and one small addition to your site.

Mastodon profiles have fields for links. A link shows as verified when the page it points to links back to your Mastodon profile in a particular way.

What your site needs: a link to your Mastodon profile that carries rel="me".

<a rel="me" href="https://mastodon.social/@you">Mastodon</a>

It can be a visible link, in your footer or on your About page, or an invisible <link> in the page’s head.

What to do in Mastodon: edit your profile, put your site’s address in one of the profile fields, and save.

The details that trip people up:

rel="me" isn’t a Mastodon invention. It is an old, simple convention for saying “this other page is also me”, and other tools read it too.

2. Being credited as the author

Since version 4.3, Mastodon can show who wrote a page when someone shares a link to it. Under the preview, readers see your name, and it leads to your profile. For a writer it is the more useful of the two features, because it travels with every share of your work, not only your own.

What your site needs: a line in the head of each article.

<meta name="fediverse:creator" content="@you@mastodon.social">

What to do in Mastodon: this is the step that gets missed. Mastodon will only credit you on sites you have said may credit you. Go to Preferences → Public profile → Verification, find Author attribution, and add your site’s domain to the list of websites allowed to credit you.

Without that, anyone could put your handle on their page. With it, the claim has to be made from both sides, which is the same idea as the verified link.

3. Your domain as your Bluesky handle

Bluesky handles are domain names. you.bsky.social is one that Bluesky lends you. If you own yourname.com, your handle can simply be @yourname.com, and that is its own kind of verification: only the person who controls the domain can claim it.

In Bluesky, go to Settings → Account → Handle and choose I have my own domain. You are offered two ways to prove the domain is yours.

MethodWhat you do
DNSAdd a TXT record at _atproto.yourname.com with the value Bluesky shows, which starts did=did:plc:.
No DNS panelPut a small text file on your website at /.well-known/atproto-did, containing just the did:plc:… value.

The DNS method is the one Bluesky’s own specification recommends, and it works wherever your website is hosted. The file method is for when you can’t edit DNS, or would rather not. For the file:

When the record or the file is in place, press Bluesky’s verify button. Your posts, followers and everything else stay exactly as they were. Only the name changes.

Why do this from a static site

None of this needs a server, a plugin or an account with anyone new. It is one link, one line and one file. A static site is a good home for them because they never change: once they are in your pages, every page you ever publish carries them.

It also costs your readers nothing. Proving who you are this way doesn’t put a social network’s script on your site, or tell that network who is reading you.

Where Selfish fits

Selfish is a native app for iPhone, iPad and Mac that builds a static site and publishes it to hosting you control. All three of these are fields in its Readers & Links settings.

Nothing on your pages loads from Mastodon or Bluesky, and a site that uses none of this is unchanged. Selfish is on the App Store as a one-time purchase, at a £3.99 introductory price, rising to £9.99 in December. Readers, feeds and links covers each field.