1,000+
December 16, 2025
April 20, 2010
WebFinger allows you to be discovered on the web using an identifier like you@yourdomain.com — similar to how email works, but for your online identity.
Why is this useful?
How it works:
When someone searches for @you@yourdomain.com on Mastodon or another federated service, their server asks your WordPress site: “Who is this person?” WebFinger answers that question by providing information about you and links to your profiles.
Technical details:
WebFinger is an open standard (RFC 7033) that enables discovery of information about people and resources on the internet. It works by responding to requests at /.well-known/webfinger on your domain.
webfinger folder to /wp-content/plugins/Go to Users Profile in your WordPress admin and scroll down to the “WebFinger” section. There you can set a custom identifier (the part before the @) and see all your WebFinger aliases.
Visit Tools Site Health in your WordPress admin. The plugin adds checks that verify your WebFinger endpoint is accessible and properly configured. If there are any issues, you’ll see guidance on how to fix them.
Yes! WebFinger is the standard that Mastodon and other Fediverse platforms use to discover users. When someone searches for @you@yourdomain.com, WebFinger tells them where to find your profile.
Yes. WebFinger requires pretty permalinks to be enabled. Go to Settings Permalinks and select any option other than “Plain”.
Use the webfinger_data filter to add your own links or properties:
add_filter( 'webfinger_data', function( $data ) {
$data['links'][] = array(
'rel' => 'http://example.com/rel/profile',
'href' => 'http://example.com/profile',
'type' => 'text/html',
);
return $data;
} );
Use the webfinger_render action to output custom formats (like XRD):
add_action( 'webfinger_render', function( $webfinger ) {
// Set custom headers and output your format
// ...
exit;
}, 5 );
See https://github.com/pfefferle/wordpress-webfinger-legacy for a complete example.
Project maintained on github at pfefferle/wordpress-webfinger.
filter_by_rel to prevent errors when WebFinger lookup failsacct scheme for discoveryacct as default schemeacct protocol optionaluser_nicename as resourceget_avatar_url instead of custom code| Version | Download | Type |
|---|---|---|
| 4.0.1 | Download | Stable |
| 4.0.0 | Download | Stable |
| 3.2.7 | Download | Stable |
| 3.2.6 | Download | Stable |
| 3.2.5 | Download | Stable |
| 3.2.4 | Download | Stable |
| 3.2.3 | Download | Stable |
| 3.2.2 | Download | Stable |
| 3.2.1 | Download | Stable |
| 3.2.0 | Download | Stable |
| 3.1.6 | Download | Stable |
| 3.1.5 | Download | Stable |
| 3.1.4 | Download | Stable |
| 3.1.3 | Download | Stable |
| 3.1.2 | Download | Stable |
| 3.1.1 | Download | Stable |
| 3.1.0 | Download | Stable |
| 3.0.4 | Download | Stable |
| 3.0.3 | Download | Stable |
| 3.0.2 | Download | Stable |
| 3.0.1 | Download | Stable |
| 3.0.0 | Download | Stable |
| 2.0.1 | Download | Stable |
| 2.0.0 | Download | Stable |
| 1.3.1 | Download | Stable |
| 1.3 | Download | Stable |
| 1.2 | Download | Stable |
| 1.1 | Download | Stable |
| 1.0.1 | Download | Stable |
| 1.0 | Download | Stable |
| 0.9.1 | Download | Stable |
| 0.9 | Download | Stable |
| 0.7 | Download | Stable |
| 0.5 | Download | Stable |
| Development | Download | Trunk |