# πŸš€ Gnomad Studio β€” Website Launch Checklist > **Living document.** Both David and the Swarm can add items here at any time. > Every website we build must pass this checklist before being handed off to the client. --- ## πŸ“Š Analytics & Tracking - [ ] **Google Analytics 4 (GA4)** β€” Add `gtag.js` script to `` of every page using Measurement ID - For Next.js: Use `next/script` with `strategy="afterInteractive"` in `app/layout.tsx` - For static HTML sites: Add gtag snippet directly to `` - For Vite/React SPAs: Use `react-ga4` or add to `index.html` - [ ] **Google Search Console** β€” Verify domain ownership (DNS TXT record or HTML meta tag) - [ ] **UTM Parameters** β€” Set up Apple Maps action buttons with `?utm_source=apple_maps` --- ## πŸ—ΊοΈ Maps & Local SEO - [ ] **JSON-LD Local Business Schema** β€” Add to ``. Include: - `@type`: `LocalBusiness` + specific type (e.g., `WebDesign`, `Restaurant`) - `name`, `url`, `telephone`, `address` with full postal address - `areaServed`: List city + surrounding ZIP codes - `sameAs`: Links to Google Business Profile, Facebook, LinkedIn - `openingHours` if applicable - [ ] **NAP Consistency** β€” Name, Address, Phone must be **character-for-character identical** across: - Website footer (every page) - Google Business Profile - Apple Business Connect - Facebook Page - Any directory listings (Yelp, BBB, etc.) - [ ] **Apple Business Connect** β€” Domain verification TXT record added to DNS - [ ] **Google Business Profile** β€” Claimed, verified, and link added to `sameAs` in schema --- ## πŸ” SEO Fundamentals - [ ] **Title Tags** β€” Unique, descriptive title on every page (`<= 60 chars`) - [ ] **Meta Descriptions** β€” Compelling description on every page (`<= 160 chars`) - [ ] **OpenGraph Tags** β€” `og:title`, `og:description`, `og:image`, `og:url` on all pages - [ ] **Canonical URLs** β€” `` on all pages - [ ] **robots.txt** β€” Present and correct (`User-agent: * / Allow: /`) - [ ] **sitemap.xml** β€” Generated and submitted to Google Search Console - [ ] **H1 Tag** β€” One unique `

` per page, keyword-relevant - [ ] **Image Alt Text** β€” All images have descriptive alt attributes --- ## 🎀 Voice Search (Siri / Alexa / Google Assistant) - [ ] **FAQ Section** β€” Add to homepage or dedicated `/faq` page with questions like: - "Who provides the best [service] in [city]?" - "How much does a [city] [service] cost?" - [ ] **FAQ Schema (JSON-LD)** β€” Wrap FAQ content in `FAQPage` schema so Siri can speak answers directly - [ ] **Answer-Ready Copy** β€” At least 3 questions answered in 1–2 direct sentences --- ## ⚑ Performance - [ ] **Images** β€” Compressed to WebP, max 200KB per image - [ ] **Lighthouse Score** β€” Mobile performance >= 85, Desktop >= 90 - [ ] **Core Web Vitals** β€” LCP < 2.5s, CLS < 0.1, FID/INP < 200ms - [ ] **HTTPS** β€” SSL certificate active and redirecting HTTP β†’ HTTPS --- ## πŸ“± Mobile - [ ] **Mobile Responsive** β€” Tested on iPhone and Android breakpoints - [ ] **Click-to-Call** β€” All phone numbers wrapped in `` - [ ] **Click-to-Email** β€” All email addresses wrapped in `` - [ ] **Touch Targets** β€” All buttons/links >= 44x44px - [ ] **Viewport Meta Tag** β€” `` - [ ] **Separate Mobile Footer** β€” A fixed bottom bar with **3–4 buttons max** (e.g., Call, Email, Portal, Menu). Use `md:hidden` to show only on mobile. - [ ] **Desktop Footer Hidden on Mobile** β€” The full desktop footer must use `hidden md:flex` (or equivalent) so it does NOT appear on mobile screens. Only the mobile bottom bar is shown. - [ ] **Large Visual Elements Hidden on Mobile** β€” Hero videos, large showcase sections, decorative animations, and multi-column layout elements that don't scale well must be hidden on mobile using `hidden md:block` or equivalent. Mobile gets a simplified, text-first layout. --- ## πŸ”’ Security & Compliance - [ ] **ADA / WCAG 2.1 AA** β€” Color contrast ratios meet minimum, keyboard navigable - [ ] **Privacy Policy** β€” Page exists and linked in footer - [ ] **No Console Errors** β€” Browser devtools shows zero errors on all pages --- ## πŸš€ Deployment - [ ] **PM Pre-Build Checklist** β€” Run full checklist from PM_ORCHESTRATOR (vite.config base, HashRouter, no absolute paths) - [ ] **Static Export or Server Build** β€” Confirm output type matches hosting platform - [ ] **Environment Variables** β€” All secrets configured in hosting platform (not hardcoded) - [ ] **Custom Domain** β€” Pointing correctly, SSL active - [ ] **404 Page** β€” Custom, on-brand error page exists --- ## 🀝 Client Handoff - [ ] **Google Analytics access** β€” Client invited as Editor in GA4 property - [ ] **Google Business Profile** β€” Client invited as Manager - [ ] **Login credentials** β€” Delivered securely to client - [ ] **CMS / Admin training** β€” If applicable, 15-min walkthrough recorded or conducted - [ ] **Client Portal profile** β€” Created in gnomadstudio.org/client-portal with correct tier --- ## πŸ“ David's Add-It-Here Section > > Add any new standard requirements below as you discover them: - [ ] *(add items here)* --- *Last updated: 2026-02-27 | Maintained by Gnomad Studio Swarm + David Cole*