Title: EnumGuard
Author: Alex Hedström
Published: <strong>Ọ̀wẹ́wẹ̀ 19, 2026</strong>
Last modified: Ọ̀wẹ́wẹ̀ 19, 2026

---

Ṣàwárí àwọn plugin

![](https://s.w.org/plugins/geopattern-icon/enumguard.svg)

# EnumGuard

 Láti ọwọ́ [Alex Hedström](https://profiles.wordpress.org/alexhedstrom/)

[Ṣe ìgbàsílẹ̀](https://downloads.wordpress.org/plugin/enumguard.1.0.0.zip)

 * [Àwọn àlàyé](https://yor.wordpress.org/plugins/enumguard/#description)
 * [Àwọn àgbéyẹ̀wò](https://yor.wordpress.org/plugins/enumguard/#reviews)
 *  [Ìgbéwọlẹ̀](https://yor.wordpress.org/plugins/enumguard/#installation)
 * [Ìdàgbàsókè](https://yor.wordpress.org/plugins/enumguard/#developers)

 [Ìrànlọ́wọ́](https://wordpress.org/support/plugin/enumguard/)

## Àpèjúwe

EnumGuard is a focused WordPress plugin that stops attackers from confirming that
a username or user ID exists. WordPress still prints those signals by default; EnumGuard
closes the usual paths without hiding display names on posts.

Under Settings  EnumGuard you get three tabs:

 * Protections — overview of which discovery paths are closed
 * Settings — toggles and custom login / reset messages
 * About — plugin info

Protections covered:

 * Author ID queries (`?author=1`) that would otherwise redirect to the author archive
 * Author archives and their feeds
 * Author archive links printed in HTML
 * `author-{id}` / `author-{nicename}` body, post, and comment CSS classes
 * Core users sitemap (`/wp-sitemap-users-1.xml`)
 * Unauthenticated `/wp-json/wp/v2/users` (including `?rest_route=`)
 * REST `_embed` author payloads and author link headers
 * Login error messages that distinguish “bad username” from “bad password”
 * Lost-password responses (same confirmation whether the account exists)
 * oEmbed `author_url` / `author_name`
 * XML-RPC user-listing methods, with an optional full XML-RPC disable
 * Author sitemaps and author archive URLs from Yoast, Rank Math, and The SEO Framework

Recommended protections ship enabled. Gutenberg still reaches the users REST API
for logged-in editors. Display names stay visible. Login and reset protections also
cover WooCommerce forms when WooCommerce is active. XML-RPC can be turned off completely
if you do not need Jetpack, pingbacks, or the WordPress mobile app.

## Ìgbéwọlẹ̀

 1. Upload the `enumguard` folder to the `/wp-content/plugins/` directory.
 2. Activate the plugin through the Plugins menu in WordPress.
 3. Open Settings  EnumGuard to review protections.

## FAQ

### Will authors still show on posts?

Yes. Display names stay in content. EnumGuard stops login slugs, author archive 
URLs, and existence oracles—not bylines.

### Does this break the block editor?

No. Logged-in users who can edit posts or list users still reach `/wp/v2/users`.
Guests get a generic 404.

### What about WooCommerce?

Login and lost-password protections apply to the WooCommerce account forms as well
as wp-login.php. Bylines and display names are unchanged.

### What about the WordPress mobile app?

The app uses `wp.getUsersBlogs`. That method is removed while “XML-RPC user methods”
is on. Turn that protection off if you need the app. Do not enable “Disable XML-
RPC.”

### Can I keep author archives for a magazine site?

Yes. Disable “Author archives” and “Author archive links” on the Settings tab. Keep
author ID queries blocked so `?author=1` cannot reveal the nicename.

### Does uninstall remove settings?

Yes. Uninstall deletes EnumGuard options on the current site, and on every site 
in a multisite network.

## Àwọn àgbéyẹ̀wò

Kò sí àwọn àgbéyẹ̀wò fún plugin yìí.

## Àwọn Olùkópa & Olùgbéejáde

“EnumGuard” jẹ́ ètò ìṣàmúlò orísun ṣíṣí sílẹ̀. Àwọn ènìyàn wọ̀nyí ti ṣe ìkópa sí
plugin yìí.

Àwọn Olùkópa

 *   [ Alex Hedström ](https://profiles.wordpress.org/alexhedstrom/)

[Túmọ̀ “EnumGuard” sí èdè rẹ.](https://translate.wordpress.org/projects/wp-plugins/enumguard)

### Ṣe o nífẹ̀ẹ́ sí ìdàgbàsókè?

[Ṣàwárí koodu](https://plugins.trac.wordpress.org/browser/enumguard/), ṣàyẹ̀wò [ibi ìpamọ́ SVN](https://plugins.svn.wordpress.org/enumguard/),
tàbí ṣe àgbékalẹ̀ sí [àkọsílẹ̀ ìdàgbàsókè](https://plugins.trac.wordpress.org/log/enumguard/)
nípasẹ̀ [RSS](https://plugins.trac.wordpress.org/log/enumguard/?limit=100&mode=stop_on_copy&format=rss).

## Àkọsílẹ̀ àwọn àyípadà

#### 1.0.0

 * Initial release.

## Àkójọpọ̀ Meta

 *  Ẹ̀yà **1.0.0**
 *  Ìgbàgbọ́hùn tó kẹ́yìn **oṣù 1 sẹ́yìn**
 *  Àwọn ìgbéwọlẹ̀ tó ṣiṣẹ́ **20+**
 *  Ẹ̀yà WordPress ** 6.3 tàbí ju bẹ́ẹ̀ lọ **
 *  Dánwò dé **7.1.3**
 *  Ẹ̀yà PHP ** 7.4 tàbí ju bẹ́ẹ̀ lọ **
 *  Èdè
 * [English (US)](https://wordpress.org/plugins/enumguard/)
 * Àwọn àmì
 * [login](https://yor.wordpress.org/plugins/tags/login/)[rest-api](https://yor.wordpress.org/plugins/tags/rest-api/)
   [security](https://yor.wordpress.org/plugins/tags/security/)[user enumeration](https://yor.wordpress.org/plugins/tags/user-enumeration/)
   [xml-rpc](https://yor.wordpress.org/plugins/tags/xml-rpc/)
 *  [Ìwòye Tó Péye](https://yor.wordpress.org/plugins/enumguard/advanced/)

## Àwọn ìbò

Kò tíì sí ohun táwọn èèyàn sọ nípa ẹ̀.

[Your review](https://wordpress.org/support/plugin/enumguard/reviews/#new-post)

[Wo gbogbo àwọn àgbéyẹ̀wò](https://wordpress.org/support/plugin/enumguard/reviews/)

## Àwọn Olùkópa

 *   [ Alex Hedström ](https://profiles.wordpress.org/alexhedstrom/)

## Ìrànlọ́wọ́

Nǹkan wà tí o fẹ́ sọ? Ṣé o nílò ìrànlọ́wọ́?

 [Wo àpéjọ ìrànlọ́wọ́](https://wordpress.org/support/plugin/enumguard/)