WordPress Malware Scanner for Redirects, Backdoors, and Spam.

The ScanTitan WordPress Malware Scanner Online checks your pages, scripts and PHP code for injected JavaScript, hidden iframes, malicious redirects, backdoors and SEO spam. Each finding comes with what was seen and where it sits, and the report lists the areas the scan could not check. There is no plugin to install, so it works even when an infection has locked you out of wp-admin.

Malware Quick Check

SIGN UP FOR YOUR FREE SECURITY SCAN

Create your free ScanTitan account

Check more of your website with the included security scan and review findings in your dashboard.

  • One included website security scan
  • A dashboard with findings and recommendations
  • Basic malware and uptime monitoring you can enable

Free plan · One included website security scan

Prefer a quick check?

Get a limited public check here without an account.

Confirm permission to check .

Small public sample · Maximum 45 seconds Results may finish sooner. Unchecked areas are never treated as clean.

No account needed · Public targets only · No passwords, private addresses or network ranges

Quick-check results expire after 30 minutes and may reuse a result checked within the last 10 minutes. They are not automatically saved to an account. Sanitized target addresses and check activity are retained for 35 days for operations and the administrator daily summary. Addresses omit query strings and fragments; login details are not accepted. Advisory and network lookups may use public data services.

Enter your WordPress site URL and run the free quick check. Create a free account for the full scan and weekly monitoring.

WordPress Malware Detection Scripts, iframes, redirects, backdoors and spam checked
Backdoor and Web Shell Patterns PHP checks with the file path reported when known
Unchecked Areas Listed Never shown as clean

A WordPress malware scanner that tells you what it could not check

A WordPress malware scanner looks for code and content an attacker planted on your site: injected scripts, hidden iframes, spam pages, redirects and backdoors. ScanTitan inspects pages, scripts and responses, compares them with known malware patterns and lists each finding with what it saw and, when known, the URL, script or file path.

No scanner finds everything, so the report also lists what was not checked, such as pages behind a login, and never shows those areas as clean. A finding is a lead to confirm, not proof, because a legitimate ad or analytics script can look suspicious and cause a false positive.

The scan runs on ScanTitan, not inside your site. That means no plugin, no server agent and no DNS change, no load on your hosting, and a scan that still works when the infection has locked you out of wp-admin.

of all websites run WordPress, so it is the most attacked platform (W3Techs)
0 %
for the free quick check, with no account and no plugin
0 s
plugins or server agents to install
0
between automatic malware checks on Free, Professional and Business plans
0 days

How to scan WordPress for malware

Six stages, from identifying WordPress to a verified rescan. The scan runs on ScanTitan, and each stage says what it checks so you know what the report covers.

Identify WordPress

ScanTitan detects the CMS and chooses checks fitted to WordPress sites: theme and plugin output, scripts and server responses.

Crawl pages and scripts

The scan walks your public pages and collects every script, iframe and link, including code loaded from other domains.

Check for malware indicators

Page content and scripts are compared with known malware patterns: obfuscated JavaScript, injected iframes, spam links and cloaked content.

Compare how visitors are treated

Pages are requested as different kinds of visitors, which finds redirects that fire only on a first visit or only on mobile.

Check PHP code and web shells

Backdoor and web shell patterns such as eval loaders and obfuscated PHP are flagged, with the file path when known.

Report findings and gaps

You get findings with severity and location, plus a list of the areas that were not checked.

WordPress Vulnerability Scanner

Scan before you change anything on a suspect site. The first report is your evidence, and it is what the rescan is compared against, so you can prove the cleanup worked.

Different visitors see different pages

Many WordPress infections show a clean page to the logged in owner and to search crawlers, and attack everyone else. A redirect can fire on the first visit, only on mobile, or only when the visitor arrives from a search result. A scan that reads one copy of a page sees only what the server chose to send that one time.

ScanTitan compares how pages respond to different visitors, which is how it finds visitor-specific redirects. Read behavioral malware detection for how it works.

Scan from outside your office network, because your own IP address and your logged in session can hide the problem. Ask a colleague to open the site on a phone from a Google result.

Clean it, rescan it, close it

ScanTitan finds and verifies. You, your host or a security professional do the cleaning, and our website malware removal guide gives the steps. After the cleanup, run the same scan again. A clean result means the checks that ran found nothing, and it does not guarantee the site is safe.

Weekly checks catch a reinfection, because Free, Professional and Business plans repeat malware checks every week. Alerts are not guaranteed to arrive in real time.

Where malware hides in a WordPress site

Attackers choose places that owners rarely open and that survive a casual check. A scan finds what these places change in your pages and lists the file path when it knows it. The table shows each location and how to check it by hand, which is what you need when a finding points at a file or when the scan is clean but the symptoms continue.

