Title: Witen Blocker
Author: witenlabs
Published: <strong>September 22, 2026</strong>
Last modified: September 22, 2026

---

Search plugins

![](https://ps.w.org/witen-blocker/assets/banner-772x250.png?rev=3706552)

![](https://ps.w.org/witen-blocker/assets/icon.svg?rev=3706552)

# Witen Blocker

 By [witenlabs](https://profiles.wordpress.org/witenlabs/)

[Download](https://downloads.wordpress.org/plugin/witen-blocker.0.6.47.zip)

 * [Details](https://wordpress.org/plugins/witen-blocker/#description)
 * [Reviews](https://wordpress.org/plugins/witen-blocker/#reviews)
 *  [Installation](https://wordpress.org/plugins/witen-blocker/#installation)
 * [Development](https://wordpress.org/plugins/witen-blocker/#developers)

 [Support](https://wordpress.org/support/plugin/witen-blocker/)

## Description

Witen Blocker helps protect your WordPress site from password guessing, unwanted
bots, and comment spam. Add two-factor authentication, check suspicious file changes,
and review detections and blocks in your WordPress dashboard.

Start with free local protection. Connect to Witen when you want blocklists informed
by attacks seen across participating sites and servers.

#### Protect your logins

Limit repeated failed login attempts and add two-factor authentication with an authenticator
app. Recovery codes give you a way back in if you lose your device.

#### Decide which bots can visit

Choose which recognized search crawlers, AI crawlers, and automated clients to allow
or block. Manage trusted addresses and review detections before blocking.

#### Cut down comment spam

Catch automated submissions with hidden form fields and timing checks. These checks
run on your site without sending comment text to a spam service.

#### Find unexpected file changes

Compare WordPress core files with official checksums, monitor changes in your content
directory, and scan files for suspicious patterns. Bundled checks work without an
account. Connected sites can receive maintained malware catalogs. Review findings
before taking action.

#### Learn from attacks beyond your own site

The optional Witen service combines security reports from participating sites and
servers to identify repeat attackers and maintain shared blocklists. An enrolled
site can block listed IPs even if they haven’t attacked that site before. Reports
are processed centrally; request checks use a local blocklist.

Enrollment requires a Witen account and security-event sharing. All local features
are free, with no trial expiry. Hosted plans determine feeds, update frequency, 
and off-site backup storage.

#### Run on shared hosting or your own server

On shared hosting, matching blocklist requests receive an HTTP 403 response from
WordPress. No server administration access is needed. On your own server, the optional
Witen Warden agent can enforce IP blocks at the firewall, before blocked traffic
reaches PHP.

**Get started:** install Witen Blocker and open **Witen > Settings**. Local protection
needs no account.

[Setup guide](https://www.witenlabs.com/docs/wordpress) | [Witen plans](https://www.witenlabs.com/pricing)
| [Support](https://wordpress.org/support/plugin/witen-blocker/)

### External Services

#### Witen Collector

Connected features use `https://collector.witenlabs.com`. Enrollment exchanges your
setup token and installation identity for a credential. Witen processes shared reports
to identify distributed attacks and provide threat intelligence.

Background sync sends events and site details (listed below) and retrieves blocklists,
bot identities, signed malware catalogs, Tor exit nodes, allowlists, service status,
network statistics, and feed profiles. Profile changes send your selection and site
identifier; IP lookups send the queried address. Block reports include the IP, rule,
outcome, request context, and site identifier.

 * **Malware samples:** off by default. Setting `WITEN_SEND_MALWARE_SAMPLES` to 
   boolean `true` in `wp-config.php` permits file-content uploads. Scans do not 
   require them.
 * **Off-site .htaccess backups:** off by default. Enabling them permits encrypted
   file uploads, with checksum and size, and dashboard-requested restores. Witen
   can decrypt the files and keeps 10 versions. Restores validate content, make 
   a local backup, and report results. Disabling the option stops uploads and remote
   restores; local backups remain available.

[Witen terms](https://witenlabs.com/terms) | [Witen privacy policy](https://witenlabs.com/privacy)

    ```
    WITEN_COLLECTOR_URL selects another collector if you operate one; its operator's policies apply. Explicitly configuring `WITEN_SOCKET_PATH` authorizes sharing with local Warden, whose configuration controls onward delivery. Detecting a socket alone does not enable sharing.
    ```

#### Cloudflare proxy ranges

Enrolled sites refresh `https://www.cloudflare.com/ips-v4/` and `https://www.cloudflare.
com/ips-v6/` during background maintenance to recognize trusted proxies. Offline
sites use bundled ranges. Requests send ordinary HTTPS network metadata, not WordPress
visitor events or account data.

[Cloudflare terms](https://www.cloudflare.com/website-terms/) | [Cloudflare privacy policy](https://www.cloudflare.com/privacypolicy/)

#### WordPress.org core checksums

Integrity scans request official hashes from `https://api.wordpress.org/core/checksums/
1.0/`, sending your WordPress version, locale, and ordinary HTTPS network metadata.
No visitor events, account data, or site content is sent.

[WordPress.org privacy policy](https://wordpress.org/about/privacy/)

The plugin does not remotely load executable code or frontend assets. Bundled bot
references cause no remote requests or crawler DNS lookups. Collector connections
use your DNS resolver. Background jobs and Apache rule checks call your own WordPress
URLs.

### Privacy Policy

Events stay local until enrollment or explicit Warden socket configuration. Earlier
events are never uploaded retroactively. Connected intelligence requires event sharing;
use offline mode or deactivate to stop it.

**What is shared:** IP addresses; successful and failed logins; XML-RPC, comment,
registration, and 404 events; request URLs, methods, User-Agent strings, referrers,
and query information; and attempted usernames, which may be email addresses. Installation
reports include site name and URL, WordPress/PHP/plugin versions, and a random installation
identifier. An observed IP is not necessarily an attacker. Reports help identify
distributed attacks, relate failed logins to later successful ones, and maintain
blocklists.

Event reports exclude form bodies, post content, comment text, password fields, 
cookies, and session data. URLs and metadata can contain personal data. File samples
and .htaccess backups are separate options, described above. `WITEN_NO_TELEMETRY`
stops daily installation reports, but not connected security-event sharing.

**Local storage:** the delivery queue holds up to 500 events for seven days. Witen
also keeps the latest 100 dashboard events and blocks, block and allow lists, and
health counters. Rejected events and block-decision reports have separate diagnostic
queues, each limited to 100 records or 1 MiB. Older records are removed at the limit;
diagnostics otherwise remain until uninstall.

Deactivation preserves settings. Uninstall removes Witen options, transients, scheduled
actions, and database tables. Collector retention follows its operator’s privacy
policy; request collector-side deletion from that operator.

## Installation

 1. Open **Plugins > Add New Plugin**, search for **Witen Blocker**, and install and
    activate it. You can also upload the plugin ZIP.
 2. Open **Witen > Settings**. Review login protection, bot policies, and trusted addresses.
    Set up two-factor authentication in your user profile if you want to use it.
 3. To add shared intelligence, create a [Witen account](https://www.witenlabs.com),
    add a WordPress site under **Protected Assets**, and enter its one-time setup token
    in Witen settings. Review the terms and privacy information before connecting.
 4. Check the connection and blocklist status after background maintenance runs.

See the [setup guide](https://www.witenlabs.com/docs/wordpress) for configuration
constants and Warden socket credentials.

## FAQ

### What can I use without an account?

Login limits, two-factor authentication, comment spam checks, bot controls, file-
integrity checks, bundled malware checks, and the .htaccess editor. Connecting to
Witen adds hosted intelligence and reporting; it is optional.

### Will it slow down my site?

Request checks use local data; updates, reporting, and scans run in background jobs.
Both use server resources. On quiet sites, WordPress cron may wait for a visitor
before running jobs.

### Can I use it alongside another security plugin?

Check for overlapping two-factor, login, bot, and .htaccess settings. Test your 
login and site after changes. Keep WordPress, themes, and plugins updated, and maintain
a backup.

### Does a scan finding mean my site is hacked?

Not necessarily. A changed file or suspicious pattern needs review; legitimate customizations
can produce findings. Witen helps identify files to investigate. It does not automatically
clean an infected site.

### What happens if Witen is unavailable?

Local protection continues. Cached intelligence is usable until it expires, and 
reports queue for background retries within the limits below. Warden socket mode
does not fall back to a direct collector connection.

### Does it support multisite?

Yes. Each site has its own settings, connection, logs, and jobs, initialized on 
its first request. The main site’s network administrator controls shared .htaccess.
User accounts and two-factor enrollment are network-wide. Warden needs a separate
caller credential for each site.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Witen Blocker” is open source software. The following people have contributed to
this plugin.

Contributors

 *   [ witenlabs ](https://profiles.wordpress.org/witenlabs/)

[Translate “Witen Blocker” into your language.](https://translate.wordpress.org/projects/wp-plugins/witen-blocker)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/witen-blocker/), check
out the [SVN repository](https://plugins.svn.wordpress.org/witen-blocker/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/witen-blocker/) 
by [RSS](https://plugins.trac.wordpress.org/log/witen-blocker/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.6.47

 * Block page-template traversal attempts (CVE-2026-87902) before WordPress selects
   a template.
 * Rewrite the directory description around protection, setup, and everyday use.

See `changelog.txt` in the download for older releases.

## Meta

 *  Version **0.6.47**
 *  Last updated **14 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 8.1 or higher **
 * Tags
 * [blocklist](https://wordpress.org/plugins/tags/blocklist/)[Brute Force](https://wordpress.org/plugins/tags/brute-force/)
   [firewall](https://wordpress.org/plugins/tags/firewall/)[security](https://wordpress.org/plugins/tags/security/)
   [spam](https://wordpress.org/plugins/tags/spam/)
 *  [Advanced View](https://wordpress.org/plugins/witen-blocker/advanced/)

## Ratings

No reviews have been submitted yet.

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

[See all reviews](https://wordpress.org/support/plugin/witen-blocker/reviews/)

## Contributors

 *   [ witenlabs ](https://profiles.wordpress.org/witenlabs/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/witen-blocker/)