The launch-day failures that hurt are rarely the code — they're DNS, SSL, email, and nobody watching. Run this list the day before, and the "after" section within an hour of going live.
Before launch
DNS & domains
- Apex and
wwwboth resolve; one redirects to the other (pick one, permanently) - TTLs lowered (300s) a day ahead, so mistakes are fixable fast
- Old/staging hostnames don't leak in sitemaps, canonicals, or hard-coded links
SSL
- Certificate valid for every hostname you serve (apex, www, subdomains)
- Expiry monitoring on — certificates fail on weekends, it's a rule
- HTTP redirects to HTTPS everywhere
- SPF, DKIM, and DMARC records set for every sending domain
- Transactional email (signup, password reset) tested to a real Gmail and Outlook inbox, not just a test tool
Monitoring & response
- Uptime check on the homepage AND the one endpoint that proves the app works (login, checkout, API health)
- Heartbeat checks on scheduled jobs (the silent failures)
- Alerts reach a human — a phone, not just a dashboard
- Status page exists and is linked from your site footer
Content
- robots.txt allows crawling (staging often ships with
Disallow: /) - 404 page exists and looks intentional
- Forms tested end-to-end, including the failure path
Within an hour after
- Watch the first real signups/orders happen; don't assume
- Check error tracking for anything new
- Confirm uptime checks are green from outside your network
- Google
site:yourdomain.com— is staging indexed instead?
The one rule
Don't launch anything on a Friday you're not willing to fix on a Saturday.