Comprehensive Checklist Before Launching Your Website

By · Updated

A no-nonsense launch checklist that locks down SEO, performance, security, accessibility, and analytics—so go-live day is calm, not chaotic.

How to Use This Checklist

Work through each section in order. The goal is to turn mistakes into impossibilities: automate what you can, document the rest. If you’re new to our system, pair this with Site Architecture, Automation for Web Dev, and Internal Linking Best Practices.

SEO: Indexing, Signals, and Structure

  • Canonical URLs: Exactly one per page; self-referential where appropriate.
  • Meta: Title ≤60 chars, description 150–160 chars; unique per page.
  • Open Graph / Twitter: og:title, og:description, og:image (1200×630), twitter:card.
  • Robots: Public pages use index, follow. Thin archives/search → noindex, follow.
  • Sitemaps: XML split by type (pages, posts, locations). All entries 200-OK, canonical, HTTPS.
  • Breadcrumbs: Visible UI + BreadcrumbList JSON-LD.
  • Schema: BlogPosting/Article, Organization, WebSite, WebPage; ensure valid JSON-LD.
  • Internal links: Pillars ↔ clusters ↔ services/locations. No orphans.
  • Hreflang (if multi-locale): Bidirectional mapping; include self-ref.

Performance: Core Web Vitals & Byte Budget

  • LCP ≤ 2.5s, CLS ≤ 0.05, INP ≤ 200ms, Total bytes ≤ 1.2MB.
  • Images: .webp by default, explicit width/height, lazy-load non-critical, 1200×630 social crops ≤50KB if possible.
  • CSS/JS: Minify, tree-shake, defer/async non-critical. Avoid over-hydration.
  • Fonts: Preload primary, use font-display: swap, self-host when feasible.
  • Caching: Long Cache-Control for assets, short/ETag for HTML. Use immutable hashes.
// lighthouserc.json (budgets)
{
  "ci": {
    "collect": { "staticDistDir": "dist" },
    "assert": {
      "assertions": {
        "largest-contentful-paint": ["error", { "maxNumericValue": 2500 }],
        "cumulative-layout-shift": ["error", { "maxNumericValue": 0.05 }],
        "interactive": ["error", { "maxNumericValue": 3500 }],
        "total-byte-weight": ["error", { "maxNumericValue": 1200000 }]
      }
    }
  }
}

Accessibility: Inclusive by Default

  • Logical heading order; meaningful link text (no “click here”).
  • Color contrast ≥ WCAG AA; visible focus states.
  • ARIA only when necessary; form labels tied to inputs.
  • Alt text for all non-decorative images; captions for media.
  • Keyboard navigable; no keyboard traps.

Automate with axe-core in CI; verify critical flows with screen readers.

Content QA: Accuracy, Consistency, and UX

  • Proofread for clarity; enforce style via Prettier/Markdownlint.
  • Check dates, prices, and legal statements for accuracy.
  • Replace placeholder text/media; verify alt text matches imagery.
  • Verify CTAs route to correct funnels; calibrate tone by page intent.
  • Ensure title, description, and H1 are aligned.

Security & Privacy: Ship Safely

  • HTTPS redirect (301) site-wide; no mixed content.
  • HSTS, CSP, Referrer-Policy, X-Content-Type-Options, X-Frame-Options (or frame-ancestors in CSP).
  • Sanitize user input; validate forms server-side even on static front-ends.
  • Cookie banner (if applicable) + privacy policy; minimize third-party scripts.
  • Rotate API keys/secrets; restrict origins; use environment variables in CI.
# netlify.toml (headers)
[[headers]]
  for = "/*"
  [headers.values]
    Content-Security-Policy = "default-src 'self'; img-src 'self' https: data:; script-src 'self'; style-src 'self' 'unsafe-inline'; connect-src 'self'; frame-ancestors 'none';"
    Strict-Transport-Security = "max-age=31536000; includeSubDomains; preload"
    Referrer-Policy = "strict-origin-when-cross-origin"
    X-Content-Type-Options = "nosniff"