LocationWhat attackers hide thereHow to check it by hand
wp-content/themesInjected JavaScript and PHP loaders in functions.php, header.php and footer.phpLook for long encoded strings, eval or base64 calls and script tags you did not add.
wp-content/pluginsBackdoors inside legitimate plugins, and hidden plugins that stay activeRun wp plugin verify-checksums --all and delete plugins you do not use.
wp-content/mu-pluginsCode that loads on every request and never shows in the Plugins screenList the folder. Any file you did not put there is suspect.
wp-content/uploadsPHP web shells disguised as imagesRun find wp-content/uploads -name "*.php". No PHP belongs in uploads.
.htaccessRedirect rules that fire only for mobile or search visitorsCompare it with the default WordPress rules and remove rules you cannot explain.
wp-config.phpInjected includes and stolen database credentialsRead it by hand and look for code after the database settings.
Database tablesRogue administrators, injected script tags and changed site URLsSort users by registration date and search posts for script and iframe tags.
← Swipe left or right to view the full table →
Tip: Replace files with official copies of WordPress core, plugins and themes wherever you can, instead of editing them by hand. An edited file can still hide a second line you missed.

For the code patterns attackers use to hide these files, see our guide to obfuscated PHP malware. For the manual cleanup, follow website malware removal.

Malware types and what the scan covers

Each type of infection hides in a different place. Use the guide for the type you suspect. The last column is what ScanTitan checks today, so you know where to look yourself.

TypeWhat it doesWhere it hidesGuideScan covers
Injected JavaScriptLoads scripts from other domains, steals data or redirectsTheme files, plugin files, database-Yes
Malicious redirectsSends some visitors to scam or phishing pages.htaccess, JavaScriptRead the guideYes
SEO spamAdds pharma, gambling or Japanese keyword pagesCloaked pages, databaseRead the guideYes
Backdoors and web shellsGives the attacker remote access that survives a password changeUploads, mu-plugins, theme filesRead the guideYes, patterns
Phishing pagesFake login or payment pages in site foldersSubfolders, uploads-Yes
Card skimmersCopies payment details at checkoutCheckout page scripts-No dedicated detection

Nine things the scan looks for. One report.

One scan, one report. Each item below is a check that runs on your WordPress site, and each finding in the report names the check that raised it.

Injected JavaScript

Obfuscated scripts and code loaded from domains you do not own, including base64 payloads in theme and plugin output.

Hidden iframes

Frames that load another site inside your pages, usually placed in footers and widgets where owners never look.

Malicious redirects

Redirects set in .htaccess or JavaScript, including ones that only fire on a first visit, on mobile or from a search result.

Phishing pages

Fake login or payment pages planted in site folders, which get the whole domain flagged by browsers.

Backdoors and web shells

PHP shells, eval loaders and obfuscated re-downloaders that give an attacker a way back in, with the file path when known.

Obfuscated PHP

Encoded strings, gzinflate and base64 chains that hide what a PHP file really does. Paste a file into the code analyzer for a closer look.

SEO spam

Injected pharma, gambling and Japanese keyword pages, hidden links and cloaked content that only search engines receive.

Visitor-specific behavior

Pages are compared across different visitors, so infections that hide from the owner and from crawlers still show up.

Unchecked areas listed

The report names what the scan could not check, such as pages behind a login, and never shows those areas as clean.

Injected JavaScript

Obfuscated scripts and code loaded from domains you do not own, including base64 payloads in theme and plugin output.

Hidden iframes

Frames that load another site inside your pages, usually placed in footers and widgets where owners never look.

Malicious redirects

Redirects set in .htaccess or JavaScript, including ones that only fire on a first visit, on mobile or from a search result.

Backdoors and web shells

PHP shells, eval loaders and obfuscated re-downloaders that give an attacker a way back in, with the file path when known.

Obfuscated PHP

Encoded strings, gzinflate and base64 chains that hide what a PHP file really does. Paste a file into the code analyzer for a closer look.

Phishing pages

Fake login or payment pages planted in site folders, which get the whole domain flagged by browsers.

SEO spam

Injected pharma, gambling and Japanese keyword pages, hidden links and cloaked content that only search engines receive.

Visitor-specific behavior

Pages are compared across different visitors, so infections that hide from the owner and from crawlers still show up.

Unchecked areas listed

The report names what the scan could not check, such as pages behind a login, and never shows those areas as clean.

Malware scanning vs vulnerability scanning

different questions, and you need both answered
1

A malware scanner finds what is on the site now: injected scripts, backdoors, SEO spam and redirects. It tells you the site is infected. A vulnerability scanner finds the weakness that let the attacker in, such as an outdated plugin with a published CVE.

After an infection, the malware scan shows what to clean and the vulnerability scan shows what to fix so it does not return. Cleaning without fixing invites the same attack again.

Malware scanning (this page)

Reactive. Finds scripts, redirects, backdoors and spam that are on the site now.

Vulnerability scanning (pairs with)

Proactive. Finds outdated plugins, themes and core. See the WordPress vulnerability scanner.

