PHPackages                             pfefferle/wordpress-webfinger - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. pfefferle/wordpress-webfinger

ActiveWordpress-plugin[Utility &amp; Helpers](/categories/utility)

pfefferle/wordpress-webfinger
=============================

WebFinger for WordPress

4.0.1(6mo ago)213246[1 PRs](https://github.com/pfefferle/wordpress-webfinger/pulls)MITPHPPHP &gt;=7.2CI passing

Since Jan 26Pushed 1w ago2 watchersCompare

[ Source](https://github.com/pfefferle/wordpress-webfinger)[ Packagist](https://packagist.org/packages/pfefferle/wordpress-webfinger)[ Fund](https://notiz.blog/donate/)[ RSS](/packages/pfefferle-wordpress-webfinger/feed)WikiDiscussions main Synced yesterday

READMEChangelog (10)Dependencies (8)Versions (23)Used By (0)

WebFinger
=========

[](#webfinger)

- Contributors: pfefferle, willnorris
- Donate link:
- Tags: discovery, webfinger, JRD, ostatus, activitypub
- Requires at least: 4.2
- Tested up to: 7.0
- Stable tag: 4.0.1
- Requires PHP: 7.4
- License: MIT
- License URI:

WebFinger for WordPress

Description
-----------

[](#description)

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?**

- **Fediverse &amp; Mastodon:** WebFinger is essential for federation. It allows Mastodon and other ActivityPub-powered platforms to find and follow your WordPress site.
- **Decentralized Identity:** People can look you up using your WordPress domain, making your site the canonical source for your online identity.
- **Works with other plugins:** This plugin provides the foundation that other plugins (like the ActivityPub plugin) build upon.

**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](http://tools.ietf.org/html/rfc7033)) 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.

Frequently Asked Questions
--------------------------

[](#frequently-asked-questions)

### How do I customize my WebFinger identifier?

[](#how-do-i-customize-my-webfinger-identifier)

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.

### How do I check if WebFinger is working?

[](#how-do-i-check-if-webfinger-is-working)

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.

### Does this work with Mastodon?

[](#does-this-work-with-mastodon)

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.

### Do I need pretty permalinks?

[](#do-i-need-pretty-permalinks)

Yes. WebFinger requires pretty permalinks to be enabled. Go to **Settings → Permalinks** and select any option other than "Plain".

### For developers: How do I add custom data to the WebFinger response?

[](#for-developers-how-do-i-add-custom-data-to-the-webfinger-response)

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;
} );

```

### For developers: How do I add alternate output formats?

[](#for-developers-how-do-i-add-alternate-output-formats)

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  for a complete example.

### Where can I learn more about WebFinger?

[](#where-can-i-learn-more-about-webfinger)

- WebFinger specification: [RFC 7033](http://tools.ietf.org/html/rfc7033)
- Community resources:

Upgrade Notice
--------------

[](#upgrade-notice)

### 4.0.0

[](#400)

This is a major update with new features (Site Health checks, user profile settings) and requires PHP 7.2 or higher. After updating, visit **Tools → Site Health** to verify your WebFinger setup is working correctly.

### 3.0.0

[](#300)

This version drops classic WebFinger (XRD) support to keep the plugin lightweight. If you need legacy XRD format support, install the [WebFinger Legacy](https://github.com/pfefferle/wordpress-webfinger-legacy) plugin.

Changelog
---------

[](#changelog)

Project maintained on github at [pfefferle/wordpress-webfinger](https://github.com/pfefferle/wordpress-webfinger).

### 4.0.1

[](#401)

- Fixed: Handle WP\_Error objects in `filter_by_rel` to prevent errors when WebFinger lookup fails

### 4.0.0

[](#400-1)

- Added: Site Health integration to check your WebFinger setup status directly in WordPress
- Added: User profile settings to customize your WebFinger identifier
- Added: Verification links to easily test your WebFinger aliases
- Improved: Security hardening for URI parsing and input validation
- Improved: Modernized codebase for PHP 7.2+ with namespace support
- Improved: Better organized code structure with separate classes
- Updated: Development infrastructure with GitHub Actions for automated testing

### 3.2.7

[](#327)

- Added: better output escaping
- Fixed: stricter queries

### 3.2.6

[](#326)

- remove E-Mail address

### 3.2.5

[](#325)

- fix typo

### 3.2.4

[](#324)

- update requirements

### 3.2.3

[](#323)

- fixed `acct` scheme for discovery

### 3.2.2

[](#322)

- fixed typo (thanks @ivucica)
- use `acct` as default scheme

### 3.2.1

[](#321)

- make `acct` protocol optional

### 3.2.0

[](#320)

- global refactoring

### 3.1.6

[](#316)

- added `user_nicename` as resource
- fixed WordPress coding standard issues

### 3.1.5

[](#315)

- fixed PHP warning

### 3.1.4

[](#314)

- updated requirements

### 3.1.3

[](#313)

- add support for the 'aim', 'ymsgr' and 'acct' protocol

### 3.1.2

[](#312)

- fixed the legacy code
- added feeds

### 3.1.1

[](#311)

- fixed 'get\_user\_by\_various' function

### 3.1.0

[](#310)

- Added WebFinger legacy plugin, because the legacy version is still very popular and used by for example OStatus (Mastodon, Status.NET and GNU Social)
- Added Webfinger for posts support

### 3.0.3

[](#303)

- composer support
- compatibility updates

### 3.0.2

[](#302)

- `get_avatar_url` instead of custom code
- some small code improvements
- nicer PHP-docs

### 3.0.1

[](#301)

- updated version informations
- support the WordPress Coding Standard

### 3.0.0

[](#300-1)

- added correct error-responses
- remove legacy support for XRD and host-meta (props to Will Norris)

### 2.0.1

[](#201)

- small bugfix

### 2.0.0

[](#200)

- complete refactoring
- removed simple-web-discovery
- more filters and actions
- works without /.well-known/ plugin

### 1.4.0

[](#140)

- small fixes
- added "webfinger" as well-known uri

### 1.3.1

[](#131)

- added "rel"-filter (work in progress)
- added more aliases

### 1.3

[](#13)

- added host-meta resource feature (see latest spec)

### 1.2

[](#12)

- added 404 http error if user doesn't exist
- added jrd discovery for host-meta

### 1.1

[](#11)

- fixed an odd problem with lower WordPress versions
- added support for the  (thanks to Singpolyma)

### 1.0.1

[](#101)

- api improvements

### 1.0

[](#10)

- basic simple-seb-discovery
- json support
- some small improvements

### 0.9.1

[](#091)

- some changes to support

### 0.9

[](#09)

- OStatus improvements
- Better uri handling
- Identifier overview (more to come)
- Added filters
- Added functions to get a users webfingers

### 0.7

[](#07)

- Added do\_action param (for future OStatus plugin)
- Author-Url as Webfinger-Identifier

### 0.5

[](#05)

- Initial release

Installation
------------

[](#installation)

### From WordPress.org (recommended)

[](#from-wordpressorg-recommended)

1. Go to **Plugins → Add New** in your WordPress admin
2. Search for "webfinger"
3. Click **Install Now**, then **Activate**
4. Make sure pretty permalinks are enabled (**Settings → Permalinks** — select any option except "Plain")
5. Visit **Tools → Site Health** to verify everything is working

### Manual Installation

[](#manual-installation)

1. Download the plugin from [WordPress.org](https://wordpress.org/plugins/webfinger/) or [GitHub](https://github.com/pfefferle/wordpress-webfinger/releases)
2. Upload the `webfinger` folder to `/wp-content/plugins/`
3. Activate the plugin in **Plugins → Installed Plugins**
4. Enable pretty permalinks if not already active
5. Check **Tools → Site Health** to confirm the setup

###  Health Score

51

—

FairBetter than 95% of packages

Maintenance84

Actively maintained with recent releases

Popularity23

Limited adoption so far

Community17

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 85.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~180 days

Recently: every ~512 days

Total

19

Last Release

197d ago

Major Versions

3.2.7 → 4.0.02025-12-09

PHP version history (2 changes)3.0.3PHP &gt;=5.6.0

4.0.0PHP &gt;=7.2

### Community

Maintainers

![](https://www.gravatar.com/avatar/2e3d56273f319d19d7492f8ba06a01fd64a5724e3553b2d1f2ac0f4e399b2cfa?d=identicon)[pfefferle](/maintainers/pfefferle)

---

Top Contributors

[![pfefferle](https://avatars.githubusercontent.com/u/2373?v=4)](https://github.com/pfefferle "pfefferle (234 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (34 commits)")[![willnorris](https://avatars.githubusercontent.com/u/1112?v=4)](https://github.com/willnorris "willnorris (3 commits)")[![alexmufatti](https://avatars.githubusercontent.com/u/1402082?v=4)](https://github.com/alexmufatti "alexmufatti (1 commits)")[![hinaloe](https://avatars.githubusercontent.com/u/5253290?v=4)](https://github.com/hinaloe "hinaloe (1 commits)")[![ivucica](https://avatars.githubusercontent.com/u/477596?v=4)](https://github.com/ivucica "ivucica (1 commits)")

---

Tags

activitypubfediversehacktoberfestjrdostatuspluginwebfingerwordpresswordpress-plugin

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/pfefferle-wordpress-webfinger/health.svg)

```
[![Health](https://phpackages.com/badges/pfefferle-wordpress-webfinger/health.svg)](https://phpackages.com/packages/pfefferle-wordpress-webfinger)
```

###  Alternatives

[helsingborg-stad/municipio

A bootstrap theme for creating municipality sites.

4028.3k10](/packages/helsingborg-stad-municipio)[mautic/core

Mautic Open Source Distribution

9.8k2.6k9](/packages/mautic-core)[mediawiki/maps

Adds various mapping features to MediaWiki

84152.3k3](/packages/mediawiki-maps)[rainlab/blog-plugin

Blog plugin for October CMS

17158.6k](/packages/rainlab-blog-plugin)[civicrm/civicrm-drupal-8

Open source constituent relationship management for non-profits, NGOs and advocacy organizations.

19246.3k2](/packages/civicrm-civicrm-drupal-8)[starcitizentools/citizen-skin

A beautiful, usable, responsive MediaWiki skin with in-depth extension support. Originally developed for the Star Citizen Wiki.

3355.8k](/packages/starcitizentools-citizen-skin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