Analytics, Events & Monitoring

  • Install analytics (e.g., Plausible or GA4); confirm pageviews and goals.
  • Define events: CTA clicks, form submits, table/filter interactions.
  • Search Console + Bing Webmaster Tools set up and verified.
  • Uptime monitoring + broken link monitor post-launch.
  • Error logging for serverless endpoints; alerts on failure.

Forms, Deliverability & Thank-You Paths

  • Form validation client + server; honeypot/Turnstile to reduce spam.
  • Test success/failure states; show clear confirmations.
  • Email deliverability: SPF, DKIM, DMARC set; test to multiple inboxes.
  • CRM/webhook connections verified; duplicate prevention in place.
  • Post-submit route to resource or booking; send follow-up email.

Routing, Redirects & Error States

  • Map legacy → new URLs (301). Avoid chains and loops.
  • Custom 404/410 with helpful nav/search; graceful 500 fallbacks.
  • Trailing slash + lowercase policy; consistent canonicalization.
# _redirects (examples)
/old-services/seo   /services/seo   301
/blog/old-post      /blog/new-post  301

Infrastructure: DNS, SSL, Caching

  • DNS propagated; www ↔ apex rules; single canonical host.
  • SSL cert active; auto-renew enabled; no mixed content.
  • Edge caching rules tuned; purge strategy documented.
  • Staging environment locked behind auth; robots blocked.

Governance: Content, Media & Ownership

  • Editorial calendar live; owners for each page/section.
  • Media license audit complete; attribution where required.
  • Backup/export plan documented; restore tested.
  • Roles/permissions assigned in hosting, DNS, analytics, and CMS.

Final “Green Light” Checklist

  • ✅ Pages pass Lighthouse mobile: LCP ≤ 2.5s, CLS ≤ 0.05, TTI ≤ 3.5s, bytes ≤ 1.2MB.
  • ✅ axe-core shows no critical a11y violations on key flows.
  • ✅ Sitemaps valid; robots.txt references them; Search Console verified.
  • ✅ Canonicals, OG tags, and meta descriptions unique and accurate.
  • ✅ 301 map implemented; no redirect chains; 404/500 pages styled.
  • ✅ CSP/HSTS headers present; no mixed content.
  • ✅ Forms submit; emails deliver (SPF/DKIM/DMARC); CRM receives leads.
  • ✅ Analytics events firing; dashboards ready; alerts configured.
  • ✅ Backups created; rollback plan documented.

Post-Launch: First 30 Days

  • Monitor crawl errors, Core Web Vitals, and coverage in Search Console.
  • Fix 404s/redirects weekly; submit updated sitemaps after major content pushes.
  • Review analytics for entry pages & drop-offs; tune CTAs and internal links.
  • Collect user feedback; run a/b on headlines or CTAs where traffic allows.
Disclaimer: This checklist is provided for educational and informational purposes only and does not constitute legal, financial, or professional advice. Content is offered “as-is” without warranties of any kind. Readers are solely responsible for implementation and must ensure compliance with applicable laws and regulations. Always apply the information only within authorized, ethical, and legal contexts.

Spot an error or a better angle? Tell me and I’ll update the piece. I’ll credit you by name—or keep it anonymous if you prefer. Accuracy > ego.

Portrait of Mason Goulding

Mason Goulding · Founder, Maelstrom Web Services

Builder of fast, hand-coded static sites with SEO baked in. Stack: Eleventy · Vanilla JS · Netlify · Figma

With 10 years of writing expertise and currently pursuing advanced studies in computer science and mathematics, Mason blends human behavior insights with technical execution. His Master’s research at CSU–Sacramento examined how COVID-19 shaped social interactions in academic spaces — see his thesis on Relational Interactions in Digital Spaces During the COVID-19 Pandemic . He applies his unique background and skills to create successful builds for California SMBs.

Every build follows Google’s E-E-A-T standards: scalable, accessible, and future-proof.