Skip to content

Pre-Deploy Checklist

Run through this before every first deploy of a new client site.


  • site: in astro.config.mjs set to production domain
  • robots.txt sitemap URL matches site: (no www mismatch)
  • wrangler.toml has correct name and pages_build_output_dir = "dist"
  • _redirects has https://www.<domain>/* https://<domain>/:splat 301
  • Every page has unique title and description
  • Canonical suppressed on noindex pages (checkout, payment-return, thank-you)
  • aggregateRating has real client numbers - or block removed
  • Schema validated at search.google.com/test/rich-results
  • OG image exists at /public/og-image.jpg (1200x630, under 300KB)
  • Favicon PNG links only added if PNG files exist in /public/
  • All icon-only links have <span class="sr-only"> text
  • No “Learn more” anchor text without sr-only context
  • No footer links pointing to removed anchors or pages
  • No duplicate H2 text across pages
  • npm run build completes without errors
  • Real address, phone, email in schema and contact page
  • Google Maps embed uses real business listing (Share -> Embed -> copy src)
  • sameAs array has correct social URLs
  • All placeholder copy replaced with real client content
  • Web3Forms access key set in contact form
  • Testimonials are real (or section removed)
  • Repo connected in Cloudflare Pages
  • Build command: npm run build, output dir: dist
  • Both domain.com AND www.domain.com added as custom domains
  • Environment variables set (Cashfree, etc.) if applicable
  • GA4 Measurement ID set and snippet uncommented in Layout.astro
  • Privacy Policy mentions Google Analytics
  • Cashfree env vars set in Cloudflare Pages dashboard
  • Cashfree payment flow tested end-to-end in sandbox before switching to production
  • Visit https://domain.com - loads correctly
  • Visit https://www.domain.com - 301 redirects to apex domain
  • Visit /robots.txt - shows correct sitemap URL and Disallow rules
  • Visit /sitemap-index.xml - lists pages
  • Run npm run indexnow - submit URLs to Bing/Yandex
  • Submit sitemap in Google Search Console
  • Test OG image: opengraph.xyz
  • Force social preview re-scrape: Facebook debugger