Website Security

The 30-Point Website Security Checklist (Launch-Ready in One Pass)

Test Admin October 17, 2026 9 min read 6 views

Thirty checks, one pass, zero fluff. This launch-ready checklist covers TLS, security headers, cookies, admin exposure, backups, DNS and email — each with the exact verification method.

The 30-Point Website Security Checklist (Launch-Ready in One Pass)
📑 Table of contents

Security advice usually arrives as scattered tips. This checklist is designed to be worked top-to-bottom in one sitting — each item states what to verify and how. It mirrors what an external security scan checks automatically, so you can use the scanner as the fast path and this list as the deep path.

🔐 TLS & transport (points 1–6)

  1. HTTPS everywhere — no page, asset, or API endpoint may load over plain HTTP
  2. Valid certificate chain — full chain served, no missing intermediates, expiry > 30 days away
  3. Modern TLS versions only — TLS 1.2+; disable TLS 1.0/1.1 and SSLv3
  4. Strong ciphers — prefer AEAD suites; remove RC4, 3DES, and NULL ciphers
  5. HSTS enabled — Strict-Transport-Security: max-age=31536000 with includeSubDomains once you are confident
  6. No mixed content — every subresource on an HTTPS page must itself be HTTPS; our mixed content guide covers the subtle cases

📋 Security headers (points 7–12)

  1. Content-Security-Policy — the single most powerful XSS mitigation; start with default-src 'self' and loosen deliberately
  2. X-Content-Type-Options: nosniff — stops MIME-type sniffing attacks
  3. X-Frame-Options / frame-ancestors — prevents clickjacking; details in our clickjacking and CORS explainer
  4. Referrer-Policy — strict-origin-when-cross-origin is the sensible default
  5. Permissions-Policy — disable browser APIs your site never uses (geolocation, camera, microphone)
  6. Server banner minimization — do not advertise exact server and framework versions where avoidable; see our stack trace disclosure article for why version details help attackers

🍪 Cookies & sessions (points 13–16)

  1. HttpOnly on session cookies — keeps JavaScript from reading them (XSS damage control)
  2. Secure flag everywhere — cookies must never travel over HTTP
  3. SameSite=Lax or Strict — modern CSRF defense at the cookie level
  4. Session lifecycle — regenerate IDs at login, short idle timeouts, server-side invalidation at logout

🚪 Access & admin exposure (points 17–21)

  1. No default credentials — anything with admin rights gets a unique, long password
  2. Admin paths not guessable — /admin on the public site is a brute-force magnet; hidden paths and their discovery are covered in our recon-oriented posts
  3. Two-factor authentication — on the CMS, the hosting panel, and DNS registrar at minimum
  4. Login rate limiting — throttle repeated failures; lockouts notify an admin
  5. Account enumeration closed — identical messages for wrong-user and wrong-password

🧩 Code & dependencies (points 22–25)

  1. Input validation server-side — client validation is UX, not security
  2. File uploads hardened — validate type server-side, store outside the webroot or block execution
  3. Dependencies current — subscribe to advisories; our supply chain dependencies piece explains OSV-based checking
  4. Error handling safe — custom error pages; never leak stack traces to visitors

🌐 DNS, email & infrastructure (points 26–30)

  1. SPF, DKIM, DMARC — all three, with DMARC monitoring; our SPF/DKIM/DMARC guide walks the setup
  2. No dangling DNS records — stale CNAMEs pointing at deleted services are takeover fuel; see subdomain takeover
  3. Registrar lock + transfer PIN — domain hijacking is a one-way disaster
  4. Backups tested — 3-2-1 rule, and at least one restore actually rehearsed
  5. Continuous scanning enabled — a checklist protects the day you run it; scheduled scans protect every day after; our continuous monitoring page explains the setup

Using this checklist efficiently

Working all 30 points manually takes hours. A structured division of labor looks like this:

  • ⚡ Automated first — points 1–12, 24, 26–27 are fully scanner-checkable
  • 👀 Manual review — points 13–21 depend on your application's specifics
  • 📆 Calendar-driven — points 25, 29, 30 belong to a recurring schedule

Run a free scan, fix what it flags, then walk the manual section with your developer. Re-run the scan before launch, and schedule it weekly after. That single habit converts this checklist from a one-time project into standing protection.

📢 SHARE 𝕏 in f
T
✍️ WRITTEN BY
Test Admin

Security research and engineering at 2MNY — the team behind 282 free website-security scanners and the open-source Website Vulnerability Scanner. We find exposed secrets, misconfigurations and real vulnerabilities, then explain how to fix them in plain language.

Frequently Asked Questions
1 What should a website security checklist include?

At minimum: TLS configuration, HTTP security headers, cookie flags, admin access protection, input validation, file upload handling, dependency patching, backups, DNS hygiene, and email authentication (SPF, DKIM, DMARC).

2 How often should I run through a security checklist?

Run the full checklist before every major launch and after every significant change, and automate the continuously checkable items — headers, TLS, exposed files, software versions — with scheduled security scans.

3 Which security headers matter most?

Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options or the CSP frame-ancestors directive, and Referrer-Policy form the core set.

Is your website affected?

Find out in minutes — free scan, professional report, no credit card.

Start Free Scan