Security

How to Perform a Basic Security Audit of Your WordPress Website

by dotCanada Team
How to Perform a Basic Security Audit of Your WordPress Website

The majority of WordPress hacks are not sophisticated targeted attacks. They are automated scans looking for known vulnerabilities in outdated software, weak credentials, and misconfigured permissions. The good news: most of the gaps these attacks exploit are straightforward to close, and you do not need a security background to do it.

Set aside an afternoon and work through this checklist.

Check WordPress, Plugin, and Theme Update Status

Go to Dashboard > Updates. Any outdated WordPress core version, plugin, or theme is a potential entry point. Security vulnerabilities in plugins are the leading cause of WordPress compromises - attackers actively monitor vulnerability databases and scan for sites running the affected version.

Update everything. If a plugin has not released an update in two or more years and is not being actively maintained, consider replacing it with an actively maintained alternative.

Scan with Wordfence or Sucuri SiteCheck

Wordfence Security (free) includes a malware scanner that checks your WordPress files against the known-clean versions from wordpress.org, flags unexpected file modifications, and identifies known malicious code patterns.

Sucuri SiteCheck (sucuri.net/website-scanner) is a free online scanner that checks your site from the outside - detecting malware, blacklist status, and security headers without requiring plugin installation.

Run both. They check different things and complement each other. If either returns positive results, investigate before proceeding.

Review User Accounts

Go to Users > All Users. Review every account listed. Ask:

  • Do you recognize every account?
  • Are there administrator accounts you did not create?
  • Are there usernames like "admin," "administrator," or "user1" that are common brute-force targets?

Unknown administrator accounts are a serious red flag indicating a possible prior compromise. Delete any account you do not recognize after verifying there is no legitimate reason for it to exist.

Check File Permissions

Incorrect file permissions are a common vulnerability. The general rules for WordPress:

  • Folders should be 755 (owner can write, others can read and execute)
  • Files should be 644 (owner can read/write, others can only read)
  • wp-config.php should be 600 or 640 (restricted to owner only)
  • No file or folder should be 777 (world-writable)

In cPanel, you can check and set permissions through File Manager. Select a file or folder, click "Change Permissions," and adjust accordingly. Wordfence also flags 777 permissions in its scan results.

Verify SSL Is Valid and HTTPS Is Forced

Check that your SSL certificate is valid and not expiring soon (cPanel shows SSL status, or use ssllabs.com for a detailed check). Then verify that all traffic is redirected to HTTPS - visiting http://yourdomain.ca should automatically redirect to https://yourdomain.ca.

In WordPress, go to Settings > General and confirm both the WordPress Address and Site Address use https://. In your .htaccess file (viewable in cPanel File Manager), confirm a redirect rule forces HTTPS.

Confirm Backups Are Running

A security audit is also the right time to verify your backup system is functioning. Check your backup plugin's log (UpdraftPlus shows last backup date and status). Confirm at least one recent backup exists at an off-server location. If you cannot confirm backups are current, fix this before anything else - backups are your recovery path if anything else on this list turns out to be too late.

Check .htaccess for Unexpected Rules

In cPanel File Manager, navigate to your public_html root and view your .htaccess file. You should recognize every rule in it. Malware commonly injects redirect rules into .htaccess that send visitors (but not you, logged in as admin) to spam sites.

A clean WordPress .htaccess looks simple - just the standard WordPress rewrite rules. If you see unexplained redirects, encoded strings, or rules you did not add, treat this as a potential compromise.

Test Login Page Protection

Visit yourdomain.ca/wp-login.php. Does it load? If so, it is publicly accessible to brute-force attacks. Consider:

  • Login attempt limiting - Wordfence, Limit Login Attempts Reloaded, or your host's built-in protection
  • Two-factor authentication - Wordfence includes 2FA for free; WP 2FA is another solid option
  • Changing the login URL - plugins like WPS Hide Login move the login page away from the default /wp-login.php path, reducing automated attack volume

Verify SPF, DKIM, and DMARC Are in Place

Email spoofing - where attackers send email that appears to come from your domain - is a reputation and security risk. Three DNS records protect against it:

SPF specifies which servers are authorized to send email from your domain. DKIM adds a cryptographic signature to outgoing email. DMARC tells receiving servers what to do when SPF or DKIM fail.

You can check all three at mxtoolbox.com/emailhealth - enter your domain and it will show which records are present and whether they are configured correctly. cPanel's Email Deliverability tool also generates and helps you install these records.

The Result

Working through this checklist in a single afternoon closes the gaps that account for the majority of WordPress compromises. Set a reminder to repeat this audit every six months. Security is not a one-time project - it is an ongoing practice.

100% Satisfaction Guarantee

We're so confident you'll love dotCanada that we offer a 30-day money-back guarantee. Not satisfied? Get a full refund, no questions asked.

Ready to Get Started?

Join thousands of Canadian website owners who trust dotCanada for reliable, fast web hosting.

Get Started Today