Start with what actually gets skipped

Most website compromises don't come from an exotic zero-day. They come from a handful of basics that got postponed: an unpatched plugin, an admin password reused from another breach, a form with no rate limiting. Security work is mostly about closing the ordinary gaps before someone finds them — not chasing the rare, dramatic exploit.

Transport and infrastructure

Serve everything over HTTPS, with HSTS enabled so browsers refuse to fall back to plain HTTP. Lock down your DNS and domain registrar accounts with two-factor authentication — a hijacked domain undoes every other control you have. Set basic security headers (Content-Security-Policy, X-Content-Type-Options, X-Frame-Options) so the browser itself blocks whole categories of attacks before your code has to.

Application-layer hygiene

Validate input on the server, not just the browser. Use parameterized queries so user input can never be interpreted as part of a database command. Keep your CMS, plugins, and dependencies patched on a schedule, not 'whenever there's time' — most exploited vulnerabilities were already public and fixed before they were used. Give admin accounts the minimum access they need, and rate-limit login and contact forms so automated abuse doesn't get a thousand free attempts.

Data handling

Encrypt sensitive data at rest, not just in transit. Don't collect more than you need — data you don't store can't be breached. Back up regularly, and actually test that a restore works; a backup you've never restored from is a hope, not a plan.

The human layer

Review who has admin or vendor access on a schedule, and remove it when a relationship ends. Train anyone with site access to recognize phishing, since credential theft is still one of the most common ways in — no firewall stops someone typing their real password into a fake login page.

Make it a habit, not a launch task

Security isn't a checklist you complete before going live. It's a maintenance rhythm: patch cadence, access reviews, monitoring, and a short written plan for what you do if something goes wrong. The sites that stay secure are the ones where someone keeps showing up to do this, quietly, on a schedule.

Security isn't a feature you ship once. It's a maintenance habit — and most breaches exploit the habit that lapsed, not a flaw no one could have predicted.