

The Overview after the first audit: your score, the three fixes worth doing first, and what changed since your last visit.
BetterShield is a WordPress security plugin that checks your site, explains what it found in plain language, and fixes what it can in one click once you say yes. Change your mind months later and you can still undo it.
It is made by WPDeveloper, whose WordPress products are used on more than 6 million sites. BetterShield has no firewall and no malware scanner, and it works alongside a plugin that does.
A short Quick Setup Wizard opens once after activation. It offers 5 hardening fixes that cannot lock anyone out, gives you a way back in (an emailed single-use recovery link plus printable recovery codes), and lets you choose which plugin handles which job if you run another security plugin. Every step can be skipped, and run again from Settings > General.
Seventy-two read-only checks cover access, exposure, updates, extensions, server settings and configuration, including:
Each finding explains what it is, why it matters and what acting on it could break. You can snooze a finding for 7 or 30 days.
Each fix shows what it will change and stays off until you apply it, except the cloud-metadata block. A fix that cannot work on your site, such as .htaccess rules off Apache or HSTS without HTTPS, stays off and says why.
The thirty one-click fixes:
For yourself, the roles you choose or your WooCommerce customers:
If you get locked out, you can get back in without FTP or a call to your host. A single-use recovery link, emailed when you activate BetterShield, pauses its sign-in protections for one hour. Printed recovery codes are a second way in.
Sign-ins, account and role changes, password resets, and plugin, theme and core changes, with who and when. Filter, search and export to CSV, with 30 days of history. Each finished day is sealed, so an edit or deletion opens a high-severity finding.
Related access and file changes are joined into one incident, flagging signs of account takeover. You review the response plan before anything changes, and BetterShield checks again afterward.
Get a weekly summary, even on quiet weeks, a security report on demand, and an email when something high or critical happens. Off until you turn them on, in Quick Setup or Settings. Alerts never carry an upgrade prompt.
WordPress core and directory plugins are compared with WordPress.org’s official copies, showing exactly which lines changed. One click puts the official file back; the replaced file is kept, never deleted. Your theme, drop-ins, wp-config.php, .htaccess and other unpublished code are watched for changes.
BetterShield can bring over your old plugin’s settings, with a preview first and an undo.
An optional dashboard for people who look after more than one site. Connect sites from BetterShield Hub to see every score and finding, apply or undo fixes across sites, with sign-in changes and undos waiting for your agreement, get downtime and grade-drop alerts, and invite your team.
BetterShield Ultra is for people who look after sites for others. It needs this plugin active and adds:
Plans and prices: https://bettershield.ai/ultra/
BetterShield is made by WPDeveloper. For help, use the support forum here on WordPress.org or https://bettershield.ai/support/. If it has been useful, a review here helps other site owners find it. Translations are welcome at https://translate.wordpress.org/projects/wp-plugins/bettershield/.
BetterShield contacts nine outside addresses. It contacts four addresses operated by WordPress.org to verify and restore official files. It contacts your own AI provider only if you have connected one; Pwned Passwords and usage reporting each require opt-in.
api.wordpress.org: the published checksums for your WordPress version, when the file check runs on its schedule or when you start one; the request carries your WordPress version and language. Once a day it also asks whether the directory still lists a few of the plugins you installed from it; that request carries the plugin’s slug only. Installs and updates started from BetterShield go through WordPress’s installer, from here and downloads.wordpress.org.
downloads.wordpress.org: checksums for a directory plugin at your exact version, during the same check and whenever a plugin is installed or updated, including automatic updates. For WPDeveloper’s Pro plugins and Ultra, the same question then goes to checksums.wpdeveloper.com, and for Ultra to bettershield.ai if that has no record. Each carries the plugin’s slug and version.
core.svn.wordpress.org and plugins.svn.wordpress.org: the official copy of one file, fetched when you press Restore on a changed file or open its difference. The request carries the version and the file’s path, and the copy is checked against the published checksum before anything is written.
api.pwnedpasswords.com: the Pwned Passwords service by Have I Been Pwned, only if you switch on “Leaked password check”, and only when someone signed in to your site sets or changes a password. The password is hashed on your server and only the first five characters of the hash are sent; the comparison happens on your server. No password, account name, email, site address or identifier is sent. Documentation: https://haveibeenpwned.com/API/v3#PwnedPasswords, terms of use: https://haveibeenpwned.com/TermsOfUse, privacy policy: https://haveibeenpwned.com/Privacy
send.wpinsight.com: WPDeveloper’s usage service, only if you choose to share usage data (Allow & Continue on the first Quick Setup step; Skip sends nothing). At most once a day, and once when you deactivate BetterShield, it sends your site address and title, administrator email, WordPress, PHP and web server versions, language settings, whether the site is multisite, the installed and active plugins, your theme and its version, BetterShield’s version and folder name, and the report reference. If you choose to answer the question its Deactivate link asks, the report sent on deactivation also carries your reason and the few words you typed. It sends nothing else about your visitors, users, sign-ins or findings. Turn it off under Settings > General. Terms and conditions: https://wpdeveloper.com/terms-and-conditions, privacy policy: https://wpdeveloper.com/privacy-policy
BetterShield Hub (hub.bettershield.ai, or the address a developer sets in wp-config.php), only if you connect the site and approve it on this site’s own consent page. Pressing Connect sends your browser to the hub with this site’s address, a return address, the access you chose and a single-use ticket. Once connected, it reads the score, findings, tools and the activity log, which names the account behind each change and its truncated networks, and checks the front page every few minutes. With the Hub link on, this site sends it security events every five minutes, accounts as digests and networks truncated, and a heartbeat of versions, digests and, when it changes, the list of installed plugins and themes, signed with a key kept here. Turning the link off stops it; Disconnect ends both. Terms of service: https://bettershield.ai/terms, privacy policy: https://bettershield.ai/privacy
Your own AI provider, only if you have connected one to WordPress and only when you ask for an explanation: of one finding, of your open findings with Explain My Audit, or of an incident. WordPress sends the request through your connector under Settings > Connectors; BetterShield never asks for, stores or sends the key, though Agents > Agent surface shows administrators its last four characters. For one finding it sends that finding’s title, severity, description and recorded evidence. Explain my audit sends the titles, severities and recorded evidence of up to twelve open findings in one request. An incident’s explanation sends what was recorded about it, with accounts and files named only as placeholders such as “account-1”. Web and email addresses are stripped, and file contents, usernames, keys and your site’s address are never sent.
None of the WordPress.org requests carries anything about your site: no site address, email, username, keys, file contents or identifier. The exception is WordPress’s own installer, which names your site address in its user agent, as every WordPress update does. They happen on a schedule, when you press a button, or when a plugin is installed or updated, never while a visitor loads a page. If a service cannot be reached, the check says it could not run rather than reporting a file as unchanged.
The four WordPress.org addresses are provided by the WordPress Foundation. Privacy policy: https://wordpress.org/about/privacy/, cookie policy: https://wordpress.org/about/privacy/cookies/
Published vulnerability advisories (hub.bettershield.ai), only with vulnerability checks on under Settings: the slugs and versions of WordPress, plugins (must-use ones included) and themes, when enabled, daily, on request and after updates or removals. Nothing else; the server sees the connection’s IP address. Terms · Privacy.
Everything BetterShield keeps about a person is stored on your own server, with IP addresses truncated to a network first. If you connect BetterShield Hub, some of it leaves as described above. The FAQ describes each record, and Tools > Site Health > Info lists every record, why it is kept and for how long.
Everything that runs is readable in the plugin folder. The PHP in src/ is not generated, compiled or minified. The admin interface is compiled into assets/build/ from the sources in assets/js/ and assets/css/, which ship next to it. To rebuild, run npm install and then npm run build, which uses @wordpress/scripts from the included package.json.