Context
Every website launch has a risk window where broken things reach real users. This skill is the final gate — a structured QA pass that catches the issues developers miss because they only test in Chrome on a fast connection. Run this checklist completely before giving launch approval.
Procedure
- Link check: crawl every page and verify all internal links return 200. Flag 404s, redirect chains (> 2 hops), and external links that timeout.
- Metadata check: verify every page has unique title (< 60 chars), meta description (< 160 chars), canonical URL, OG tags, and favicon.
- Content check: scan for placeholder text ("Lorem ipsum", "TODO", "TBD"), missing images, empty sections, and draft content.
- Accessibility check: run axe-core on every page template. Then manually verify: keyboard navigation, focus order, screen reader announcements, color contrast, and motion preferences.
- Cross-browser check: test on Chrome (latest), Firefox (latest), Safari (latest), mobile Safari (iOS), and mobile Chrome (Android). Check layout, fonts, animations, and form behavior.
- Performance check: run Lighthouse on every page template. Verify LCP < 2.5s, CLS < 0.1, INP < 200ms. Check on throttled 3G connection.
- Form and interaction check: submit every form with valid data, invalid data, and empty data. Verify success states, error messages, and data persistence.
- Security check: verify HTTPS redirect, security headers (HSTS, CSP, X-Frame-Options), no exposed API keys in client JS, and no mixed content warnings.
Output Format
# Launch QA Results — [Site Name]
## Summary
- **Date**: [date]
- **URL**: [staging URL]
- **Verdict**: [GO / NO-GO / CONDITIONAL]
- **P0 Issues**: [count]
- **P1 Issues**: [count]
- **P2 Issues**: [count]
## Results Matrix
| Page | Links | Meta | Content | A11y | Browser | Perf | Forms | Security |
|------|-------|------|---------|------|---------|------|-------|----------|
| / | pass | pass | pass | pass | pass | pass | — | pass |
| /product | pass | pass | warn | pass | pass | pass | — | pass |
| /contact | pass | pass | pass | pass | pass | pass | pass | pass |
## Issue Log
| # | Page | Category | Severity | Description | Fix |
|---|------|----------|----------|-------------|-----|
| 1 | /pricing | Content | P0 | "Lorem ipsum" in FAQ answer 3 | Replace with real content |
| 2 | /blog | A11y | P1 | Missing alt on hero image | Add descriptive alt text |
| 3 | / | Perf | P2 | LCP 2.8s on 3G throttle | Optimize hero image size |
## Cross-Browser Results
| Browser | Layout | Fonts | Animations | Forms | Verdict |
|---------|--------|-------|------------|-------|---------|
| Chrome 120 | pass | pass | pass | pass | pass |
| Firefox 121 | pass | pass | pass | pass | pass |
| Safari 17 | pass | pass | warn | pass | pass |
| iOS Safari | pass | pass | pass | pass | pass |
| Android Chrome | pass | pass | pass | pass | pass |
## Performance Results
| Page | LCP | CLS | INP | Score | Status |
|------|-----|-----|-----|-------|--------|
| / | 1.8s | 0.02 | 89ms | 94 | pass |
| /product | 2.1s | 0.05 | 112ms | 88 | pass |
## Security Checklist
- [ ] HTTPS redirect working
- [ ] HSTS header present
- [ ] X-Frame-Options: DENY
- [ ] No mixed content warnings
- [ ] No API keys in client JS
- [ ] CSP header configured
- [ ] No sensitive data in HTML source
## Launch Decision
- P0 issues must be fixed before launch
- P1 issues should be fixed within 48 hours post-launch
- P2 issues go into the backlog
- **Recommendation**: [GO / NO-GO / CONDITIONAL on P0 fixes]
QA Rubric (scored)
- Coverage (0-5): every page and every dimension tested — no gaps.
- Severity accuracy (0-5): P0/P1/P2 ratings match actual user impact.
- Reproducibility (0-5): issues include exact steps to reproduce and browser/device.
- Fix clarity (0-5): every issue has a specific, actionable fix description.
Examples (good/bad)
- Good: "P0 — /pricing page: 'Lorem ipsum dolor sit amet' in FAQ answer 3 (mobile Safari, Chrome confirmed). Fix: replace with real FAQ content from client brief. Blocking launch."
- Bad: "Some pages might have issues. Looks mostly fine. Should be okay to launch."
Variants
- Hotfix mode: abbreviated checklist for single-page updates — link check, metadata, browser spot-check, deploy.
- Regression mode: focused on before/after comparison for redesigns — screenshot diff, metric comparison, and redirect map verification.