Wordpress Webmention Plugin

From IndieWeb
Jump to navigation Jump to search

The Wordpress Webmention Plugin is a WordPress plugin that adds webmention support to WordPress.

Incoming webmentions are added as comments to the original post and webmentions are sent when a post is published/updated.


The WordPress Webmentions plugin is available in the WordPress.org repository. The development version is available on Github. It is highly recommended that those using the Webmentions plugin also download and activate the Semantic Linkbacks plugin as well as it helps to better format and display received webmentions.


While this plugin has its own settings, for it to work, you must enable link notifications.

  • Go to the Settings => Discussion page in your WordPress admin, and check the "Allow link notifications from other blogs (pingbacks and trackbacks)" and "Allow people to post comments on new articles" checkboxes.

Automatically approving

Webmentions often get caught in moderation and/or flagged as spam by Akismet and other spam filter plugins. The plugin has a built in whitelist for specific domains.

To automatically approve webmentions, add this PHP snippet to your theme's functions.php file:

function unspam_webmentions($approved, $commentdata) {
  return $commentdata['comment_type'] == 'webmention' ? 1 : $approved;

add_filter('pre_comment_approved', 'unspam_webmentions', '99', 2);

To approve webmentions received from previously-approved domains you can use this snippet: https://gist.github.com/gRegorLove/8215cb9c9584b364aaf4ef2999416f56

Issues and Brainstorming

  • The Webmentions plugin does not currently support asynchronous webmention processing, deleting posts(mostly due to the fact that WordPress doesn't have a status for deleted, only trashed).
  • There have been issues with the fact that the enhanced presentation benefits traditionally associated with Webmentions are located in the Semantic Linkbacks plugin and not in the webmentions plugin. New users aren't aware of the need for both plugins. One reason for the separation is the need for brainstorming on a better implementation solution, but recent privacy concerns have given other considerations for separation.
  • Custom comment types do not have the level of support in WordPress as custom post(content) types or custom taxonomies... See(https://core.trac.wordpress.org/ticket/35214 and related). So, using webmention as a comment type is supported, but not fully integrated. Right now, the plugin only has one comment type...webmention. The question is if it should use the field to reflect 'like', 'bookmark' etc.
  • What properties should be extended off of the WordPress comment type to reflect a webmention need to be considered.


Q: Is there a benefit to showing the Webmention field on your site? Does it actually get used? It feels like all of the Webmentions are automated through the protocol/API, not manually by copy and pasting a link.

A: There are some sites that have receiving implemented but not sending, and it was primarily meant for that. (This is probably most often people who are using webmention.io as their proxy endpoint by registering and adding a line of code to their header.)

It also serves to help visually indicate that your site supports the protocol if you don't have a button for it that points to something like https://example.com/wp-json/webmention/1.0/endpoint. For those that care or are in-the-know there are manual services like https://telegraph.p3k.io/send-a-webmention or http://mention-tech.appspot.com/ which could be used as well.

One can use the box on their own site to manually send oneself webmentions from other sites that don't send them, but which may be found in the wild or via refbacks

In the end, it's your site, so you can show or hide the box at your discression.

Related Plugins

Topics Getting Started on WordPressAdvanced WordPress Set UpPluginsThemesExamplesWordPress with BridgyDevelopmentDataSecurity
Primary Plugins Indieweb PluginWebmentionSemantic LinkbacksMicropubIndieAuthPost KindsSyndication LinksWebSub plugins
POSSE Plugins Syndication LinksSocial Network Auto PosterJetPack PublicizeWP CrosspostTumblr CrosspostrDiasposterMastodon AutopostBridgy Publish plugin (deprecated) • Medium (deprecated)
PESOS Plugins Keyring Social ImportersDsgnWrks Twitter ImporterDsgnWrks Instagram Importer
Other Plugins IndieBlocksShortnotesActivityPub PluginAperture Refback pluginIndieWeb Press ThisWordPress MF2 Feeds PluginWordPress uf2OpenIDSimple LocationParse ThisIndieweb ActionsPressForwardYarns Indie ReaderWhisperFollowblogroll2emailWebmention for (Threaded) Comments (deprecated)
Themes SemPress • (SemPress Child Themes: SemPress Lite, SenPress, and Index) • AutonomieIndependent PublisherIndieWeb Publishermf2_sTwenty Sixteen IndieWeb-friendly forkIndieWeb Twenty Fifteen ThemeDoublescores
Assistance Join the #indieweb chatIRC and other chat optionsWordPress FAQWordPress Outreach ClubTroubleshooting TipsWordPress toolsWordPress channel
See also WordPress related wiki pagesCategory:WordPress pluginsCategory:WordPress themesCategory:WordPress sessionsWordPress.comWordPress using IndieMarkAWS Tutorial

See Also

  • ...