Go live checklist
We have split this up into the following:
- Project base tasks - should be added to a project backlog and factored into all estimation.
- Security and performance tasks - which includes Drupal configuration that needs to be done in advance of go live.
- Launch tasks - final (idiot) checks and a few tasks done by the project team.
Also see the server checklist for a quick list of things to check to ensure the server is configured correctly for a site in advance of going live.
Project base tasks
These should be done on all projects by the development team during sprints:
- Configure Metatags
- Configure XML sitemap
- Add a favicon
- A recommended favicon generator is https://realfavicongenerator.net.
- Favicons should be placed in the web root and linked to from
html.html.twig
- Set up EU Cookie Compliance module
- Create / Theme 404 and 403 pages
- Review / Theme maintenance page
- Discuss having Agile Collective page on the site
- If using config split (most new D8 sites) disable development modules by adding the following line to production's (and stage if you want)
settings.local.php
file:
$config['config_split.config_split.development']['status'] = FALSE;
- Discuss HTTPS with the sysadmin and put a plan in place before the site launches
Per sprint tasks
- Update Modules
- Check watchdog log for problems (/admin/reports/dblog)
- Check status report for errors (/admin/reports/status)
It is also worth reviewing the Drupal 8 SEO book
Launch tasks
These tasks will be done by the development team, and must be completed by / just before launch.
-
Make sure site redirects to a single domain (with or without 'www')
-
Remove all dummy / test content including users. Search users and content for keywords such as "test" or "example".
-
Check spam protection is in place for public forms (if required - reCAPTCHA is what is being used as of March 2018)
-
Check access to content types and taxonomy term pages - use Rabbit Hole if necessary.
-
Check that the stage site and prod site point to the correct databases
drush status
-
Make sure the default site location is set to the live site address NOT staging.sitename.com.
-
Ensure the site email address is set to something sensible e.g. noreply@site-domain.com (/admin/config/system/site-information)
-
Check the contents of the site emails is sane.
-
Check any API keys are configured for the live domain. E.g. GA, Recaptcha, Payment gateways
-
Check indexing status for Search API - check if this is set to 'index immediately' or not - ideally it would not be, for performance reasons.
-
Make sure URL redirects are set up to automatically add a redirect when the page title is changed
-
Check the site has a Privacy Policy / cookie warning
-
Install the Purge module and integrate it with Varnish. Set up and configuration guide.
Post-launch tasks
- Regenerate the XML sitemap to ensure all urls point to the live domain
Performance
Test the site thoroughly after make any of these changes as there is the possibility they can break things. Ideally, these things should be implemented several weeks before go live.
- Enable Drupal caching and asset aggregation at Configuration > Development > Performance (/admin/config/development/performance). Set the max page cache age to at least 3 hours and aggregate CSS and JavaScript files.
- Set JPEG quality to no higher than 75% (/admin/config/media/image-toolkit)
- Consider using the AdvAgg module for greater control of caching and aggregation of assets; https://www.drupal.org/project/advagg
Security
- Ensure there's a strong User 1 password.
- Turn off on-screen error reporting (admin/config/development/logging).
- Enable Syslog module and disable Dblog module.
- Disable Devel and any other development modules.
- Make sure HTTP Authentication is configured on staging and dev sites.
Last updated: