Checklist
Website QA checklist before launch
Here is what to check on a website before it goes live, grouped so a team can split it up. Tick items as you go, and the ticks stay in this browser. Each one takes minutes.
0 of 35 checked
Content
0/4Links and navigation
0/4Forms
0/4Errors
0/3Browsers and devices
0/3Speed
0/3Search
0/4Accessibility
0/3Analytics, legal and security
0/5After launch
0/2The checklist in Markdown
Paste it into a GitHub, Linear or Notion issue and tick it off as a team.
## Content - [ ] No placeholder text, lorem ipsum or “TODO” left anywhere, including image alt text and page titles. - [ ] Names, prices, addresses, phone numbers and opening hours checked against the client's source. - [ ] Spelling and grammar checked on every page, not only the home page. - [ ] Images are the final ones, sized for the web, and not stretched or cropped badly on any screen. ## Links and navigation - [ ] Every menu item and footer link goes where it says. - [ ] No link still points at the address the site was built on before launch. - [ ] Old addresses from the previous site redirect (301) to their new pages. - [ ] The 404 page exists, is branded, and offers a way back. ## Forms - [ ] Every form sends, and the message arrives where the client expects it: the right inbox, the CRM, the newsletter tool. - [ ] Validation messages are clear, and an error does not wipe what was typed. - [ ] The thank-you state or page shows, and conversion tracking fires on it. - [ ] Spam protection is on, and does not block a normal submission. ## Errors - [ ] No JavaScript errors and no failed requests in the browser console, on the main pages. - [ ] No mixed content: every image, script and font loads over https. - [ ] Menus, tabs, sliders and pop-ups open and close with a mouse, a finger and a keyboard. ## Browsers and devices - [ ] Chrome, Safari, Firefox and Edge on a computer; Safari on an iPhone and Chrome on an Android phone. - [ ] Every template at phone, tablet and laptop widths, and on one large screen. - [ ] Nothing scrolls sideways on a phone, and nothing is hidden under a sticky header. ## Speed - [ ] Pages load in a few seconds on a phone connection; PageSpeed Insights shows no red on the main templates. - [ ] Images are compressed and in a modern format; fonts are few. - [ ] Caching and a CDN are on for the live domain. ## Search - [ ] Every page has its own title and description. - [ ] The “noindex” used before launch is removed from the live site, and robots.txt does not block the site. - [ ] The sitemap exists and is submitted to Google Search Console. - [ ] Pages have one h1 each and headings in order. ## Accessibility - [ ] Everything works with a keyboard alone, with a visible focus. - [ ] Images that carry meaning have alt text; decorative ones have an empty alt. - [ ] Text has enough contrast, and form fields have labels. ## Analytics, legal and security - [ ] Analytics is installed on the live site rather than the pre-launch copy, and records a visit. - [ ] The cookie banner blocks what it says it blocks until consent. - [ ] Privacy policy, terms and any legally required pages are linked in the footer. - [ ] https everywhere, with the certificate covering both www and the bare domain. - [ ] Admin logins changed from their defaults, and backups scheduled. ## After launch - [ ] Check the live site again, all of the above, on the real domain. - [ ] Watch for errors real visitors hit in the first days. No checklist finds the ones that happen after a click, with an account, or on one browser.
The bugs a checklist cannot find
A checklist catches what everybody sees. A bug the client sees only on their phone, one a visitor hits halfway through a form, or one that only happens when signed in arrives as an email that says “it doesn’t work”. Broken Here puts a button on the site for those. The person who hits one clicks what is broken, and the ticket already has the page, the browser and the error in it. See the bug report template for what it fills in.