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 | Witen plans | Support
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_SAMPLESto booleantrueinwp-config.phppermits 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 | Witen privacy policy
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 | Cloudflare privacy policy
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.
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
- Open Plugins > Add New Plugin, search for Witen Blocker, and install and activate it. You can also upload the plugin ZIP.
- 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.
- To add shared intelligence, create a Witen account, 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.
- Check the connection and blocklist status after background maintenance runs.
See the setup guide 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.
-
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.
ContributorsTranslate “Witen Blocker” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by 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.
