checklists

Website Testing Checklist.

Web Testing A comprehensive pre-launch and regression checklist covering navigation, forms, responsive layout, cross-browser compatibility, accessibility, performance, SEO, and error handling for public-facing websites.

9
sections
46
items
2–3 hours
time
QA engineersAutomation engineersDevelopersSDETs

When to use this checklist

  • Before a new feature or page ships to production
  • As part of a release regression pass
  • After a significant redesign or CMS platform migration
  • When onboarding a new QA engineer who needs a structured starting point
  • For a post-deployment smoke check on a live environment

This checklist walks through every layer of a public website: navigation and linking, form submission flows, responsive layout across breakpoints, cross-browser rendering, WCAG accessibility basics, Core Web Vitals and performance fundamentals, SEO metadata, error state handling, and analytics event firing. It's structured so you can run it sequentially on any page or subset of pages, and most items are automatable with Cypress or Playwright.

0/46

Navigation & Internal Linking

0/7

Verify the site structure is traversable and that every link resolves to the correct destination.

Forms & User Input

0/8

Validate that forms accept valid data correctly, reject invalid data gracefully, and provide clear feedback at every step.

Responsive Layout & Breakpoints

0/5

Confirm the layout renders correctly and content is readable across mobile, tablet, and desktop viewports.

Cross-Browser Compatibility

0/4

Verify the site renders and functions correctly in the browsers your users actually use.

Accessibility Basics

0/6

Catch the most impactful accessibility failures using automated scanning and targeted manual checks.

Performance Basics

0/4

Verify the page loads fast enough to retain users and meet Core Web Vitals thresholds.

SEO & Metadata

0/5

Ensure search engines can discover, understand, and index each page correctly.

Error Handling & Edge States

0/4

Verify that error conditions surface user-friendly messages rather than raw stack traces or blank screens.

Analytics & Tracking

0/3

Confirm that analytics events fire correctly so data-driven decisions are based on accurate data.

Common Bugs

Soft 404s returning HTTP 200

The 'Page Not Found' page is served with a 200 status code instead of 404. Search engines index it as a real page, polluting the site map and confusing crawlers. Always check the actual response status, not just the rendered content.

Production robots.txt inherited from staging (Disallow: /)

A deployment pipeline copies the staging robots.txt — which blocks all crawlers — to production. The site becomes invisible to search engines within days. Always assert robots.txt content in a post-deploy smoke test.

Mobile nav links unreachable because the hamburger z-index is lower than a sticky header

On mobile the expanded nav menu opens behind a sticky header or cookie banner, making links impossible to tap. Manifests in browsers with smaller viewport heights (e.g. iPhone SE).

Form resubmission on browser back/refresh creates duplicate records

After a successful POST, the page URL is still the form endpoint. Refreshing re-submits the same form data, creating duplicate orders, sign-ups, or support tickets. Fix: redirect to a confirmation URL (PRG pattern) after successful submission.

CLS spike caused by images without explicit dimensions

Images without width/height attributes cause layout shifts as they load, pushing content down. This tanks the CLS score and is particularly bad on slow mobile connections. Easily reproducible by throttling to Slow 4G in Chrome DevTools.

External links missing rel="noopener" enable tab-napping

Links with target='_blank' but no rel='noopener' allow the opened page to access the opener via window.opener and redirect it to a phishing page. Caught by automated security linters but frequently missed in manually-authored content.

Recommended Tools

Playwright

Cross-browser automation across Chromium, Firefox, and WebKit in a single suite. Built-in accessibility helpers and network interception.

Cypress

Excellent developer experience for Chrome-based E2E and component testing. cy.intercept() makes error-state testing straightforward.

Lighthouse

Google's built-in auditor for performance (LCP, CLS, FID), SEO metadata, and accessibility. Run it in CI with the Node CLI.

axe-core

The industry-standard accessibility rules engine. Integrates with Cypress (@axe-core/cypress) and Playwright (axe-playwright) to catch WCAG violations in CI.

Pa11y

CLI accessibility scanner that runs axe and HTML_CodeSniffer rules. Useful for scanning a sitemap of URLs in CI without writing per-page test code.