

Settings panel: modules rendered as cards with toggles, descriptions and priority badges.
WT Hardening is a lightweight, modular security plugin that turns on the most important WordPress hardening measures without modifying your theme, wp-config.php, or .htaccess. Everything works through WordPress hooks and can be disabled at any moment with a single click.
The plugin is completely free, without a PRO version, without ads, and without sending data to external servers. Built by the Webmasters.Team crew for daily WordPress work.
xmlrpc.php (403) and filters the XML-RPC methods. Stops brute-force attacks through the most attacked WordPress endpoint./wp/v2/users in the REST API for unauthenticated users./?author=1 and author archive URLs to the homepage for visitors who are not logged in, and removes the users sitemap (another enumeration vector).author_name and author_url from oEmbed responses (WPScan-detectable user-enumeration vector) and drops the oEmbed discovery <link> tags from <head>.<meta name="generator"> tag and redundant meta tags (wlwmanifest, rsd, shortlink), and replaces the ?ver= values of front-end assets with a short keyed hash: the versions are not revealed, but the value still changes after every update, so browsers and caches load the new files.X-Pingback HTTP header from all responses.wp_options), with hourly cleanup of old entries.DISALLOW_FILE_EDIT, hiding the theme and plugin editor in the admin (an attacker who compromises an account cannot inject a backdoor through the browser).X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, optionally HSTS (use with care because browsers cache it for a year) with a separate opt-in for includeSubDomains. HSTS is also sent when HTTPS ends at Cloudflare or at a trusted reverse proxy (X-Forwarded-Proto).__()/esc_html__(), a POT file for translators and a bundled Polish translation.For those needs we recommend dedicated plugins (e.g. Wordfence) or an infrastructure layer (Cloudflare, fail2ban).
This plugin connects to one external service: Cloudflare’s published IP range lists. It needs them to recognise requests that come through Cloudflare, so that the login limiter and the event log use the visitor address from the CF-Connecting-IP header only for genuine Cloudflare traffic (and HSTS is sent when HTTPS ends at Cloudflare).
wt_hardening_cloudflare_ranges), and not on visitor requests.WT-Hardening/<version> user agent). No cookies, no site address, no visitor or user data.wt_hardening_update_cloudflare_ranges filter (return false); the bundled list is then used.