Skip to content
WordPress.org

Ирон

  • Themes
  • Plugins
  • About
  • Контакт
  • Get WordPress
Get WordPress
WordPress.org

Plugin Directory

Witen Blocker — Login Lockout, 2FA & AI Crawler Blocking

  • Submit a plugin
  • My favorites
  • Log in
  • Submit a plugin
  • My favorites
  • Log in

Witen Blocker — Login Lockout, 2FA & AI Crawler Blocking

By witenlabs
Download
  • Details
  • Reviews
  • Installation
  • Development
Support

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.

Block known exploit requests

Built-in checks block template traversal and comment exploit requests before they reach the affected WordPress handlers. These checks work without an account. Keep WordPress, themes, and plugins updated as well.

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.

Connecting requires a Witen account and security-event sharing. All local features are free, with no trial expiry. Free connected WordPress sites receive a daily threat-feed update without an added data delay. Paid plans add more sites and servers, other feed profiles, and optional 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: activate Witen Blocker and open Witen > Dashboard. Local protection needs no account. Use Login for login limits and two-factor setup, and Firewall > Bots and AI crawlers to choose which crawlers can visit.

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_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 | 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.

WordPress.org privacy policy

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. Deactivate the plugin to stop reporting from WordPress; a separately running Warden keeps its own reporting configuration.

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 and existing .htaccess and Warden firewall rules. 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.

Screenshots

Protection active on an unconnected WordPress installation, with optional two-factor, crawler and account setup.
Protection active on an unconnected WordPress installation, with optional two-factor, crawler and account setup.
Per-crawler AI policies: choose which recognized crawlers are allowed or blocked.
Per-crawler AI policies: choose which recognized crawlers are allowed or blocked.
Login limits, two-factor setup links and a custom login address in one place.
Login limits, two-factor setup links and a custom login address in one place.
File integrity and malware scan controls, with unscanned state shown accurately.
File integrity and malware scan controls, with unscanned state shown accurately.

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 > Login to review login limits and set up two-factor authentication for your account. In Firewall, choose your bot rules and add your own trusted addresses to the never-block list.
  3. To add shared intelligence, create a Witen account, add your WordPress site from the dashboard, 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 to connect a local Warden agent or configure your site through wp-config.php.

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?

Normal request checks use local data and do not wait for a remote service. Updates, reporting, and scans run in background jobs and 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.

How do I change login limits or recover from a lockout?

Open Witen > Login > Login lockout to set the failure window, failure count, and ban duration. Defaults are 5 failures in 5 minutes and a 1-hour ban. Saved settings override WITEN_LOGIN_WINDOW_SEC, WITEN_LOGIN_MAX_FAILURES, and WITEN_LOGIN_BAN_SEC in wp-config.php. The same controls remain available in Settings.

Keep your 2FA recovery codes. If locked out, wait for the ban to expire or follow the recovery guide, including WP-CLI and SFTP steps. Deactivation leaves existing .htaccess and Warden firewall rules in place; the guide explains how to remove them.

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 setup are network-wide. Connect each site separately if you use a local Warden agent.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Witen Blocker — Login Lockout, 2FA & AI Crawler Blocking” is open source software. The following people have contributed to this plugin.

Contributors
  • witenlabs

Translate “Witen Blocker — Login Lockout, 2FA & AI Crawler Blocking” 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.50

  • Allow Starter and Growth plans to select global and SSH threat feeds consistently in settings and service synchronization.
  • Keep hidden Firewall pages accessible through WordPress’s native authorization checks.
  • Group controls into Dashboard, Firewall, Login, Scan, and Settings while keeping existing page links working.
  • Guide first-time activations to local protection and optional setup, with connection details in expandable diagnostics.
  • Show the two-factor field only after password verification for accounts using it. Passwords are never retained between attempts.
  • Translate more admin labels and show unscanned file integrity accurately.
  • Make login limits editable on production sites and apply wp-config.php login constants consistently.
  • Show active local protection and bundled bot identities without requiring an account.
  • Add Settings and recovery links, a deactivation warning, and a warning for unverified proxy addresses.

0.6.49

  • Update the bundled Witen SDK to 1.4.7, keeping independent login observation windows and matching Warden’s documented capability schema.
  • Preserve the existing WordPress login-defense behavior and settings.

See changelog.txt in the download for older releases.

Meta

  • Version 0.6.50
  • Last updated 8 сахаты ago
  • Active installations Fewer than 10
  • WordPress version 6.2 or higher
  • Tested up to 7.1.2
  • PHP version 8.1 or higher
  • Language
    English (US)
  • Tags
    block ai crawlersbot blockerlimit login attemptslogin securitytwo factor
  • Advanced View

Ratings

No reviews have been submitted yet.

Your review

See all reviews

Contributors

  • witenlabs

Support

Got something to say? Need help?

View support forum

  • About
  • News
  • Hosting
  • Privacy
  • Showcase
  • Themes
  • Plugins
  • Patterns
  • Learn
  • Support
  • Developers
  • WordPress.tv ↗
  • Get Involved
  • Events
  • Donate ↗
  • Swag ↗
  • WordPress.com ↗
  • Matt ↗
  • bbPress ↗
  • BuddyPress ↗
WordPress.org
WordPress.org

Ирон

  • Visit our X (formerly Twitter) account
  • Visit our Bluesky account
  • Visit our Mastodon account
  • Visit our Threads account
  • Visit our Facebook page
  • Visit our Instagram account
  • Visit our LinkedIn account
  • Visit our TikTok account
  • Visit our YouTube channel
  • Visit our Tumblr account
Код у Ӕмдзӕвгӕ
The WordPress® trademark is the intellectual property of the WordPress Foundation.