Everything you need to install, configure, and manage CI Security Shield on your WordPress site.
All security features activate after your license key is entered. No additional configuration is required for full protection.
A valid license key is required for CI Security Shield to function. To activate:
CISS-XXXX-XXXX-XXXX-XXXXYour license is tied to one domain. To move it to a different site, deactivate first, then activate on the new site.
Shield sets security headers at the PHP level via the send_headers hook. Headers are replaced (not appended) to avoid duplicates when Cloudflare or Nginx also sets them.
upgrade-insecure-requestsShield replaces the default /wp-login.php URL with a custom slug (default: /go). Anyone visiting /wp-login.php or /wp-admin while not logged in receives a 404.
The PHP-level firewall runs on every request before WordPress loads. It filters:
The firewall operates as an additional layer alongside Wordfence WAF. They do not conflict.
Shield blocks only specific sensitive endpoints for unauthenticated users:
/wp/v2/users — prevents username enumeration/wp/v2/settings — prevents settings exposureAll other REST API endpoints remain accessible. WooCommerce Store API, Gravity Forms, WPBakery, and Elementor are auto-detected and whitelisted.
Prevents casual image theft with client-side protections. Configurable toggles:
Scheduled scans verify WordPress core files against official checksums, detect PHP files in the uploads directory (a common backdoor vector), and audit file permissions on critical files.
Results appear in the dashboard with “Fix Now” buttons for actionable issues. Exportable to CSV and PDF.
Configure which events trigger email alerts:
Digest mode sends a daily or weekly summary instead of individual alerts. Rate limited to 10 emails per hour.
Granular control over WordPress auto-updates:
CI Security Shield does NOT disable, modify, or override any Wordfence feature. Both can run simultaneously:
Tested and compatible with:
The custom login URL uses WordPress rewrite API (not .htaccess), so it works with all caching configurations.
That’s by design. Your login URL is now /go (or whatever you configured). If you’re locked out, rename the plugin folder via FTP/SSH to deactivate Shield, then access /wp-login.php normally.
Shield automatically excludes the custom login URL from WP Rocket and other caching plugins. If you’re still seeing cached login pages, clear your cache manually after initial setup.
This happens when both Shield and your web server (Nginx/Cloudflare) set the same headers. Shield uses header_remove() before setting each header, but some servers add headers after PHP. The duplicate doesn’t affect your A+ grade.
Contact us at hello@c-istudios.com.
Twelve modules, one plugin file, ninety seconds to A+.