Most indie SaaS launches don't fail because the product is bad. They fail because something trivial is broken on launch day — a sitemap not submitted, a Stripe webhook silently dropping events, a privacy policy still saying "Lorem ipsum."
I've watched 40+ Show HN and Product Hunt launches in the last 12 months, and the pattern is consistent. The top post almost never has the most innovative product. It has the least broken plumbing.
## The five categories that actually matter
Out of 60+ items on a full pre-launch checklist, five categories account for 90% of avoidable launch-day failures:
1. Legal — if you don't have a Privacy Policy and Terms of Service linked in the footer, Google de-ranks you, Product Hunt may hide you, and any paying user can ghost-refund via chargeback. 2. Payments — a real-card end-to-end test in production is non-negotiable. 1 in 3 solo launches I reviewed had a payment bug found in the first 6 hours. 3. SEO basics — no sitemap.xml, no meta descriptions, no canonical URLs. Three lines of work, but missing them means Google won't index the launch for weeks. 4. Analytics — if you can't see what happens during launch, you're flying blind. GA4 + a conversion event + error monitoring is the floor. 5. Launch-day distribution — the product doesn't launch itself. At minimum: Twitter/X thread, email to your list, one primary channel (PH or HN), and a Reddit post to a relevant niche sub.
## The 20 items you can't skip
Before you press publish, you need all of these:
- Privacy Policy and Terms of Service pages - HTTPS with HSTS - robots.txt with sitemap reference - sitemap.xml submitted to Google Search Console - Canonical URL on every page - Open Graph + Twitter card tags with og-image.png - A unique title and meta description per page - Favicon and apple-touch-icon - GA4 installed with one named conversion event - Error monitoring (Sentry or similar) catching at least frontend exceptions - Stripe/Paddle webhooks logged and monitored - Real-card payment tested in production - Receipt emails actually sending - Cookie banner if you have any EU/UK users - Contact email visible on every page - One primary CTA above the fold - Alt text on every image - Lighthouse mobile score above 85 - Launch post drafted for Twitter/X and your newsletter - Support channel (email at minimum) open and monitored
## What you can skip at launch
Here's the contrarian part: most "best practices" checklists are maximalist. You don't need everything on day 1.
Skip, if necessary: blog, changelog page, SOC 2, full accessibility audit, dark mode, mobile app, Slack/Discord community, affiliate program, SEO blog network. These are all week-6-plus work.
Ship the 20 above and iterate.
## Why "must" vs "nice"
The pre-launch checklist at [Launch Checklist](https://launch-checklist-cw5.pages.dev) splits items into "must-have" and "nice-to-have" deliberately. A Legal > Privacy Policy is a launch blocker. A Legal > Accessibility statement is nice but doesn't stop you.
The split matters because most builders over-rotate on nice-to-haves and under-do the boring must-haves. You spend three days refining the hero animation and forget to actually set up Stripe Tax.
## The one-sentence rule
Before you ship: can you answer "is it safe, legal, and traceable?" with a yes? Safe = HTTPS, backups, 2FA on your infra. Legal = Privacy, ToS, tax handling if paid. Traceable = analytics, error monitoring, webhook logs.
If any of those three is a no, you're not ready. Everything else is optimization.