Website Security Checklist: 20 Quick Wins

Do these first. They stop the most common attacks with minimal effort and cost.

SSL/TLSWAFbackups malware scanleast privilege2FA

The 20-Point Security Checklist

  1. Always-on SSL/TLS: Force HTTPS with 301 redirects and HSTS (Strict-Transport-Security).
  2. Keep software updated: Core, themes, plugins, server packages.
  3. Daily offsite backups: Automate; test restores monthly.
  4. Use a WAF/CDN: Block common exploits, bots, and DDoS.
  5. Strong passwords + 2FA: For hosting, CMS, email, and SSH.
  6. Least privilege: Give users only the access they need.
  7. Disable unused accounts: Remove stale users and keys.
  8. Limit login attempts: Throttle or use captchas on auth endpoints.
  9. Secure headers: Add Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Referrer-Policy.
  10. Malware scanning: Schedule server and CMS scans; quarantine and alert.
  11. Least plugin principle: Fewer plugins = smaller attack surface.
  12. Sanitize uploads: Restrict executable types; scan media directories.
  13. Protect admin URLs: Rate-limit, IP allowlist, or move/alias admin routes.
  14. Enforce file permissions: Lock down .env, configs, and uploads; avoid 777.
  15. Secure DB access: Strong unique credentials; no root logins for apps.
  16. Use prepared statements: Prevent SQL injection.
  17. Validate input + escape output: Stop XSS and injection at the edges.
  18. Bot management: Block obvious scrapers; add robots rules and rate limits.
  19. Log and alert: Centralize logs; alert on auth anomalies.
  20. Incident plan: Who to call, what to isolate, how to restore.
Fast win: If you can only do three today, do SSL/HSTS, daily offsite backups, and a WAF. That alone blocks a huge chunk of real-world issues.

Secure Headers: A Minimal Working Set

Add these headers via your server or .htaccess (tune CSP to your site’s scripts/styles):

# Apache (.htaccess) example
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "strict-origin-when-cross-origin"
# Example CSP (tighten per site needs)
Header set Content-Security-Policy "default-src 'self'; img-src 'self' data: https:; script-src 'self' https://www.googletagmanager.com https://pagead2.googlesyndication.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com"
  

Backups That Actually Save You

WordPress-Specific Quick Wins

When Something Looks Off

Related: Website Speed Optimization · .htaccess Tricks · Backup Strategy

Harden your site today
Use the checklist and tick off three wins now.