Skip to main content
WhatsApp me

Services

Websites
SEO & Google Ads
Branding
3D & interactive
Apps & AI
All services →

Find me on

Web Development Website Security

Website Security Check: 9 Free Scanners to Use (October 2026)

A free website security check with 9 tools: what Sucuri SiteCheck, SSL Labs, Google and WPScan can see, what they miss, and why a pass is not a patched server.

Logistics manager in a Kallang warehouse office reading website security check results shown as green and amber blocks

Every free website security check works from the outside. It loads your pages the way a visitor or a search engine would and reports what it can see from there: malware in the HTML, a Google blocklisting, a weak HTTPS setup, missing security headers. That's useful, and it's also why a site can pass every scanner on this list and still run a PHP build that attackers can break into.

This week made that gap obvious. PHP2Shell, the two PHP flaws patched on 21 October 2026, sits in the PHP engine on your server, and outside scanners can't reliably tell a patched build from an unpatched one. Singapore's Cyber Security Agency told organisations to "Patch immediately". My guide to what the PHP2Shell vulnerability means for a business website covers that side of it.

Below are 9 free scanners I'd actually use, each with what it checks, what it can't see and how to read the result, then a comparison table and the one check no scanner can do for you. I confirmed each tool was live and free on 23 October 2026.

What can a website security check tell you?

An online website security check tells you what anyone on the internet can see about your site: whether pages carry malware or spam, whether Google or antivirus vendors have flagged the domain, how HTTPS is set up, and which security headers the server sends. It can't log in, read the files on your server or see the software behind the pages unless the site gives it away.

That leaves a list of things no outside scan can confirm:

  • the exact PHP build your server runs, and whether it includes the 21 October fix
  • plugins that leave no trace in the page source
  • admin accounts you didn't create, and backdoor files that sit quietly on the server
  • whether you have backups, and whether they restore

Two more blind spots catch people out. If your site sits behind Cloudflare, Sucuri or another firewall, most scanners test the firewall's edge rather than your server. And a scan is a snapshot. Malware that only fires for mobile visitors or visitors arriving from Google can look clean on the day you check.

1. Sucuri SiteCheck

Sucuri SiteCheck is a free online scanner that loads your site like a visitor and checks it for known malware, blocklisting, website errors and out-of-date software. Type your domain into sitecheck.sucuri.net and wait for the report. No sign-up needed.

  • What it checks: malicious code, spam links and redirects in your page source, blocklist status with Google, PhishTank and others, a visible outdated CMS or plugin, and general security recommendations.
  • What it can't see: anything on the server. Sucuri's own page says that because the scanner "only has access to what's visible on the browser level, it will not detect anything on the server-side". Its documentation adds that results "are not 100% accurate".
  • Reading the result: red on malware or blocklisting means treat it as an incident today. Green means nothing malicious was visible when it scanned. The outdated-software line only appears when your site advertises a version, so silence there proves nothing.

2. Google Safe Browsing site status

Google's Safe Browsing site status page shows whether Google currently flags your site as unsafe, which is what puts warnings in front of visitors in Google Search and in web browsers. Search your domain on the Safe Browsing site status page. Google says it finds thousands of new unsafe sites every day, "many of which are legitimate websites that have been compromised".

  • What it checks: Google's current verdict on a domain or URL.
  • What it can't see: anything Google hasn't detected yet. It's a lookup of Google's list, not a fresh scan.
  • Reading the result: "No unsafe content found" is the answer you want. "No available data" is common for small sites and just means Google has nothing to report. Any mention of unsafe pages means visitors are probably seeing warnings already, so clean up and ask for a review through Search Console.

3. Google Search Console Security Issues report

Google Search Console's Security Issues report lists hacked content, malware and deceptive pages Google has found on your site, and it's the only place to ask Google to lift a warning once you've cleaned up. It's free, but you have to verify that you own the site first, and Google emails the verified owners when it finds something.

  • What it checks: three kinds of hacked content (code injection such as malicious redirects, content injection such as spam links, and URL injection, where new spam pages appear on your domain), plus malware, unwanted software and social engineering.
  • What it can't see: problems Google hasn't found. Google's help page also says the example URLs it lists are "not necessarily complete".
  • Reading the result: "No issues detected" is good. If issues are listed, fix every affected page, then press Request Review. Google says a security review "can take from a few days to a few weeks".

One Singapore SME habit to fix: Search Console was set up years ago by a developer who has since left, and the alerts go to their inbox. Check who the verified owners are and add yourself.

4. VirusTotal URL scan

VirusTotal checks a URL against more than 70 antivirus scanners and URL blocklisting services at once, so it shows whether security vendors have flagged your domain. Paste the address on virustotal.com. Its documentation says the service is free for non-commercial use.

  • What it checks: each vendor's verdict on the URL and domain, plus details of the page it fetched.
  • What it can't see: your server. It's mostly a reputation check.
  • Reading the result: zero detections is normal. One or two flags from lesser-known engines can be false positives, so look at which vendor flagged it and ask that vendor to review. Several well-known engines flagging the same URL is a real problem.

VirusTotal says its reports "are shared with the public VirusTotal community". Don't submit a private staging address or a link with a login or reset token in it.

5. Mozilla HTTP Observatory

Mozilla's HTTP Observatory grades the security headers and related settings your server sends, from A+ down to F, and explains each test you fail. It now lives on MDN and needs no sign-up.

  • What it checks: Content Security Policy, cookie settings, the redirect from HTTP to HTTPS, HSTS, Referrer-Policy, framing protection and similar headers. Every site starts at 100 points and loses points for failed tests, and a site scoring 90 or more can earn bonus points up to a maximum of 145.
  • What it can't see: Mozilla is upfront that it "does not test for outdated software versions, SQL injection vulnerabilities, vulnerable content management system plugins". It also stopped testing TLS and certificates when the old Mozilla Observatory was retired in October 2024, so older guides that say it does are out of date.
  • Reading the result: plenty of small business sites score D or F because nobody ever set these headers. A low grade means missing defensive settings, not a breach. Add a Content Security Policy carefully, because a strict one can break forms, chat widgets and analytics.

Mozilla's FAQ notes that each domain's scan history is public.

6. Security Headers

Security Headers, a free Snyk project at securityheaders.com, gives a quick letter grade for six common security headers and lists every raw header your server sends. It takes seconds.

  • What it checks: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy and Permissions-Policy, split into present and missing.
  • What it can't see: anything beyond those response headers.
  • Reading the result: the grade overlaps with Observatory. The raw headers list is the part worth reading for PHP. If it shows X-Powered-By: PHP/8.1.x, your server is announcing its PHP version to everyone, and your host or developer can switch that off with expose_php = Off.

Don't read too much into the number either way. A missing X-Powered-By header says nothing about patch status, and as the section below explains, the number it shows can be wrong.

7. Qualys SSL Labs SSL Server Test

Qualys SSL Labs' SSL Server Test is a free, thorough check of your HTTPS setup: the certificate, the TLS versions and ciphers your server accepts, and known TLS weaknesses, graded A+ to F. Run it at ssllabs.com/ssltest; a full test takes a couple of minutes.

  • What it checks: the certificate chain and expiry, which TLS protocol versions are switched on, cipher suites and known TLS vulnerabilities.
  • What it can't see: your website software, malware or PHP.
  • Reading the result: A or A+ is the target. Since 31 January 2020, a server that still accepts TLS 1.0 or 1.1 is capped at B. A T grade means the certificate isn't trusted and an M means the name on it doesn't match your domain. Either can put a browser warning in front of visitors, so fix those today.

If your site is behind Cloudflare, you're grading Cloudflare's edge, not your own server. Tick "Do not show the results on the boards" if you'd rather your domain stayed off its public recent-scans lists.

8. WPScan, the WordPress vulnerability scanner

WPScan is a free command-line WordPress vulnerability scanner that finds your WordPress version, plugins, themes and usernames from the outside and matches them against a database of known vulnerabilities. It runs on your own computer through Homebrew, RubyGems or Docker, so it suits technical users.

  • What it checks: core version, the plugins and themes it can detect, user accounts it can list, and exposed backup folders. Vulnerability data needs a free API token: 25 requests a day for non-commercial use, and WPScan's pricing page says commercial use of the API needs a paid licence.
  • What it can't see: plugins that leave no trace in the page source, the PHP version, and anything inside the dashboard.
  • Reading the result: each finding names the plugin, the version it saw, the vulnerability and the version that fixes it. If the fix is newer than what you run, update. If WPScan can list your usernames, so can attackers, which is why 2FA matters more than hiding them.

If a command line isn't for you, Jetpack Protect is a free plugin that runs a daily check of core, plugins and themes inside your dashboard using the same WPScan database. Either way, run WPScan only against sites you own or are allowed to test.

