Every check we run on your sites
Connect a site and these run against it automatically: the quick configuration and header checks twice a day, the deeper file scans with the full audit, which most sites schedule weekly. This is the whole list: what each check looks at, why it matters, and where we can fix it for you without you touching the site.
- Checks
- 293
- Generic
- 38
- Joomla
- 142
- WordPress
- 113
65 of them we can fix across every connected site with a single click.
Download the whole list as a printable checklist (PDF)
Hacked site detection
Signatures and behaviours that only appear on a compromised site: rogue admin accounts, planted editor profiles, malicious cron jobs and injected template code.
Check Suspect Patterns Matched Content In Files
Matches file contents against our pattern library, deliberately casting a wide net, so entries here need a human to read them and judge.
Generic
Hacked Files (100% Certain)
Files confirmed compromised rather than merely suspicious: a hash match against a known hack, an attacker-only filename, or a live compromise found during the scan.
Generic
Check Files That Can Send An Email (or Mass Emails!)
Attackers commonly plant PHP mail relays and spam scripts after a hack; this lists every file containing the word mail so you can confirm each one is legitimate.
Generic
Check Files That Can Attempt To Upload Files
Flags files capable of accepting an uploaded file, worth investigating since that capability is how a hacker reinfects a site once the first backdoor is found.
Generic
Check For Malicious Cron Jobs
Find compromised sites: a scheduled cron job that re-drops a webshell or malware after files are cleaned
Generic
Check for JCE Rogue Profiles & Backdoors
Find sites compromised through the JCE editor: rogue editor profiles, malicious profile imports and dropped webshells
Joomla
Check Suspect Patterns Matched Content In Files
Matches file contents against our pattern library, deliberately casting a wide net, so entries here need a human to read them and judge.
Joomla
Files confirmed compromised rather than merely suspicious: a hash match against a known hack, an attacker-only filename, or a live compromise found during the scan.
Joomla
Find compromised sites: rogue accounts planted with a known attacker signature or a generated identity
Joomla
Check Files That Can Send An Email (or Mass Emails!)
Flags files capable of sending email beyond the CMS's own core mailer, worth investigating since a compromised site spams using exactly this capability.
Joomla
Check Files That Can Attempt To Upload Files
Flags files capable of accepting an uploaded file, worth investigating since that capability is how a hacker reinfects a site once the first backdoor is found.
Joomla
Find compromised sites: template styles whose custom-code params carry a defacement or stealth-loader payload written via the Helix3 onAjaxHelix3 exploit
Joomla
Check Files That Are Not Core Files
Lists every file that does not match the CMS's official core file set, which is normal for installed extensions but is also where an unnoticed upload would show up.
Joomla
SP Page Builder Rogue Icon-Font Assets
Find compromised sites: rogue icon-font asset rows planted anonymously through the SP Page Builder asset.uploadCustomIcon exploit
Joomla
Check Core Folders For Impostor Files
Flags files sitting inside folders Joomla's core owns outright, such as the root of /administrator/, where no genuine extension has any reason to add anything.
Joomla
Find compromised sites: menu items whose Helix mega-menu params carry a stored-XSS / super-user-creation payload written via the unauthenticated saveMegaMenuSettings exploit
Joomla
Unpatched JoomShaper Security Holes
Deploy JoomShaper's official Joomla 3 security patches to sites still running vulnerable, now-unsupported extensions (Helix Ultimate, SP Page Builder, Helix3)
JoomlaFixable in one click
Find compromised sites: a scheduled cron job that re-drops a webshell or malware after files are cleaned
Joomla
Check Suspect Patterns Matched Content In Files
Scans file contents against our library of malware patterns, catching backdoors and injected code that a plain file listing would not reveal.
WordPress
Hacked Files (100% Certain)
Files confirmed compromised rather than merely suspicious: a hash match against a known hack, an attacker-only filename, or a live compromise found during the scan.
WordPress
Check Files That Can Send An Email (or Mass Emails!)
Flags files capable of sending email beyond the CMS's own core mailer, worth investigating since a compromised site spams using exactly this capability.
WordPress
Check Files That Can Attempt To Upload Files
Flags files capable of accepting an uploaded file, worth investigating since that capability is how a hacker reinfects a site once the first backdoor is found.
WordPress
Check Files That Are Not Core Files
Lists every file that does not match the CMS's official core file set, which is normal for installed extensions but is also where an unnoticed upload would show up.
WordPress
Check Core WordPress Folders For Impostor Files
Recursively checks wp-admin and wp-includes for any file WordPress core never shipped, exactly where a shell dropped after a hack tries to hide.
WordPress
Check For Malicious Cron Jobs
Find compromised sites: a scheduled cron job that re-drops a webshell or malware after files are cleaned
WordPress
Joomla configuration
Settings in Joomla Global Configuration that decide how much a mistake or a break-in can cost you.
Joomla CMS Version Must Be Up-to-date
Every unpatched Joomla release has a public list of fixed vulnerabilities that attackers scan for automatically, so an outdated version is a standing target.
Joomla
Changes To Core Joomla Files Should Be Avoided
Compares every core Joomla file against its known original hash, because hackers and old developer habits both like to alter files such as index.php directly.
Joomla
Disable Joomla 5.4+ Automatic Core Upgrades
Joomla 5.4 introduces unattended core auto-updates; until that process is proven in production, an automatic major-version upgrade could break your site unsupervised.
JoomlaFixable in one click
Distributed robots.txt File Should Be Modified To Suit Your Site
Flags a robots.txt that still matches the file Joomla ships by default, usually meaning nobody has told search engines what this particular site needs crawled.
Joomla
Remove FTP Configuration From Global Config
Joomla's FTP layer stores your hosting FTP username and password in configuration.php in plain text, a working credential for anyone who can read that file.
Joomla4.6% of the Joomla sites we have this data for fail it
Site Should Not Be Set To Offline
A site left offline serves the maintenance page to every visitor and to search engines, so traffic and rankings drain away while nobody notices.
JoomlaFixable in one click
Your Favicon Should Be Changed From Default Joomla Icon
Checks your homepage for the stock Joomla favicon: this is a cosmetic branding signal, not a security issue, but it tells visitors the site was never finished.
Joomla
Joomla Global Email Configuration Should Work
Sends a test email through your configured mail settings and confirms it arrives, since silent failures mean lost password resets and form submissions.
Joomla
Use A Joomla Core Or Akeeba Admin Tools .htaccess File
Without a .htaccess file in your web root you lose the baseline security directives Joomla's own htaccess.txt or Akeeba Admin Tools would otherwise apply.
Joomla
Check Files That May Need Joomla 5 Compatibility Plugin (Beta)
Searches your files for legacy class names Joomla 5 removed, flagging extensions likely to break once the backward-compatibility plugin is switched off.
Joomla
Robots.txt Should Not Block Media & Template Folders
This is an SEO setting: blocking /media/ or /templates/ in robots.txt stops Google fetching the CSS, JS and images it needs to render your pages properly.
Joomla
Joomla Cache Configuration Should Be Enabled
This is a performance setting, not a security one: enabling Joomla's page cache cuts database load and speeds up page delivery under traffic.
JoomlaFixable in one click
Log And Tmp Folders Should Use Default Locations
This catches a common migration mistake, not a security risk: tmp and log paths copied from a local dev environment stop working once live, breaking installs and logging.
Joomla
Joomla SEF Configuration Should Be Enabled
This is an SEO setting, not a security one: Search Engine Friendly URLs turn Joomla's index.php?option=... links into readable paths that rank and get clicked more.
JoomlaFixable in one click0.7% of the Joomla sites we have this data for fail it
Disable Mail To Friend To Prevent Spam
Email To Friend lets any visitor send email from your server to an address of their choosing, which spammers abuse as a free mail relay.
JoomlaFixable in one click
Debug mode prints full SQL queries, file paths and stack traces straight onto the page, handing an attacker a map of your server and database structure.
JoomlaFixable in one click1% of the Joomla sites we have this data for fail it
Avoid Setting $live_site Unless Absolutely Necessary
Setting $live_site overrides Joomla's automatic domain detection and is only needed on badly configured hosts, so leaving it set is usually a sign of bad advice followed, not a real fix.
Joomla
Admin Group Should Use Default Blacklist Text Filter
Without the Default Blacklist filter, the Administrator group can save unfiltered HTML in content, letting a compromised admin account plant a stored XSS payload.
JoomlaFixable in one click
Disable Plain Text Password Emails
When a user resets their password, Joomla can email the new password back to them in plain text, leaving a working credential sitting in an inbox indefinitely.
JoomlaFixable in one click24% of the Joomla sites we have this data for fail it
Disable Flash File Uploads
A crafted .swf upload could once run JavaScript in your site's origin, a known Flash XSS trick; browsers no longer run Flash, so the risk today is mostly historical.
JoomlaFixable in one click
Error Reporting Should Be Set To None In Production
Anything other than None prints PHP fatal errors, file paths and stack traces on the live site, handing visitors and attackers details of your server setup.
JoomlaFixable in one click
Disable Template Module Position Preview
Appending ?tp=1 to any page reveals your template's module positions and site structure to anyone, information that helps an attacker plan further attacks.
JoomlaFixable in one click
Avoid Setting Cookie Domain/Path Unless Necessary
Joomla works out its own cookie domain and path automatically; a manually set value is rarely needed and usually reflects bad advice followed rather than a real fix.
Joomla
Enable Session Garbage Collection Plugin
This is housekeeping, not an active threat: without this plugin your #__session table can grow unchecked on some servers, eventually slowing queries against it.
JoomlaFixable in one click
Enable Google Recaptcha To Prevent Form Spam
Without CAPTCHA, contact and registration forms are open to automated bots that flood them with spam submissions and fake account signups.
Joomla
Protect /administrator/ With .htaccess Password
An .htaccess password on /administrator/ adds a second login prompt in front of Joomla's own, so a stolen or brute-forced admin password alone is not enough to reach it.
Joomla
Keep configuration.php Inside The Webroot
Symlinking configuration.php outside the webroot is outdated advice that adds no protection: PHP still executes the file wherever the symlink points.
Joomla
Avoid Using Default Joomla Templates
Sticking with a stock Joomla template makes your site instantly recognisable to attackers, and a core update can silently overwrite any edits made to those shared files.
Joomla
Session Lifetime Should Use The Default Value
A longer than default session lifetime keeps a stolen login cookie valid for longer, so changing it without good reason widens the window an attacker has to reuse it.
Joomla
Enable Gzip Compression
This is a performance setting, not a security one: Gzip compresses pages before sending them, cutting page weight and load time for visitors.
JoomlaFixable in one click
Enable IP Logging For User Actions
Joomla's User Action Log can record the IP address behind every login and admin action, evidence you need after a break-in to work out how an account was used.
Joomla
Publish A Privacy Policy Using Joomla Privacy Tools
This is a compliance setting: Joomla's Privacy Consent plugin needs an article assigned before it can ask visitors to consent, which most data protection laws require.
Joomla
Enable Joomla System Log Rotation
Without log rotation, Joomla's system logs grow unchecked and can fill your disk, which can crash the site rather than just slow it down.
Joomla
Set Public, Guest And Registered Groups To 'No HTML'
Without the No HTML filter, the Public, Guest and Registered groups can submit raw HTML and script tags through any form that saves their input, an easy route to stored XSS.
Joomla
$root_user Should Not Be Defined In configuration.php
$root_user grants whichever account it names full Super User power regardless of that account's real permissions, so a forgotten value is a standing backdoor.
Joomla
Debug Language Should Not Be Enabled In Production
Language debug mode prints the raw translation string constants next to the translated text on every page, exposing template and extension internals to visitors.
JoomlaFixable in one click
Action And Hide Post Install Messages
This is housekeeping, not a security check: post-install messages from Joomla core and extensions carry upgrade notices worth reading and dismissing, nothing more.
Joomla
Disable Send Copy To Submitter To Prevent Spam
The `Send Copy To Submitter` feature can be used by spammers by allowing them to put their targets email address in the form, use this tool to disable it.
JoomlaFixable in one click
Use Default Update Channel To Prevent Accidental Series Jump
A non-default update channel can quietly offer a pre-release or next major series build, so a routine update could jump your site onto an untested Joomla version.
JoomlaFixable in one click
Fix Known Joomla 3 End Of Life Security Issues
Joomla 3 stopped receiving security fixes in August 2023, so every flaw found since then stays open on the site permanently.
JoomlaFixable in one click
Disable Joomla Core Update Notification Emails
Disable Joomla core update available notification emails
JoomlaFixable in one click
Disable Log Everything To Prevent Huge Log Files
Log Everything writes a line for every action Joomla takes, which fills the disk on a busy site and can take the whole site down with it.
JoomlaFixable in one click
Disable Log Deprecated To Prevent Huge Log Files
Logging deprecated API calls is a developer aid, and on a live site it just grows a log file nobody reads until the disk is full.
JoomlaFixable in one click
Use A Valid SSL Certificate To Secure Traffic
Without HTTPS, everything a visitor sends, including login forms and session cookies, travels in plain text and can be read or altered by anyone on the network path.
Joomla
Investigate Locked Scheduled Tasks
Detect Joomla scheduled tasks that are stuck in a locked state
Joomla
Enable Joomla module versioning for safe rollback of module edits
Joomla can keep previous versions of a module's settings, so a bad edit to a live module can be rolled back instead of rebuilt from memory.
Joomla
Enable Proof-of-Work Captcha To Prevent Form Spam
Detect Joomla 6.1+ sites that have not enabled the built-in proof-of-work captcha
Joomla
Unblock mySites.guru IP in Akeeba Admin Tools
Find sites where Akeeba Admin Tools has auto-banned the mySites.guru IP, blocking audits and snapshots
Joomla
Language update sites point to the wrong Joomla version
After a Joomla 5 to 6 upgrade, language update sites can stay pinned to the old version so language packs never update. This finds and fixes them.
Joomla
Force SSL Should Be Set To Entire Site
With Force SSL set to admin-only or off, front-end pages including login and password-reset links can still be served over plain HTTP, exposing them to interception.
JoomlaFixable in one click
Force Multi-Factor Authentication For Super Users
Without forced MFA, a Super User account can be accessed with a password alone, so a leaked or guessed admin password is enough for full site control.
JoomlaFixable in one click99% of the Joomla sites we have this data for fail it
Article Options Ignored (Joomla 5.4.7 & 6.1.2)
Find Joomla 5.4.7 / 6.1.2 sites whose per-article Options are silently ignored on the front end
Joomla
Template Manager Broken (Joomla 5.4.8 & 6.1.3)
Find Joomla 5.4.8 / 6.1.3 sites whose Template Manager cannot create overrides or folders
Joomla
Don't Share Site & Admin Sessions
Don't share site and administrator sessions
JoomlaFixable in one click4.2% of the Joomla sites we have this data for fail it
WordPress configuration
The wp-config.php constants and admin settings that harden a WordPress install, and the ones that quietly leave it open.
Changes To Core WordPress Files Should Be Avoided
Compares your WordPress core files against the official file hashes for your version and flags anything that has been altered, a common sign of tampering.
WordPress
WordPress Version Must Be Up-to-date
Every WordPress release fixes security issues found in the one before it, so anything short of the latest version leaves published vulnerabilities unpatched.
WordPress
Use A Valid SSL Certificate To Secure Traffic
Checks whether your site URL starts with https, since traffic sent over plain HTTP, including login credentials, can be read or altered on the network path.
WordPress
WordPress Address Should Normally Equal Site Address
WP_HOME and WP_SITEURL control where WordPress thinks it lives, and an unexplained mismatch usually means an unfinished migration or a hijacked redirect.
WordPress
Password Protect WP-Admin
A .htaccess/.htpasswd prompt on /wp-admin/ adds a second login before an attacker ever reaches WordPress's own login form, and that is hard to automate around.
WordPress
WordPress Email Configuration Should Work
Sends a test email from your site and confirms it actually arrives, catching a broken mail setup before you notice password resets have stopped working.
WordPress
Disable third party access to your site over XML-RPC for better security and prevent access, and brute force attempts
WordPressFixable in one click48.7% of the WordPress sites we have this data for fail it
Allow Search Engines To Index This Site
Ensure you NEVER discourage search engines from crawling your live site by checking this WordPress feature is not enabled.
WordPressFixable in one click3.3% of the WordPress sites we have this data for fail it
Avoid Using Default Distributed Salt Values
The authentication salts in wp-config.php protect login cookies, so leaving them as "put your unique phrase here" makes forging a session trivial.
WordPress
Remove Default Tagline "Just Another WordPress Site"
The unedited "Just Another WordPress Site" tagline is one of the clearest signals to an attacker scouting for abandoned or badly maintained sites.
WordPress
Remove The Default "Sample Page"
WordPress installs with a placeholder "Sample Page" by default, and a live copy signals an unfinished or unmaintained site to anyone who lands on it.
WordPress
Remove The Default "Hello World!" Post
WordPress installs with a sample "Hello World!" post by default, and leaving it published is one of the clearest signs nobody has ever touched the site.
WordPress
Config Constant: Disable WP_DEBUG In Production
Ensure that your live sites dont have the WP_DEBUG constant enabled in production
WordPressFixable in one click
Config Constant: Disable WP_DEBUG_LOG In Production
Ensure that your live sites dont have the WP_DEBUG_LOG constant enabled in production
WordPressFixable in one click
Config Constant: Disable WP_DEBUG_DISPLAY In Production
Ensure that your live sites dont have the WP_DEBUG_DISPLAY constant enabled in production
WordPressFixable in one click
Config Constant: Disable File Editing Through Admin Console with DISALLOW_FILE_EDIT
Use DISALLOW_FILE_EDIT to lock down important parts of your admin
WordPressFixable in one click60.7% of the WordPress sites we have this data for fail it
Config Constant: Enable FORCE_SSL_ADMIN to secure admin connections
Use FORCE_SSL_ADMIN to ensure secure connections to your WordPress Admin Console
WordPressFixable in one click
Config Constant: Enable FORCE_SSL_LOGIN to secure login connections (@Deprecated)
FORCE_SSL_LOGIN forces the login page over HTTPS but was deprecated in WordPress 4.0 for FORCE_SSL_ADMIN, and some plugins still look for the old name.
WordPressFixable in one click
Config Constant: Prohibit Database Repair with WP_ALLOW_REPAIR constant
Use WP_ALLOW_REPAIR to set to false to prohibit repairing of the db on production sites
WordPressFixable in one click
Config Constant: Disallow Unfiltered Content with DISALLOW_UNFILTERED_HTML
Use DISALLOW_UNFILTERED_HTML to increase security on WordPress sites and not allow users full HTML use.
WordPressFixable in one click
Config Constant: Disable unfiltered file uploads with ALLOW_UNFILTERED_UPLOADS
We highly recommend you disable ALLOW_UNFILTERED_UPLOADS to filter all uploads by users - and only enable when you need to.
WordPressFixable in one click
Config Constant: Enable Auto Upgrades with AUTOMATIC_UPDATER_DISABLED constant
WordPress can install its own security releases unattended, which for most sites closes a known hole faster than anyone would get round to it by hand.
WordPressFixable in one click
Config Constant: Enable Minor Upgrades only with WP_AUTO_UPDATE_CORE constant
Force WordPress to only apply minor updates instead of major ones automatically
WordPressFixable in one click
Config Constant: Disable Plugin Installs with DISALLOW_FILE_MODS constant
Disabling plugin and theme installations when in WordPress Admin on a live site can ensure stability and stop admins breaking sites.
WordPressFixable in one click91.9% of the WordPress sites we have this data for fail it
Config Constant: Disable Script debugging with SCRIPT_DEBUG constant
Disable SCRIPT_DEBUG so that minified assets (Javascript files) are loaded
WordPressFixable in one click
Config Constant: Disable save queries debug with SAVEQUERIES constant
Disable SAVEQUERIES unless you are debugging a problem on a development site
WordPressFixable in one click
Config Constant: Enable WP_POST_REVISIONS to limit number of revisions saved to 10
Use WP_POST_REVISIONS to limit number of revisions saved to the database
WordPressFixable in one click
Config Constant: Set AUTOSAVE_INTERVAL to 30 seconds to prevent data loss
Use AUTOSAVE_INTERVAL to change the interval between auto-saves to prevent losing your drafts
WordPressFixable in one click
Disable Emojis
Disable the script to render emojis in WordPress posts as a micro-optimisation
WordPressFixable in one click
Remove jQuery Migrate Script
Disable the jQuery script in WordPress if you dont need if
WordPressFixable in one click
Remove WordPress Admin Footer Banner
Disable the this for fewer bytes to transfer and less visual clutter.
WordPressFixable in one click
Remove WordPress & Plugin Generator Tags And Version Numbers
Remove the WordPress Generator HTML tag and version numbers from your public pages
WordPressFixable in one click
Remove post shortlink head tags
Remove the WordPress post shortlink HTML head tags if not needed
WordPressFixable in one click
Remove WordPress Logo Menu top left of Admin Console
Remove the WordPress logo, fewer bytes to transfer and less visual clutter!
WordPressFixable in one click
Disable WordPress Application Passwords for APIs
We highly recommend you disable WordPress Application Passwords for APIs unless you know of a reason that you need it enabled.
WordPressFixable in one click
Disable Links In User Comments To Prevent Spam
Deter users spamming your comments with links, by removing the hyperlinks in comments
WordPressFixable in one click
Disable the "Howdy," greeting
Because its not the 1990's anymore...
WordPressFixable in one click
Remove Plugin Admin Nag Screens
Because plugin developers abuse your admin console far too much nowadays
WordPressFixable in one click
Disable Frontend Menu Bar When Logged In
If you dont need the menubar on the frontend, disable it!
WordPressFixable in one click
Config Constant: Disable WP_AI_SUPPORT to turn off WordPress AI features
Disable the WordPress 7.0+ built-in AI client by defining WP_AI_SUPPORT to false in wp-config.php
WordPressFixable in one click
Security headers
The HTTP response headers a browser uses to decide what your pages are allowed to do.
Content-Security-Policy Header Blocks Attacks
Sets which scripts and resources your pages are allowed to load, so injected code from an XSS attack has nowhere left to execute from.
Generic94.9% of the Generic sites we have this data for fail it
Expect-CT Tells Browsers To Expect Certificate Transparency
Expect-CT asked browsers to verify a certificate was publicly logged, but the header is obsolete now that every trusted certificate must be logged anyway.
Generic
Permissions-Policy Controls Which Features Can Be Used In The Browser
Controls which browser features, such as camera, microphone and geolocation, your pages and any embedded content are allowed to request.
Generic
Remove Deprecated Feature-Policy Header
Feature-Policy used to restrict access to browser features like the camera and microphone, but it is deprecated in favour of Permissions-Policy, so remove it.
Generic
Referrer-Policy Sets How Much Info Is Leaked When Linking Off Site
Controls how much of your page's URL gets sent to the destination site when a visitor clicks an outbound link, which can otherwise leak private paths.
Generic
Strict-Transport-Security (HSTS) Enforces The Use Of HTTPS
Tells the browser to only ever connect over HTTPS for a set period, an instruction that is hard to undo once a visitor's browser has cached it.
Generic
X-Content-Type-Options Stops Browsers MIME Sniffing The Content Type
Stops the browser guessing a file's type from its content instead of trusting the declared type, which is how a disguised file can end up executed as a script.
Generic
X-Frame-Options Controls Whether Your Site Can Be Framed
Controls whether another site can load your pages inside a frame, which stops clickjacking attacks that trick visitors into clicking something invisible.
Generic
Permissions-Policy Controls Which Features Can Be Used In The Browser
Permissions-Policy lets a site switch off browser features such as camera, microphone and geolocation, so a compromised script cannot invoke them.
Joomla
Remove Deprecated Feature-Policy Header
Feature-Policy was the browser header gating camera, microphone and similar APIs before Permissions-Policy replaced it, so serving it now is dead weight.
Joomla
Referrer-Policy Sets How Much Info Is Leaked When Linking Off Site
Without a Referrer-Policy header, a visitor clicking an outbound link can leak the full page URL, tokens and IDs included, to the destination site's logs.
Joomla
Strict-Transport-Security (HSTS) Enforces The Use Of HTTPS
HSTS tells the browser to always use HTTPS for future visits, but the setting is cached for the duration you set, so a bad header is hard to undo quickly.
Joomla72% of the Joomla sites we have this data for fail it
X-Content-Type-Options Stops Browsers MIME Sniffing The Content Type
Without this header, a browser may guess a file's type from its content, letting an uploaded file dressed as an image execute as a script instead.
Joomla32.4% of the Joomla sites we have this data for fail it
X-Frame-Options Controls Whether Your Site Can Be Framed
Without X-Frame-Options, another site can load your pages inside an invisible frame and trick a visitor into clicking buttons they cannot see: clickjacking.
Joomla50.3% of the Joomla sites we have this data for fail it
Permissions-Policy Controls Which Features Can Be Used In The Browser
Controls which browser features, such as camera, microphone and geolocation, your pages and any embedded content are allowed to request.
WordPress
Remove Deprecated Feature-Policy Header
Feature-Policy used to restrict access to browser features like the camera and microphone, but it is deprecated in favour of Permissions-Policy, so remove it.
WordPress
Referrer-Policy Sets How Much Info Is Leaked When Linking Off Site
Controls how much of your page's URL gets sent to the destination site when a visitor clicks an outbound link, which can otherwise leak private paths.
WordPress
Strict-Transport-Security (HSTS) Enforces The Use Of HTTPS
Tells the browser to only ever connect over HTTPS for a set period, an instruction that is hard to undo once a visitor's browser has cached it.
WordPress
X-Content-Type-Options Stops Browsers MIME Sniffing The Content Type
Stops the browser guessing a file's type from its content instead of trusting the declared type, which is how a disguised file can end up executed as a script.
WordPress
X-Frame-Options Controls Whether Your Site Can Be Framed
Controls whether another site can load your pages inside a frame, which stops clickjacking attacks that trick visitors into clicking something invisible.
WordPress
Database integrity
How the database is named, who connects to it, and what else it can reach.
Default Database Prefix Should Not Be Set As jos_
jos_ was Joomla's fixed table prefix in early versions, so keeping it makes every table name guessable, one less obstacle an SQL injection has to clear.
Joomla
Database User Should Not Be "root"
A root database user turns one SQL injection into access to every database on the server, not just this site's.
Joomla0.1% of the Joomla sites we have this data for fail it
DB User Should Only Have Access To One Database
If your database credentials can also see other databases on the server, one SQL injection on this site can reach every database that user has access to.
Joomla
Backup Tables Should Be Removed From Database
Tables left over from a backup or migration, typically prefixed bak_, sit in the same database as your live data, so a compromise of one exposes the other too.
Joomla
Joomla Core Database Schema Should Match Installed Joomla Version
The #__schema table records which database updates have run, and a mismatch against your Joomla version means an upgrade left tables only partly migrated.
Joomla
Enable User Action Log Auto Purge After 30 Days
Joomla's action log records logins and configuration changes but never expires entries by default, so without a purge it grows indefinitely unread.
Joomla
Default Database Prefix Should Not Be Set As wp_
Checks whether your tables still use the default wp_ prefix, which lets an attacker with partial access guess table names instead of having to find them.
WordPress
Database User Should Not Be "root"
A root database user turns one SQL injection into access to every database on the server, not just this site's.
WordPress
DB User Should Only Have Access To One Database
Checks how many databases your MySQL credentials can see: if one is compromised, broader access means every other database on the account is exposed too.
WordPress
Pending Database Migrations
Checks whether WordPress core has pending database schema updates it has not yet run, which can leave the site behaving inconsistently after an update.
WordPress
User accounts and access
Who can log in, how they prove it, and how many accounts nobody has used in years.
Super Admin Should Not Have Username "admin"
Checks for a Super Admin account using the username admin, which hands an attacker half the credentials they need to log in as you.
Joomla
Avoid MD5 Hashed Passwords (May Indicate Hacked Site)
Looks for 32-character MD5 password hashes in the users table, which Joomla never creates itself and which point to manual tampering with the database.
Joomla
Enable Two-Factor Authentication Plugins
Checks whether any Two-Factor Authentication plugin is enabled site-wide, since nobody can turn on 2FA if no plugin offers it.
JoomlaFixable in one click
Disable User Registration Unless Required
Checks whether public account registration is switched on, since an open signup form invites spam bots and gives attackers an easy foothold.
JoomlaFixable in one click9% of the Joomla sites we have this data for fail it
Default Group For New Users Should Not Be Admin Or Super Admin
Checks which user group new registrations are placed into by default, because finding it set to Super Admin is a known sign the site has been hacked.
Joomla
Limit The Number Of Super Admins To One
Find sites where more than one account holds full Super User rights
Joomla
Use Two-Factor Authentication On All Super User Accounts
Checks every Super Admin account for two-factor or multi-factor authentication, since a stolen password alone should never be enough to log in as one.
Joomla
Check For Joomla.user.helper.XXXX Usernames (2016 Hack Indicator)
Looks for usernames matching Joomla.user.helper.XXXX, the pattern a 2016 mass-hack created automatically, so finding one means the site was compromised.
Joomla
Remove "Never Logged In" Accounts
Lists accounts that have never once logged in, usually spam registrations or abandoned signups that still count as personal data you are holding.
Joomla
Lists non-admin accounts that have not logged in for 180 days or more, since an unused account is a credential nobody is watching.
Joomla
Unactivated Users
Lists registered accounts still waiting on email activation, since a large or growing backlog is usually spam signups rather than real visitors.
Joomla
Blocked Users
Counts accounts an administrator has blocked from logging in, since a growing pile of them usually means spam or abuse nobody has finished dealing with.
Joomla
Privacy: Review Overdue Privacy Requests
Flags GDPR export or erasure requests that have passed their statutory deadline and now need immediate action to avoid a compliance breach.
Joomla
Privacy: Review Pending Export Requests
Flags GDPR data export requests still waiting on the requester's email confirmation, the first stage of a legal deadline you need to track.
Joomla
Privacy: Review Pending Remove Requests
Flags GDPR erasure requests still waiting on the requester's email confirmation, the first stage of a legal deadline you need to track.
Joomla
Privacy: Process Confirmed Export Requests
Flags GDPR data export requests the user has confirmed by email, which now sit on a legal deadline until you actually export their data.
Joomla
Privacy: Process Confirmed Remove Requests
Flags GDPR erasure requests the user has confirmed by email, which now sit on a legal deadline until you actually delete their data.
Joomla
Privacy: Remove Completed Export Requests
Flags GDPR data export requests that have already been fulfilled but are still stored on the site, and should be cleared out once delivered.
Joomla
Privacy: Remove Completed Remove Requests
Flags GDPR erasure requests that have already been carried out but are still logged on the site, and should be cleared out now the data is gone.
Joomla
Users In No User Group
Find users who belong to no user group across all your sites
Joomla
"Anyone can register" should be disabled unless required
Checks whether WordPress lets anyone create an account, which widens the attack surface for any exploit that only needs a logged-in user.
WordPressFixable in one click
New User Default Role Should Not Be Administrator
Checks the role WordPress assigns to new sign-ups: finding it set to Administrator is a common sign the site has already been compromised.
WordPress
Limit The Number Of Administrators To One
Counts WordPress accounts in the Administrator role: every extra one is another set of credentials that can compromise the whole site.
WordPress
Avoid Using "admin" As A Username
Looks for a WordPress account named exactly admin, which hands a brute-force attacker half the login before they have guessed anything.
WordPress
Inactive Users (180+ Days)
Lists WordPress accounts that have not logged in for 180 or more days, the ones nobody would notice being misused if compromised.
WordPress
Unactivated Users
Lists WordPress accounts with a live activation link that was never completed, left over from sign-ups nobody finished.
WordPress
Blocked Users
Lists WordPress accounts you have blocked from logging in, so you can confirm each one still deserves to stay blocked or delete it outright.
WordPress
Avoid MD5 Hashed Passwords (May Indicate Hacked Site)
WordPress has not stored passwords as raw MD5 since 2008, so finding one today usually means the database was edited directly, not through WordPress.
WordPress
Privacy: Keep Pending Export Requests At Zero
Flags GDPR data export requests still waiting to be actioned, which risks missing the statutory deadline for responding to the user.
WordPress
Privacy: Keep Pending Remove Requests At Zero
Flags GDPR erasure requests still waiting to be actioned, which risks missing the statutory deadline for responding to the user.
WordPress
Privacy: Remove Completed Export Requests
Flags GDPR data export requests already fulfilled but still logged in WordPress, which is queue clutter you should clear out.
WordPress
Privacy: Remove Completed Remove Requests
Flags GDPR erasure requests already fulfilled but still logged in WordPress, which is queue clutter you should clear out.
WordPress
Users With No Role
Find users who have no role across all your WordPress sites
WordPress
Hosting environment
What the server underneath the site is actually running.
PHP Version Should Be Latest Supported Series
Compares the live PHP version against the currently supported series: an outdated release means known vulnerabilities in PHP itself go unpatched.
Generic
PHP Safe Mode Should Be Off
Safe mode was removed from PHP in version 5.4 (2012): finding it enabled today means the server is stuck on a release with no security support at all.
Generic
PHP Display Errors Configuration Should Be Off
Checks whether PHP is set to print errors on the page, which can leak file paths, database details and other internals to any visitor who triggers one.
Generic
PHP Register Globals Should Be Off
Register globals was removed from PHP in version 5.4 (2012): finding it on means the host is running a release with no security patches in over a decade.
Generic
PHP File Uploads Should Be Enabled
Checks that the PHP file_uploads setting is on: with it disabled, uploading media, installing extensions and applying updates all silently fail.
Generic
PHP Magic Quotes Should Be Off
Magic quotes was removed from PHP entirely in PHP 5.4 (2012), so finding it reported as enabled means the site is running an ancient, unsupported PHP build.
Generic
PHP Session Path Should Be Writable
Checks that PHP can write to its configured session save path, because without it the site cannot keep any visitor, including you, logged in.
Generic
PHP Disabled Functions Should Be Minimised
Reports any core PHP functions your host has disabled: blocking functions like this is not real hardening and often just breaks site features.
Generic
PHP Version Should Be Latest Supported Series
Running a PHP release below the latest supported minor version means missing bug fixes and security patches that the newer release already has.
Joomla
PHP Safe Mode Should Be Off
Safe Mode never gave the isolation it promised and was removed from PHP in 5.4 (2012), so finding it on means a decade or more without a single security fix.
Joomla
PHP Display Errors Configuration Should Be Off
A production site with display_errors on will print file paths and stack traces straight onto the page, handing an attacker a map of your server.
Joomla
PHP Register Globals Should Be Off
Register Globals let request data overwrite script variables and was removed from PHP in 5.4 (2012), so finding it on means a decade of missed security fixes.
Joomla
PHP File Uploads Should Be Enabled
Some hosts disable file_uploads to look secure, but Joomla needs it for Media Manager and extensions, so turning it off breaks the site, not secures it.
Joomla
PHP Magic Quotes Should Be Off
Magic Quotes was removed from PHP in version 5.4 (2012), so finding it enabled means the server runs an unsupported PHP release with no security fixes since.
Joomla
PHP Session Path Should Be Writable
PHP writes session files to keep visitors logged in between requests, so an unwritable session path silently breaks login and admin sessions across the site.
Joomla
PHP Disabled Functions Should Be Minimised
Disabling PHP functions in php.ini gives a false sense of security and breaks legitimate code without stopping an attacker who can already run PHP.
Joomla
PHP Extension fileinfo Must Be Installed For Media Manager
Joomla 4.3 and later require the fileinfo PHP extension for Media Manager to work at all, and some cPanel hosts disable or omit it by default.
Joomla
PHP Version Should Be Latest Supported Series
Checks your PHP version against the currently supported release series, since an outdated PHP version stops receiving security patches from php.net.
WordPress
PHP Safe Mode Should Be Off
Checks for PHP's safe_mode setting, removed from PHP itself in 2012, so finding it enabled means the server runs a long-unsupported PHP version.
WordPress
PHP Display Errors Configuration Should Be Off
Checks whether PHP's display_errors setting is switched on, which can leak file paths and other internal details to anyone who triggers an error.
WordPress
PHP Register Globals Should Be Off
Checks for PHP's register_globals setting, removed from PHP itself in 2012, so finding it switched on means the server runs a long-unsupported PHP version.
WordPress
PHP File Uploads Should Be Enabled
Checks whether PHP's file_uploads setting is enabled, since WordPress needs it for media uploads, plugin installs and theme updates to work at all.
WordPress
PHP Magic Quotes Should Be Off
Checks for PHP's magic_quotes settings, removed from PHP itself in 2012, so finding either active means the server runs a long-unsupported PHP version.
WordPress
PHP Session Path Should Be Writable
Checks whether PHP's configured session save path is writable, since WordPress cannot keep users logged in or maintain any session state without it.
WordPress
PHP Disabled Functions Should Be Minimised
Checks your host's PHP disable_functions setting and flags any entries, since disabling core PHP functions is not real security and just breaks features.
WordPress
Files
Files that should not be there, files that changed, and files that are missing.
Files That Could Not Be Audited, Review Manually
Lists files our scanner timed out on, often large or complex scripts, so you know which parts of the webspace this audit did not actually cover.
Generic
Files Modified In Last Three Days
Lists every file changed in the last three days by its modification time, so a sudden burst of edits you did not make stands out fast.
Generic
Multiple .htaccess Files Located In Webspace
Counts .htaccess files across the whole webspace; a site needs one, so more than a handful outside the root is unusual and worth investigating.
Generic
File Permissions Of 777 Should Be Avoided
Finds files and folders set to permission 777, which lets any other user on a shared server read, write and execute them, not just your account.
Generic
PHP error_log Files Should Be Reviewed And Deleted
Finds PHP error_log files, which record file paths and code errors that a well-running site should not be generating, and that an attacker can read for reconnaissance.
Generic
Zend/ionCube Encrypted Files Should Be Avoided
Encoded PHP files hide their real source code from our scanner, so a Zend Guard or ionCube file could be running anything, including a backdoor.
Generic
Locate And Review Hidden Files ("dot Files", .DS_Store Etc)
Lists every file whose name starts with a dot, including .htaccess by design, because attackers also favour dot-prefixed names to stay off a normal file listing.
Generic
Locate And Review Archive Files (Zip, Tar.gz, Etc)
Finds zip, tar and gzip archives in your webspace, which take up space unnecessarily and are also how attackers bulk-upload a whole toolkit of files in one go.
Generic
Locate And Review Files Over 2Mb Size
Lists every file over 2MB so you can see what is actually using your disk space, since attackers also favour large archives to smuggle in many files at once.
Generic
Review Renamed Files (.old, .bak, .orig)
Finds files renamed with a .bak, .backup or .old ending, commonly a config file left with old credentials in it, or a copy of a hacked file kept for later.
Generic
PHP Files Should Not Be In These Certain Folders
Flags PHP files sitting inside the /images folder, a favourite hiding place for an uploaded backdoor because nobody expects code to run from there.
Generic
Locate And Review Any SQL Files That Are Publicly Available
Finds .sql files sitting in a publicly reachable location, which is how a full database backup, including password hashes, ends up downloadable by anyone.
Generic
"php.ini" and ".user.ini" Override Files Located In Webspace
Finds php.ini and .user.ini files that silently override PHP's settings for a single folder, worth knowing about even when you put them there yourself.
Generic
Identify Files With No Content (Zero Bytes In Size)
Finds files that exist but hold no data at all, sometimes a hacker's waymarker, sometimes a blank index.php stopping directory listings, so each needs a look.
Generic
Files Modified Between Audits
Compares the MD5 hash of every file against the previous audit and flags any that changed, catching edits that fall outside the three-day recent-changes window.
Generic
Files That Could Not Be Audited, Review Manually
Lists files our scanner timed out on, often large or complex scripts, so you know which parts of the webspace this audit did not actually cover.
Joomla
Remove Unneeded Joomla Core "fluff"
Remove the left over core fluff files that Joomla installs, like build files, and text files for readmes etc.
Joomla
Uploaded Tmp Files/Folders Should Be Removed
Finds leftover folders in Joomla's tmp directory from extension installs, which can contain PHP files that are still callable directly from a browser.
Joomla
Akeeba Kickstart Should Not Be Left In Webspace
Kickstart is a one-time restore tool that can overwrite your entire site with any archive an attacker supplies, so leaving it in place after use is a standing takeover risk.
Joomla
Files Modified In Last Three Days
Lists every file changed in the last three days by its modification time, so a sudden burst of edits you did not make stands out fast.
Joomla
Forum Post Assistant Should Not Be Left In Webspace
The fpa.php diagnostic script dumps detailed system, PHP and configuration information that helps an attacker profile your server, so it should never stay public.
Joomla
Multiple .htaccess Files Located In Webspace
Counts .htaccess files across the whole webspace; a site needs one, so more than a handful outside the root is unusual and worth investigating.
Joomla
File Permissions Of 777 Should Be Avoided
Finds files and folders set to permission 777, which lets any other user on a shared server read, write and execute them, not just your account.
Joomla
PHP error_log Files Should Be Reviewed And Deleted
Finds PHP error_log files, which record file paths and code errors that a well-running site should not be generating, and that an attacker can read for reconnaissance.
Joomla
Zend/ionCube Encrypted Files Should Be Avoided
Encoded PHP files hide their real source code from our scanner, so a Zend Guard or ionCube file could be running anything, including a backdoor.
Joomla
Locate And Review Hidden Files ("dot Files", .DS_Store Etc)
Lists every file whose name starts with a dot, including .htaccess by design, because attackers also favour dot-prefixed names to stay off a normal file listing.
Joomla
Locate And Review Archive Files (Zip, Tar.gz, Etc)
Finds zip, tar and gzip archives in your webspace, which take up space unnecessarily and are also how attackers bulk-upload a whole toolkit of files in one go.
Joomla
Locate And Review Files Over 2Mb Size
Lists every file over 2MB so you can see what is actually using your disk space, since attackers also favour large archives to smuggle in many files at once.
Joomla
Review Renamed Files (.old, .bak, .orig)
Finds files renamed with a .bak, .backup or .old ending, commonly a config file left with old credentials in it, or a copy of a hacked file kept for later.
Joomla
PHP Files Should Not Be In These Certain Folders
Flags PHP files sitting inside the /images folder, a favourite hiding place for an uploaded backdoor because nobody expects code to run from there.
Joomla
Locate And Review Any SQL Files That Are Publicly Available
Finds .sql files sitting in a publicly reachable location, which is how a full database backup, including password hashes, ends up downloadable by anyone.
Joomla
Locate And Review Any admintool_breaches.log Files
Finds admintool_breaches.log files written by the Admin Tools security extension when it blocks an attack, worth reviewing as a record of attempted break-ins.
Joomla
"php.ini" and ".user.ini" Override Files Located In Webspace
Finds php.ini and .user.ini files that silently override PHP's settings for a single folder, worth knowing about even when you put them there yourself.
Joomla
Identify Files With No Content (Zero Bytes In Size)
Finds files that exist but hold no data at all, sometimes a hacker's waymarker, sometimes a blank index.php stopping directory listings, so each needs a look.
Joomla
Files Modified Between Audits
Compares the MD5 hash of every file against the previous audit and flags any that changed, catching edits that fall outside the three-day recent-changes window.
Joomla
Identify Missing Core Joomla Files
Compares your webspace against the official Joomla file list and flags anything missing, whether from a failed update or deliberate deletion to cover tracks.
Joomla
Locate And Review Double Extension Files (name.php.xxx)
Locate files where .php is not the final extension (name.php.json) - a common malware-evasion pattern
Joomla
Files That Could Not Be Audited, Review Manually
Lists files our audit could not finish checking, usually because they exceeded your server's time limit or file size during the scan, so review them manually.
WordPress
Files Modified In Last Three Days
Lists every file changed in the last three days by its modification time, so a sudden burst of edits you did not make stands out fast.
WordPress
Multiple .htaccess Files Located In Webspace
Counts .htaccess files across the whole webspace; a site needs one, so more than a handful outside the root is unusual and worth investigating.
WordPress
File Permissions Of 777 Should Be Avoided
Finds files and folders set to permission 777, which lets any other user on a shared server read, write and execute them, not just your account.
WordPress
PHP error_log Files Should Be Reviewed And Deleted
Finds PHP error_log files, which record file paths and code errors that a well-running site should not be generating, and that an attacker can read for reconnaissance.
WordPress
Zend/ionCube Encrypted Files Should Be Avoided
Encoded PHP files hide their real source code from our scanner, so a Zend Guard or ionCube file could be running anything, including a backdoor.
WordPress
Locate And Review Hidden Files ("dot Files", .DS_Store Etc)
Lists every file whose name starts with a dot, including .htaccess by design, because attackers also favour dot-prefixed names to stay off a normal file listing.
WordPress
Investigate And Remove /wp-content/debug.log
A world-readable debug.log from the WP_DEBUG_LOG setting can log database queries, file paths and PHP errors, handing a visitor detail about your internals.
WordPress
Locate And Review Archive Files (Zip, Tar.gz, Etc)
Finds zip, tar and gzip archives in your webspace, which take up space unnecessarily and are also how attackers bulk-upload a whole toolkit of files in one go.
WordPress
Locate And Review Files Over 2Mb Size
Lists every file over 2MB so you can see what is actually using your disk space, since attackers also favour large archives to smuggle in many files at once.
WordPress
Review Renamed Files (.old, .bak, .orig)
Finds files renamed with a .bak, .backup or .old ending, commonly a config file left with old credentials in it, or a copy of a hacked file kept for later.
WordPress
PHP Files Should Not Be In These Certain Folders
Flags PHP files sitting inside the /images folder, a favourite hiding place for an uploaded backdoor because nobody expects code to run from there.
WordPress
Locate And Review Any SQL Files That Are Publicly Available
Finds .sql files sitting in a publicly reachable location, which is how a full database backup, including password hashes, ends up downloadable by anyone.
WordPress
"php.ini" and ".user.ini" Override Files Located In Webspace
Finds php.ini and .user.ini files that silently override PHP's settings for a single folder, worth knowing about even when you put them there yourself.
WordPress
Identify Files With No Content (Zero Bytes In Size)
Finds files that exist but hold no data at all, sometimes a hacker's waymarker, sometimes a blank index.php stopping directory listings, so each needs a look.
WordPress
Files Modified Between Audits
Compares the MD5 hash of every file against the previous audit and flags any that changed, catching edits that fall outside the three-day recent-changes window.
WordPress
Identify Missing Core WordPress Files
Compares your webspace against the WordPress core file list and flags anything missing, which can mean a broken upgrade or files deleted to hide a compromise.
WordPress
Locate And Review Double Extension Files (name.php.xxx)
Locate files where .php is not the final extension (name.php.json) - a common malware-evasion pattern
WordPress
Scan For Files Not Bundled With WordPress Core
Checks wp-admin and wp-includes, folders WordPress core owns exclusively, for files never shipped in a WordPress release and with no reason to be there.
WordPress
Folders
Folder permissions, writable paths, and directories left behind by an install.
Folder Permissions That Should Be Avoided
Scans every folder for 0777 (world-writable) permissions, which let any other process on a shared server read, write or replace your files.
Generic
Paths With Hidden Folders In Them
Looks for folders with a dot-prefixed name, which some FTP clients and file managers hide by default, making them a handy place to stash something malicious.
Generic
Folder Permissions That Should Be Avoided
Scans every folder for 0777 (world-writable) permissions, which let any other process on a shared server read, write or replace your files.
Joomla
Installation Folders Should Be Deleted
Checks for a leftover Joomla installation folder, even one renamed to hide it, since leaving it in place risks someone finding and misusing it.
Joomla
Paths With Hidden Folders In Them
Looks for folders with a dot-prefixed name, which some FTP clients and file managers hide by default, making them a handy place to stash something malicious.
Joomla
"tmp/logs" Folders Should Be Writable
Checks whether the tmp and logs folders configured in Joomla are writable, since Joomla writes temporary files and its error log there and breaks without access.
Joomla
One Webspace Should Contain One Joomla Installation
Counts how many Joomla installations exist inside the same webspace, since more than one risks a compromise in one spreading straight into the other.
Joomla
Folder Permissions That Should Be Avoided
Scans every folder for 0777 (world-writable) permissions, which let any other process on a shared server read, write or replace your files.
WordPress
Paths With Hidden Folders In Them
Looks for folders with a dot-prefixed name, which some FTP clients and file managers hide by default, making them a handy place to stash something malicious.
WordPress
One Webspace Should Contain One WordPress Installation
Counts how many WordPress installations exist inside the same webspace, since more than one risks a compromise in one spreading straight into the other.
WordPress
Extensions and plugins
The third-party code with the same privileges as the CMS itself.
Privacy: Publish Privacy Consent Plugin
Checks whether the built-in Joomla privacy consent plugin is enabled, which is what actually records that a user agreed before you process their data.
Joomla
User Action Log Plugins Should Be Enabled
Checks whether the Joomla action log plugins are enabled, so there is a record of who changed what if the site is later compromised.
Joomla
Disable Joomla Guided Tours Plugin In Production
Checks whether the Guided Tours plugin is published: it ships enabled by default and is an unnecessary surface once you know the admin console.
JoomlaFixable in one click60.3% of the Joomla sites we have this data for fail it
Enable Image Thumbnails To Speed Up Media Manager In Joomla 4.3+
Checks whether thumbnail generation is switched on in the Local filesystem plugin, since Media Manager becomes noticeably slower to browse without it.
JoomlaFixable in one click
"Behaviour - Backward Compatibility 6" Plugin (plg_behaviour_compat6, J5 Classes) - Warning! LEARN before disabling!
Reports whether the plugin that keeps deprecated Joomla 5 classes working is still enabled, letting old extensions run before the next major upgrade.
JoomlaFixable in one click
"Behaviour - Backward Compatibility" Plugin (plg_behaviour_compat, J4 Classes) - Warning! LEARN before disabling!
Reports whether the plugin keeping deprecated Joomla 4 classes working on Joomla 5 is still enabled, delaying extension updates needed for Joomla 6.
JoomlaFixable in one click
Disable Sample Data In Production
Detect and disable the Joomla Sample Data module and its install plugins
JoomlaFixable in one click
Delete Files For Deactivated Plugins
A deactivated plugin's files still sit on disk and can still be reactivated or reached directly, so any known vulnerability in its code remains part of your attack surface.
WordPress
Discussion settings
Comment handling, and the settings that decide how much spam you moderate.
Disable Comments On New Articles
If you dont need commenting on posts, then you should disable it to stop spamming
WordPressFixable in one click
Require Comment Author Name And Email
Checks whether commenters must supply a name and email address before submitting, a basic barrier against automated spam comments.
WordPressFixable in one click
Require Registration And Login To Comment
Checks whether visitors must have a registered account before they can post a comment, since an open comment form is a magnet for spam bots.
WordPressFixable in one click
Keep Comments Requiring Moderation At Zero
Counts comments sitting in the moderation queue, because a growing backlog usually means spam is getting through the filters faster than anyone reviews it.
WordPress
Keep Trashed Comments At Zero
Counts comments sitting in the trash, which stay in the database taking up space until someone empties the bin permanently.
WordPress
Writing settings
Post revisions, autosaves and the content the database keeps forever by default.
Default Post Category Should Not Be Uncategorised
Checks whether new posts still default to the built-in Uncategorised category, a sign nobody has ever set up a proper category structure for the content.
WordPress
Remove Post Via Email Settings Unless Required
Checks whether WordPress's Post via Email feature is configured, since it stores your mailbox password on the site and lets anyone who finds the address post content.
WordPress
Remove Old Post Revisions From The Database
Counts saved post revisions sitting in the database, which build up with every edit and slow every query as the table grows without limit.
WordPress
Remove Auto-Save Revisions From The Database
Counts WordPress's automatic autosave revisions sitting in the database, which build up unchecked and add nothing but extra rows to every query.
WordPress
Remove Trashed Posts And Pages From The Database
Counts posts and pages sitting in the Trash, which stay in the database taking up space until someone empties it or WordPress does after 30 days.
WordPress
Remove Draft Posts And Pages From The Database
Counts draft posts and pages left in the database, which build up over years of editing and add weight to both the database and its backups.
WordPress
Appearance
The active theme, and whether it is the one you think it is.
Avoid Using Default WordPress Themes
Compares your active theme's name against every default WordPress theme ever shipped, since a stock theme is both a giveaway and a known target.
WordPress