HTML sitemap (should automatically update for all content types: pages, posts, custom post types, etc)
Linking policy
Privacy policy
Terms and conditions
Website Accessibility Statement
A "404, page not found" response
Including a search tool, a full HTML sitemap, a contact form and all contact information
Customer able to edit the 404 page content
Private, internal use pages
Website documentation (details on how the website works)
Website standards and branding guide: examples of all website elements (to check CSS against brand guide)
Speed
Caching:
Server-side caching
Client-side caching
Remove version from all URLs (?ver=)
Load all resources locally whenever possible. e.g Bootstrap or Font Awesome locally, but Google Analytics must be a remote script
Requests
Enable keep alive
Less than 40 requests per page (the fewer the better – less than 10 for a "blank page")
A single CSS file and a single JS file are preferred, as applicable
Prioritized requests (example: location of JS within the HTML document: head or body)
Use of font-based icons (where applicable)
Use of sprites (where applicable)
Page size
Less than 1.5 MB (less than 1MB for a "blank page")
Enable Gzip or deflate
Minified HTML
Minified CSS
Minified JS
No inline styles (those added via JS are acceptable but as only strictly needed)
Serve scaled images
Serve images via srcset as applicable
Serve optimized images
Use of SVG (where applicable)
Site Structure
Silo structure (use child, parent, grandparent, etc) and no empty/blank pages within the silo.
/about-us
/about-us/company-history
/about-us/our-team
/about-us/our-team/jane-smith
No underscore (_), & or ? in the URL (unless specifically required for functionality)
No numbered URLs (example.com/a-page-2)
Metadata
Viewport
Author
Favicon and full touch icon suite
shortcut icon
icon (s)
apple-touch-icon (s)
manifest
msapplication-TileColor
msapplication-TileImage
theme-color Dynamic metadata:
Admin
Do not dramatically alter the admin UI/UX of an open source CMS, excepting simplification as applicable
Users of varying permission levels, as needed
3rd Party Tools
Implementation of Google Analytics
Implementation of Google webmaster tools
Implementation of Bing webmaster tools
Other WordPress specific
Never edit WordPress core
Custom themes are preferred
Never edit an off the shelf theme and always create a child theme (if using a purchased theme)
Structure themes according to standard WordPress hierarchy
Never edit a plugin
The fewer the plugins the better
Per Page
Items that impact individual pages.
Page Structure
Exactly one h1 tag per page with text as the content (not an image)
h2 – h6 tags as necessary and properly structured/nested
No use of tables unless strictly needed/properly used and never for page structure (use of divs and display:table, display:table-cell; etc is permissible)
Use of ol, ul and dl only for lists and not for general stricture or general repeating content
Proper use of header, footer, main, aside, section, hr and other document structuring elements. Not to be used to simply group blocks of code.
Page content
HTML5 (XHTML is not acceptable)
No flash
Implementation of structured data
SEO friendly file names (be descriptive, no use of underscores, and use hyphens between words)
500 word minimum
Reading level of 6th - 9th grade
50 links or less
Text-based content above the fold
No JS rendered content above the fold
No hero images or sliders
Page Errors
Correct spelling
No broken links
No broken images
Able to load all resources (example: no mixed content over HTTPS)
No PHP errors or warnings
No closing php tag within a block of php. E.g. <?php ... php code here ... ?> <?php ... more php code ... ?> is incorrect
No HTML errors (W3 validation) and no warnings is highly preferred
No duplicate ID
Descriptive and relevant alternative text attribute on all images
Correct syntax and structure
Escape all characters
No typos, missing spaces, etc
No "obsolete" code
Correct use of HTML5 elements (nav, header, footer, section, aside, etc)
Form label for all form controls
No errors, or contrast errors (via Wave) and no warnings is highly preferred
Natural width and height for all images (<img width="50" height="100" src="..." alt="..." >).
Properly used code comments – HTML, CSS, JS, PHP etc
Comments are used for planning and reviewing, code description, algorithmic description, resource inclusion or debugging only.
No use of comments to remove or exclude code. No "commenting out" code.
Page Usability
A "good" experience across all browsers and devices
Chrome (60 and up), Opera / Opera Mini (45 and up), Firefox (54 and up), Safari / Mobile iOS (10 and up), Edge (14 and up), Internet Explorer (9 and up with certain exceptions), and Puffin
Fluid responsive grid
Able to pass Google’s mobile friendly checker
Large space between links on mobile
1st link skips navigation (goes to content)
Readily recognizable focus state for links
Properly used page regions as applicable (header, main, footer, etc)
ARIA roles as applicable (button, tablist, tabpanel, etc)
Include descriptive title attribute for empty links (E.g. icons)
No skipped headings
No redundant links
No contrast errors
Remove decorative items from the accessibility tree with aria-hidden
Include a descriptive title attribute for items with "suspicious" or nondescript link text
Well written @media print rules
All telephone numbers as links (tel:5551231234)
Click driven actions (as opposed to hover)
Breadcrumbs are highly recommended
An accessibility service such as User Way is highly recommended.
Metadata
Title tag (content less than 50 characters)
Description (less than 150 characters)
Keywords (not for search but is pertinent to various applications)