9. php2shell-scanner from Searchlight Cyber

php2shell-scanner is a free, open-source tool from Searchlight Cyber's Assetnote team that tests whether a server is vulnerable to PHP2Shell by trying to trigger the bug's memory error, rather than just reading a version number. It was published on 22 October 2026 on GitHub and needs Python 3.9 or later, so it's for technical users.

Searchlight's write-up describes three checks in order: try to trigger a PHP memory-exhaustion error, then look for a telltale empty HTTP 500 from a crashed PHP-FPM worker, and only as a last resort read the advertised PHP version. It says most other scanners "rely on version checks".

  • Only scan your own servers. The tool sends a few large requests, around 29 MiB per page tested according to its README, designed to push PHP into an error. Searchlight says a worker crash is usually recovered quickly, but "care and caution should still be taken". Run it in a quiet hour and tell your host first. Pointing it at someone else's server could breach Singapore's Computer Misuse Act.
  • Expect false positives. The README says patched PHP 8.4.27 and 8.3.36 can return the same empty HTTP 500 under some settings, and that "Results should therefore be verified against the installed PHP version and any vendor backports."
  • Use the assetnote repository. Other projects on GitHub use similar names. Tenable's PHP2Shell FAQ warns that "Unverified exploit code is sometimes laced with malware".

Which free website security scanner should you use?

Use Sucuri SiteCheck, Google Safe Browsing and SSL Labs for a five-minute website security check, keep Google Search Console running all the time, and add WPScan or php2shell-scanner only if you're comfortable on a command line. Here's how the 9 compare.

ScannerWhat it checksSetupSees your PHP patch level?Best for
Sucuri SiteCheckMalware, spam, blocklists, visible outdated softwareNoneNoA first look at any site
Google Safe BrowsingGoogle's current unsafe-site verdictNoneNoChecking for browser warnings
Search Console Security IssuesHacked content, malware, social engineeringVerify ownershipNoOngoing alerts and review requests
VirusTotal70+ antivirus and blocklist verdictsNoneNoA domain someone says is flagged
HTTP ObservatorySecurity headers, cookies, redirectsNoneNoHardening headers
Security HeadersSix headers plus the raw header listNoneOnly if the server announces it, and the number can misleadA quick header check
SSL LabsCertificate and TLS setupNoneNoHTTPS problems
WPScanWordPress version, plugins, themes, usersInstall, free API tokenNoWordPress sites
php2shell-scannerWhether PHP2Shell can be triggeredInstall (Python)Indirectly, with false positivesTechnical owners testing their own servers

Can an online scanner tell if your PHP is patched?

No online scanner can reliably tell whether your server's PHP is patched, because most servers hide the version and the number that does show can be wrong in either direction. That's the gap PHP2Shell exposed, and it's why "passed" on a scanner isn't the same as safe.

  • Most servers don't announce PHP at all, which is good practice, so there's nothing for a scanner to read.
  • Patched builds keep old numbers. Linux vendors fix the code without changing the branch, so Ubuntu 22.04's patched PHP still reports 8.1.2 and CloudLinux's patched alt-php 8.5 reports 8.5.11-5. A scanner reading those would call a fixed server vulnerable. Sucuri's advisory warns readers not to judge an older installation "based only on its displayed version number".
  • The command line can disagree with the website. Sucuri also notes that the version php -v shows may differ from the one your web server uses.
  • WordPress Site Health checks the branch, not the patch. On 23 October it still rated an unpatched PHP 8.3.20 as recommended.

So the definitive check happens on the server. Find the exact PHP version that serves your site and compare it with the fixed releases, 8.5.12, 8.4.27, 8.3.36 and 8.2.35, listed in PHP's advisory. If your host or Linux vendor builds its own PHP, get them to confirm in writing, or show you the changelog, that their build fixes both CVE-2026-109618 and CVE-2026-109619. My guide on how to check your website's PHP version covers every way to find it, easiest first.

If you'd rather not dig through server settings, send me your web address for a free PHP check. I'll check which PHP version it runs, what it's built on and how old its theme and plugins are, and tell you what I find. If your host has already patched it, I'll tell you that too, and you won't need me.

An outside scan is one step of my 12-step WordPress security checklist. The rest, from updates and old plugins to 2FA and backups, happens inside the site.

What should you do if a website security check finds a problem?

What you do after a website security check depends on what it found: malware or a blocklisting is an incident to handle today, while weak headers or an old TLS setting are configuration fixes for this week.

