Version 1.2.0 · Free forever
Get Total Security WP
The complete suite — firewall, malware scanner, file integrity monitoring, hardening, two-factor authentication, backups and audit logging. No credit card, no trial period, no feature that stops working in thirty days.
Check requirements first
PHP 8.0+
A hard requirement. Below this, the plugin will not activate.
WordPress 6.0+
Tested up to WordPress 7.0.
No build step
No Node.js, no Composer, nothing to compile.
For the strongest firewall mode you also want auto_prepend_file support or a
writable .user.ini. If your host provides neither, the plugin detects that and
deploys Standard Mode automatically — there is nothing for you to configure and
nothing to fix.
Install & activate
From the WordPress admin
- Go to Plugins → Add New and search for Total Security WP.
- Click Install Now, then Activate.
- Open Total Security WP in the admin menu. The Setup Wizard starts automatically.
From a zip
- Go to Plugins → Add New → Upload Plugin and choose the zip.
- Or upload the
total-security-wpfolder to/wp-content/plugins/over SFTP. - Activate it from the Plugins screen.
From WP-CLI
wp plugin install total-security-wp --activate
wp total-security-wp statusActivating creates the plugin's tables and defaults, and nothing else. No server-level change is made until you run the Setup Wizard — so activating cannot break your site, and you get to see what will change before it changes.
The first ten minutes
The order here matters. It gets you protected, then verified, then recoverable.
- Run the Setup Wizard. It probes your host, deploys the best firewall mode available, self-tests the deployment with a loopback request, and rolls back automatically if the test fails.
- Run a first full scan. Do this before assuming the site was clean when you installed. It also gives integrity monitoring its baseline.
- Enable 2FA on every administrator account. This is the single highest-value thing on the list. Save the backup codes somewhere off the site.
- Take a backup and enable emergency recovery. Download the recovery script and store it where you can reach it without the site.
- Set a notification channel. Email or a Slack/Teams webhook. Detection nobody sees is not detection.
- Review the hardening checklist. Each control says what it changes and can be reverted from the same screen.
Geo-blocking and a custom login URL are the two settings that most often lock people out of their own site. Enable them once everything else is working, allowlist your own address first, and make sure emergency recovery is already in place.
Migrating from another security plugin
- Deactivate the other plugin first. Two firewalls writing competing
.htaccessrules is the most common way a site breaks after installing any security plugin. - Check it cleaned up after itself. Look for leftover rule blocks in
.htaccessand stray constants inwp-config.php, and remove any it left behind. - Then run the Setup Wizard, so it probes a clean environment rather than one still carrying another plugin's rules.
Existing 2FA enrolments do not transfer between plugins — the secrets are stored in each plugin's own format. Plan on re-enrolling administrators, and do it before you deactivate the old plugin so nobody is locked out in between.
If something breaks
Every irreversible-looking thing the plugin does has an exit. Worth knowing before you need it:
- The firewall prepend fails open — if its files are missing or corrupt it does nothing rather than throwing a fatal error.
- The wizard self-tests and rolls back, so a failed deployment does not leave a half-installed prepend behind.
- Server-level changes are written into clearly marked, reversible blocks, and are always removed when the plugin is deleted.
- Renaming the plugin folder over SFTP deactivates it, which is the universal escape hatch when you cannot reach wp-admin.
- Troubleshooting covers the common lockouts and how to undo each one.
Next steps
Documentation
Every module, what it changes, and how to undo it.
Pro
Automation and live threat intelligence, when free is not enough.
Security
How to report a vulnerability, and our disclosure commitments.
It is GPLv2 and ships unobfuscated — read it. For a plugin that sees every request and holds your 2FA secrets, that should be table stakes. See the license and the privacy disclosure.