You've been building for weeks. The site looks good. The client is excited. You're ready to flip the switch and go live.
Then three days later: the contact form doesn't send emails, Google can't find half the pages, the site loads in 8 seconds on mobile, and someone screenshots your staging URL in the footer.
Every one of those is a real mistake from a real launch. This checklist exists because we've made them — and because checking 47 boxes takes an hour, while fixing a botched launch takes a week.
Copy this list. Check every box. Launch clean.
Content & Copy
- 1. All placeholder text removed. Search for "Lorem ipsum," "TODO," "PLACEHOLDER," "TBD," and "asdf" across the entire codebase. Yes, really.
- 2. All pages have real content. No empty pages, no "coming soon" sections unless intentional.
- 3. Spelling and grammar checked. Run the copy through Grammarly or Hemingway. Read every page out loud — you'll catch things a spell checker won't.
- 4. Contact information is correct. Phone number, email address, physical address (if applicable). Call the number. Send a test email.
- 5. Legal pages published. Privacy Policy and Terms of Service — both required. Cookie consent banner if you serve EU users (GDPR).
- 6. Copyright year is current. Check the footer. If it says 2024, fix it.
- 7. All links work. Click every single one. Internal links, external links, email links, social links. Use a crawler (Screaming Frog, broken-link-checker) for sites with 20+ pages.
- 8. Images have alt text. Every
<img>needs descriptive alt text. Not "image1.jpg" — describe what's in the image. This is accessibility and SEO. - 9. Social media links point to correct profiles. Not your personal account. Not a competitor's. Click each one.
- 10. 404 page exists and is helpful. Navigate to
/this-page-does-not-exist. Does the 404 page load? Does it help the user get back to the site? Or does it show a Vercel/Netlify default error?
Design & Responsiveness
- 11. Tested on mobile (real device). Not just Chrome DevTools. Open the site on an actual iPhone and Android phone. Tap every button. Fill out every form.
- 12. Tested on tablet. iPad and Android tablet. Check that layouts don't break at 768px–1024px widths.
- 13. Tested on desktop (multiple browsers). Chrome, Safari, Firefox, Edge. At minimum Chrome + Safari — they render differently.
- 14. Favicon loads correctly. Check the browser tab. Is it your logo or a generic icon? Check on iOS too (Add to Home Screen uses
apple-touch-icon). - 15. Open Graph images configured. Share your URL on Slack, Twitter, or LinkedIn. Does a proper preview card appear with the right title, description, and image? Use opengraph.xyz to test.
- 16. No horizontal scroll on mobile. Tilt your phone to portrait. Scroll down the entire page. If you can scroll sideways at any point, something is overflowing.
- 17. Font loading doesn't cause layout shift. Watch the page load on a throttled connection (Chrome DevTools → Network → Slow 3G). Do headings and body text jump when fonts load?
- 18. Dark mode works (if supported). Switch your OS to dark mode. Does the site respond correctly? Are there any unreadable text/background combinations?
SEO
- 19. Every page has a unique
<title>. Not "Home | My Site" on every page. Each page needs a descriptive, keyword-relevant title under 60 characters. - 20. Every page has a meta description. 150–160 characters. Describes the page content. Includes the primary keyword naturally.
- 21. Heading hierarchy is correct. One
<h1>per page.<h2>s for sections.<h3>s for subsections. Don't skip levels (no<h1>→<h4>). - 22. Sitemap exists and is correct. Navigate to
/sitemap.xml. Verify it lists all public pages. Verify it does NOT list staging pages, admin routes, or auth pages. - 23. robots.txt allows indexing. Navigate to
/robots.txt. It should sayAllow: /and link to your sitemap. Make sure it doesn't accidentallyDisallow: /(this blocks your entire site). - 24. Canonical URLs are set. Each page should have a
<link rel="canonical" href="...">pointing to itself. Check with View Source or your SEO tool. - 25. Structured data (JSON-LD) is valid. Run your homepage through Google's Rich Results Test. Fix any errors. Check service pages, blog posts, and FAQs.
- 26. Google Search Console connected. Verify domain ownership. Submit your sitemap. You need this to monitor indexing.
- 27. Google Analytics (or alternative) installed. Verify it's tracking page views. Check that it fires on navigation (SPA routing can break this).
Performance
- 28. Lighthouse score above 90. Run Lighthouse in Chrome DevTools (Incognito mode) on your homepage and 2–3 key pages. Performance, Accessibility, Best Practices, SEO — all above 90.
- 29. Images are optimised. Use WebP or AVIF format. Use
next/image(or equivalent) for automatic resizing. No 4MB hero images loading on mobile. - 30. No render-blocking resources. Fonts, CSS, and scripts should not block the first paint. Check Lighthouse for "Eliminate render-blocking resources."
- 31. Core Web Vitals pass. LCP under 2.5s, FID/INP under 200ms, CLS under 0.1. Check with PageSpeed Insights or web-vitals library.
- 32. Lazy loading enabled for below-fold images. Images not visible on initial load should use
loading="lazy". Don't lazy-load the hero image. - 33. API responses are fast. If your site fetches data, check response times. Anything over 500ms will feel slow to users. Check under realistic conditions, not localhost.
Security
- 34. HTTPS everywhere. Navigate to
http://— it should redirect tohttps://. No mixed content warnings. Check with browser DevTools → Security tab. - 35. Environment variables are not exposed. View page source. Search for API keys, database URLs, secret tokens. Check the JavaScript bundle too —
NEXT_PUBLIC_variables are client-visible by design, but private variables should never appear. - 36. Security headers configured. Check with securityheaders.com. You need at minimum:
X-Frame-Options,X-Content-Type-Options,Referrer-Policy,Strict-Transport-Security. - 37. Forms have CSRF protection. If you have forms that submit to your own API, verify CSRF tokens are in place (Next.js Server Actions handle this automatically).
- 38. Rate limiting on sensitive endpoints. Login, contact forms, and API routes should have rate limiting to prevent abuse. If someone can submit your contact form 10,000 times in a minute, you have a problem.
- 39. Admin/staging routes are not publicly accessible. Check
/admin,/staging,/test,/_debug. If any of these resolve to a page, either protect them or remove them.
Forms & Functionality
- 40. Contact form sends emails. Fill out the form with a real email address. Does the confirmation email arrive? Does the submission appear in your inbox or CRM? Check spam folders.
- 41. Form validation works. Submit empty forms. Submit invalid emails. Submit extremely long text. Does the validation catch it? Does the error message make sense?
- 42. Success and error states are handled. What does the user see after submitting a form? A success message? A redirect? What happens if the API is down? Test both paths.
- 43. Third-party integrations work. CRM, email marketing, analytics events, payment forms, chat widgets — test each one in production. Staging API keys won't work in production.
Infrastructure & Monitoring
- 44. Domain and DNS configured. The production domain resolves correctly. WWW redirects to non-WWW (or vice versa) — pick one and redirect the other.
- 45. Error monitoring active. Sentry (or equivalent) is installed and capturing errors. Trigger a test error in production to confirm it appears in your dashboard.
- 46. Uptime monitoring active. Use a free service (UptimeRobot, Better Stack) to ping your site every 5 minutes. Get alerted if it goes down.
- 47. Backup and rollback plan exists. If the launch goes wrong, can you roll back to the previous version? On Vercel, every deploy is versioned — you can instant-rollback. On other platforms, know your process.
The 15-Minute Quick Check
Don't have time for all 47? These 10 catch 80% of launch issues:
- Contact form sends emails
- No broken links (run a crawler)
- Mobile responsive (check on real phone)
- HTTPS works (no mixed content)
- Sitemap exists at
/sitemap.xml - robots.txt allows indexing
- Lighthouse performance > 90
- Meta titles and descriptions on all pages
- Google Analytics tracking
- 404 page works
Use This Checklist With LSD Dev Studio
Every project we deliver goes through this checklist before launch — no exceptions. When you work with us, you get:
- Pre-launch QA built into the project timeline
- Performance optimisation targeting 95+ Lighthouse scores
- SEO setup with structured data, sitemaps, and Search Console
- Post-launch monitoring during the support period
We don't ship and disappear. We ship and make sure it works.
Ready to launch your project? Get in touch — we'll scope it, build it, and launch it right.
More resources from LSD Dev Studio:
- How to write a project brief — get accurate quotes from any studio
- How much does a website cost in 2026? — real pricing breakdown
- How much does a website cost in 2026? — full pricing breakdown
- How to hire a web developer — complete hiring guide
LSD Dev Studio — Launch Support Develop. We build web apps, mobile apps, animated videos, and digital products. See all our services or get in touch.
