Site Pre-Launch QA Checklist
- Andrew Mallis
- Mike McCaffrey
- Kristin Sartain
Owned by Andrew Mallis
When launching a site, it's important to go through some general quality assurance tasks to ensure the site is functioning and ready to launch.
Security
- All core and contrib modules updates are applied
- Give the permissions page a once-over for any glaring issues (e.g., anonymous access to "Full HTML" input format or other such silly thing)
- Change the user1 username to something other than "admin"
- Reset the user1 password to something that is definitely secure
- Delete testing accounts
- Make sure that only admins can create new accounts
- Pre-provision the SSL certificates
- Enforce https (in the pantheon.yml file on pantheon)
- Anti-spam protection added to forms
- Comment and contact modules disabled if not necessary
- Check header security issues:Â https://dri.es/headers
Pantheon Hosted
- Make sure the Pantheon APC module is installed:Â https://www.drupal.org/project/pantheon_advanced_page_cache
- Check that Varnish is working on the Pantheon Global CDN
- Make sure SOLR server is connecting, if needed. (not available for basic plan)
- Check the site audit tab in the site dashboard
- Pre-provision the SSL certificates
- Primary domain is set for redirects
- Enforce https in the pantheon.yml
Non-Pantheon Hosting
- Configure Cloudflare
- Set up an external ping to the Drupal cron URL (and then turn off the automated_cron core D8 module?)
Drupal Configuration
- Site email address is correct at /admin/config/system/site-information
- Turn off development modules in production (e.g., via Config Split)
Performance
- Drupal's css and js aggregation enabled
- Page cache maximum age is set to at least 15 minutes at /admin/config/development/performance
- Check the headers to make sure caching is working for properly:Â https://dri.es/headers
- Fast404 module installed (optional)
- Redis for Pantheon environments installed (optional)
- Front End - Page Speed, https://tools.pingdom.com
- Benchmark the site
- New Relic
- Disable themes not in use, even parent themes
Check for errors
- Review Drupal Status Report Page
- Review watchdog entries
- Review pantheon logs
- Review performance in New Relic
- Install the Site Audit module and check for issues (or just check the Status tab for the environment in Pantheon)
External Services
- Google Tag manager has been installed and configured to track Google Analytics (404 and 403 exclusion should be removed from the default configuration so that data goes to analytics).
- External SMTP service has been configured for sending emails (recommended)
- Solr server is configured and working (optional)
SEO
- Domains redirect to primary domain (a dashboard setting in pantheon now)
- Redirects have been created (clone our Redirects Worksheet template for import)
- Wildcard redirects have been added to settings.php
- XMLsitemap module has been configured and a link has been created to:Â /sitemap.xml
- Metatag module has been installed and configured
- Google Console has been registered so the new site can be submitted for reindexing after launch.
Theming
/favicon.ico
resolves via the favicon module or a rewrite rule insettings.php
- 404 Pages are themed
- All large images are being resized using responsive image styles
- Breakpoint indicator is disabled
- Check that we're not loading unused fonts/weights
- Optimize bitmap images: http://optimizilla.com, https://compressor.io
- Optimize SVGs:Â https://jakearchibald.github.io/svgomg/
Launching
- Pantheon DNS Configuration
- Create an annotation in google analytics to demarcate the launch
- Clear caches
- Run cron
- Clear logs before launch
- Back up everything
- Create a tag in git for a clear label
- Announce in Slack
- Deploy the site through Best Practices
Post Launch
- Data is coming into analytics
- Review log for errors
- Review newrelic for performance
- Search is working