If you'd rather hand it over, this is my own service, and it starts with the free check above. If the site needs the PHP update, you get a fixed price in writing before I start, covering the update and anything it breaks, from SGD 850. Upkeep after that is a content retainer at SGD 550 a month, which covers core, plugin, backup and security work plus 5 hours of changes (details on my website maintenance page). If a rebuild would make more sense, I'll quote it next to the fix so you can compare.

When is rebuilding safer than patching?

Rebuilding is safer than patching when a site is mostly brochure pages stuck on old PHP or abandoned plugins, because a statically built site has no PHP runtime, database or public login for an attacker to reach. terris.sg is built that way, with Astro, and served from a CDN. For MET Interior, I moved a 176-page site off WordPress and its page builder onto Astro, statically rendered, with 75 filterable project pages, 12 BTO landing pages and the old URLs mapped across.

A static site still needs care: the domain registrar and DNS accounts, the hosting or GitHub account, form endpoints and any serverless functions, third-party scripts, and the npm packages it's built from. Most of the scanners above still apply, because headers, TLS and blocklists don't care how a site was built. My rebuilds start at SGD 2,535 for a Starter site and SGD 3,545 for a One Week Website, and Growth, from SGD 7,585, includes a CMS you edit yourself (the packages compared). If you run WooCommerce, memberships or a team that edits daily, a well-kept WordPress site is often the better call, and patching is the right answer.

How often should you run a website security check?

Run a quick website security check once a month and after any big change, such as a redesign, a host move or a new plugin, and keep Google Search Console set up all the time so Google emails you the day it finds a problem. Rerun SSL Labs whenever your certificate, host or CDN changes, since that's when HTTPS settings usually slip.

Is it legal to scan a website you don't own?

Checking any public website with a passive tool such as Sucuri SiteCheck, Safe Browsing, VirusTotal, SSL Labs or a header grader is routine, because those tools only make ordinary requests or look up existing lists. Active scanners such as WPScan or php2shell-scanner are different: run them only on sites you own or have written permission to test. In Singapore, interfering with a computer without authority can fall under the Computer Misuse Act. This isn't legal advice.

What is the best free website vulnerability scanner?

The best free website vulnerability scanner depends on what you run: WPScan, or Jetpack Protect inside the dashboard, for WordPress plugins and themes, Sucuri SiteCheck for malware and blocklists, and SSL Labs for HTTPS. None of them can confirm your PHP patch level, so pair any scan with a check of the PHP version on the server itself.

Run the quick ones today. SiteCheck, Safe Browsing and SSL Labs take about five minutes between them, and Search Console is worth setting up once and leaving on. Then do the check no website security scanner can: find out exactly which PHP build serves your site, and whether it has the 21 October fix.

If a scan comes back red, or you can't work out what your server runs, the free PHP check is the quickest way to find out, and you'll know what a fix would cost before you spend anything.

Sources and references (22)
  1. php.net
  2. sitecheck.sucuri.net
  3. docs.sucuri.net › malware scanning
  4. transparencyreport.google.com › search
  5. support.google.com
  6. virustotal.com
  7. docs.virustotal.com › how it works
  8. developer.mozilla.org › observatory
  9. developer.mozilla.org › faq
  10. developer.mozilla.org › tests and scoring
  11. securityheaders.com
  12. ssllabs.com › ssltest
  13. github.com › SSL Server Rating Guide
  14. github.com › wpscan
  15. wpscan.com › pricing
  16. wordpress.org › jetpack protect
  17. github.com › php2shell scanner
  18. slcyber.io › high fidelity detection mechanism for php2shell cve 2026 109618 and cve 2026 109619
  19. tenable.com › php2shell cve 2026 109618 cve 2026 109619 frequently asked questions about critical php remote
  20. blog.sucuri.net › critical php security update two rce flaws cve 2026 109618 cve 2026 109619
  21. csa.gov.sg › al 2026 151
  22. sso.agc.gov.sg › CMA1993
Back to top

Written by

Terris

Web designer in Singapore

I've built websites for Singapore businesses full-time since 2018, across 290+ projects. I write, design and build each one myself, then do its SEO and Google Ads. These articles are what I'd tell a client who asked.

570+ articles written

Message me about your website, your SEO or your ads

I build the website myself, then handle the SEO and the Google Ads after it goes live. Tell me what you need and I'll give you a straight answer and a price.

View the list now
Email me
I read every message myself