Website Malware & Security Checker
Scan any website for malware, injected scripts, hidden iframes, SEO spam, blacklisting and weak security settings. Free, from the outside, no installation.
Fetching and analysing the page…
5 of 5 free checks left today. Create a free account for unlimited checks.
Website Malware & Security Checker - results and guide
What the Website Malware & Security Checker checks
- Injected and obfuscated JavaScript: eval and unescape chains, fromCharCode sequences, escaped blobs, obfuscator output
- Hidden iframes and code placed before or after the HTML document
- Cryptocurrency miners, scripts loaded from raw IP addresses, free domains or PHP files
- Redirects to other domains, including conditional JavaScript redirects that only hit visitors from Google
- Card skimmers and phishing kits: forms with password or card fields that submit to another site
- SEO spam: pharma, casino and counterfeit keywords, hidden link farms and the Japanese keyword hack
- Defacement text and known WordPress malware file paths
- Google Safe Browsing blacklist status for malware, phishing and unwanted software
- TLS certificate validity, issuer and expiry, HTTP to HTTPS redirect, HSTS and mixed content
- Security headers: Content-Security-Policy, X-Content-Type-Options, clickjacking protection, Referrer-Policy, Permissions-Policy and cookie flags
- Version disclosure in the Server, X-Powered-By and generator tags
- Publicly readable .env, .git and wp-config backups; XML-RPC, readme.html and user enumeration on WordPress
What a website malware checker can see
This checker looks at a site the way an outside scanner, a search engine or a visitor's browser does. It downloads the page from our servers, follows every redirect, and reads the HTML and the response headers that come back. Then it compares what it finds against the patterns that infected sites share: code that decodes itself before it runs, frames that visitors cannot see, forms that quietly send passwords elsewhere, spam keywords that have nothing to do with the site, and scripts pulled in from places no legitimate site would use.
It also looks at the things that make an infection more likely or more damaging. An expired certificate, a missing Content-Security-Policy, a server that announces its exact version, or a .env file that anyone can download are not malware, but they are how malware gets in and how it gets found. Each result explains what was found, why it matters and what to change, so you can act on it without being a security specialist.
Because the scan reads what the server sends, it is safe to run on any public site, including one you suspect is already compromised: nothing is executed and nothing is installed. For the same reason, run it on a few different pages, not only the home page. Infections are often limited to one template, one plugin or one directory.
What it cannot see, and what to do about that
A remote scan reads the page as delivered. It does not log in to the server, so it cannot see a backdoor sitting in a file the page never references, a modified core file whose output looks normal, or a cron job that reinstalls the infection every night. It also does not run JavaScript, so a payload that only assembles itself in the browser is seen in its encoded form, which is exactly what the obfuscation checks are for.
Treat a clean result as "nothing visible from outside", not as proof that a site is clean. If visitors report redirects you cannot reproduce, Google flags the site, or pages appear in search results that you never wrote, follow up with a server-side scan: compare the installed files with the originals (WordPress users can run wp core verify-checksums), look for files changed in the last few days, and search the code for base64_decode and eval. A suspicious result here tells you where to start looking.
After a clean-up, run the check again and then keep an eye on the site. A compromised site usually goes down, slows down or starts redirecting before anyone notices the cause, so pair this scan with uptime monitoring and SSL monitoring, and use the HTTPS Redirect Checker and Redirect Checker when a redirect looks wrong.
How the risk level is worked out
Every finding has a weight. A sign of infection (injected code, a blacklisting, a skimmer form) weighs most, a serious exposure (a readable secrets file, an invalid certificate, a site served over plain HTTP) comes next, and a hardening gap (a missing header, a leaked version number) weighs least. The risk level follows: Low means nothing more than optional hardening was found, Medium means several hardening gaps, High means a problem that leaves the site open to attack, and Critical means there is evidence that the site is already compromised or blacklisted.
The list at the top of the report holds only the findings that need action, worst first. Every check, including the ones that passed, is repeated in its section further down so you can see what was covered. The table of external scripts lists every third-party domain the page runs code from; a domain you do not recognise is the quickest lead there is.
How to use the Website Malware & Security Checker
- Enter the domain or page address you want to check. You can leave out
https://. - Press Scan website. The page is fetched from our servers, the way a search engine crawler would fetch it.
- Read the findings from top to bottom: problems first, then warnings. Each one says what to change.
Common problems and how to fix them
Obfuscated JavaScript or a hidden iframe was found
Take a full backup first, then find the code in the page source and trace it to its origin: a theme file (footer.php, functions.php), a plugin, a database option or post, or a core file. Replace infected files with fresh copies from the official source rather than editing them. Change every password (hosting, database, CMS admins, FTP, email) and update everything. Then rescan.
Flagged by Google Safe Browsing
Clean the site completely first; a review on a site that is still infected is rejected and delays the next one. Then open Google Search Console, go to Security issues, confirm that the problem is fixed and request a review. Most reviews finish within a few days.
The certificate is invalid or expired
Renew the certificate, or if it is new, check that the full chain is installed and that the name on it matches the address. With Let's Encrypt, run the renewal command (certbot renew) and make sure the timer or cron job that renews it is active.
Missing security headers
Add them in the web server or at the CDN. A safe starting set: Strict-Transport-Security: max-age=31536000; includeSubDomains, X-Content-Type-Options: nosniff, X-Frame-Options: SAMEORIGIN, Referrer-Policy: strict-origin-when-cross-origin, and a Content-Security-Policy that starts in report-only mode.
A .env or .git directory is public
Block the paths in the web server (deny /.env and /.git in Nginx or Apache), or move the application root one level above the public folder. Then rotate every secret those files contain: database passwords, API keys, the application key. Assume they have been read.
XML-RPC, readme.html or user enumeration on WordPress
Disable xmlrpc.php unless Jetpack or the mobile app needs it, delete readme.html and license.txt from the web root, and restrict /wp-json/wp/v2/users with a security plugin or a small filter on rest_endpoints. Keep WordPress, themes and plugins updated and remove the ones you do not use.
Frequently asked questions
Is this website malware checker free?
Does it scan the files on my server?
Is it safe to scan a site that may be infected?
What does a Critical risk level mean?
Why does the report say the blacklist was not checked?
Will the scan tell me how the site was hacked?
Related SEO tools
- HTTPS Redirect CheckerDoes http:// redirect to https:// in one permanent hop? Also checks HSTS and mixed content.
- HTTP Status CheckerThe status code, response headers and protocol a URL returns.
- Redirect CheckerFollows every hop of a redirect chain and shows 301s, 302s and loops.
- X-Robots-Tag CheckerReads the X-Robots-Tag HTTP header on every hop and explains each directive.
SEO gets visitors to your site. Uptime keeps them there.
Monitor 5 websites free forever and get alerted the moment one goes down. No credit card required.