You need both layers

Run the malware scan first, then the vulnerability scan, then clean and rescan.

What a ScanTitan WordPress malware report looks like

The report is a list you can act on, not a score. Keep the first report, because the rescan after your cleanup is the proof that a finding is gone.

Findings by severity

Every finding is ranked Critical, High or Medium, so you start with the web shell, not the cosmetic issue.

Location when known

The URL, script address or file path where the finding sits, so you know which file to open.

What was observed

A short description of the code or behavior that raised the finding, so you can judge a false positive yourself.

Unchecked areas

Pages behind a login and anything else the scan could not reach are listed, never shown as clean.

A next step per finding

Confirm the finding, replace the file or remove the code, then rescan. See the removal guide.

Rescan comparison

Run the same scan after the cleanup and compare it with the first report.

🛡
WordPress malware scan - example-blog.test
1 Critical1 High1 Medium
PHP backdoor shell
Critical
/wp-content/uploads/cache/img-loader.php
Pattern: eval(base64_decode(...))
Next step: save a copy, delete the file, then find how it arrived
Obfuscated script loading an external domain
High
Theme footer · loads code from an unrelated domain
Observed: script src from another domain
Next step: compare footer.php with the official theme copy
Redirect on a first mobile visit
Medium
.htaccess rule · desktop visitors see the normal page
Unchecked: pages behind login (members area)

Illustrative example with a reserved example.test name. Not a real scan.

When to scan WordPress for malware

Scan on a schedule, and again at the moments when an infection is most likely or most costly to miss. A clean scan is a snapshot of one day, since new plugin flaws appear daily and attackers reinfect cleaned sites.

Right away

Scan before you change anything

When you see a redirect, a browser warning or spam in search results, scan first so the evidence stays intact.

After changes

Scan after a plugin or theme update

New code is the most common way malware arrives, especially from outside the official directory.

After a move

Scan after a host move or restore

A restored backup can bring an old infection back with it. Scan before you point visitors at the new site.

Every week

Keep weekly malware monitoring on

Free, Professional and Business plans run malware checks weekly. Alerts are not guaranteed real time, so keep updates and backups current.

Online scanner vs plugin vs host scanner

Three kinds of tool scan WordPress for malware, and each sees a different part of the site. None sees everything, so the strongest setup combines two. ScanTitan is the online kind and has no WordPress plugin on purpose.

Online scanner (ScanTitan)WordPress pluginHost or server scanner
Nothing to install in WordPress✓✗Usually
Works when you are locked out of wp-admin✓✗✓
Finds redirects only some visitors see✓Partial✗
Reads every file and database row on the serverPartial✓Files only
Runs outside the infected environment✓✗✗
Uses your hosting resourcesNoYesYes
Works on Joomla, Drupal and custom PHP✓✗✓
Cleans the site for you✗SomeSome

Common questions about WordPress malware scanner

Short answers on scanning, limits and cleanup.

Yes. Enter your address and read the report. There is no plugin, no server agent and no DNS change, and the scan works even if the infection has locked you out of wp-admin. Confirm that you own the site or have permission to scan it.

The quick check is free. It samples one public page and its scripts in about 45 seconds. A free account adds the full scan and weekly malware monitoring, and the pricing page lists what each plan includes.

Look for redirects, browser warnings, Search Console Security issues, spam pages in Google results, unknown administrators and PHP files in wp-content/uploads. Then run a scan, because the quietest infections show no symptom at all.

The scan checks for web shell and backdoor patterns such as eval loaders and obfuscated PHP, and reports the location when known. A backdoor that never reaches a public page can still be missed, so also run the manual checks in the table above.

No. ScanTitan finds the infection, shows where it is and rescans after the cleanup so you can confirm the site is clean. You, your host or a security professional do the cleaning, and our website malware removal guide gives the steps.

Yes. A legitimate ad, analytics or chat script can look like injected code. Treat each finding as something to confirm: open the file or page, check whether you added it and compare it with the official copy before you delete anything.

Scan weekly, and after every plugin, theme or hosting change. ScanTitan Free, Professional and Business plans run weekly malware monitoring. A single clean scan only proves the day it ran.

A malware scan finds malicious code already on the site. A vulnerability scan finds the weakness, such as an outdated plugin, that lets an attacker add it. After an infection, run both, then fix the weakness before you rescan.

It scans WooCommerce stores like any WordPress site, and it also scans Joomla and Drupal sites. ScanTitan has no dedicated card skimmer detection, so a store that takes payments should also ask its payment provider about script monitoring.

Is ScanTitan's WordPress malware scanner right for you?

We would rather tell you now than after you have signed up.

Find out what your WordPress site is serving.

Run the free quick check, keep the report, and scan again after the cleanup. ScanTitan finds and verifies. You or your host do the cleaning.

More malware tools

One scan finds the infection and a second shows how it got in. Pick the tool that matches where you are.