A checklist I use when publishing marketing sites, mainly with WordPress, but often with other systems like DocPad.
Want to add/edit something? Feel free to submit a pull request!
- Menus still look good when you add/remove links (your client might do this!)
- If WordPress or other CMS: Your widget areas still look good when widgets are added/removed (again, the client might do this!)
- Design works and looks good on phones, tablets, laptops and large screens (TVs)
- Site has favicon and touch icons for iOS devices
- Print stylesheet looks good (or page just looks good when printed)
- Design looks good on older version of IE
- Design looks good on Chrome, Firefox, IE, Opera, Safari
- Lightbox is installed for photo galleries
- Site is readable for colorblind users
- Images have
alt
attribute - ARIA enhancements added (see this article on MDN)
- External links open in a new window
www
domain 301 redirects tonon-www
domain (no duplicate content)- Contact form works (test it twice!)
- HTML Validates
- CSS Validates
- No JavaScript errors in console
- No Google-hosted assets (Jquery/Angular/fonts): won't work in countries where Google is blocked.
- Code is tidy and properly documented
- Add humans.txt file
- Add robots.txt file
- Site has Error 404/403 pages
- Add any credits (for images or resources like Glyphicons)
- Site has privacy policy/statement
- Site map web page created
- Search feature works
- Spell check pages
- Links to social media pages
- Compile LESS/SASS into CSS, and minify
- Compile CoffeScript into JS, and minify
- Optimize images for the web
- Caching is turned on
- CDN is set up (if using a CDN)
- Site has HTTPS
- Backup plugin/service is running
- Old URLs 300 redirect to the new URLs
- Google/Bing Webmaster tools set up
- Google Analytics installed
- Social media sharing buttons
- If WordPress: WordPress SEO plugin installed
- Google site map
- Submit site to Google and Bing
- Unnessary themes are removed
- Unnessary plugins are removed (goodbye, Dolly!)
- Install WordFence (set up scans, password rules, and brute force protection)
- Database tables have a prefix other than the standard
wp_
- There is no default
admin
username - Update everything
- Setup multi-factor authentication
- Auto-update enabled
- Placeholder pages/posts and comments are removed
- Placeholder images removed from media library
- If custom theme, run ThemeChecker plugin
- Permissions on server are set up propertly (can install/update plugins)
- Pass on hosting credentials
- Pass on CMS credentials (if there is a CMS)
- Give access to Google/Bing Webmaster tools
- Give access to Google Analytics
- Remind them to change their WordPress password every 3 months