/drupal-launch-checklist

Drupal Website Launch Checklist (the best practices)

MIT LicenseMIT

Drupal Website Launch Checklist

Pre-launch

  • Perform load testing & optimization beforehand include slow-log analyses;
  • Check Drupal SEO Tools report;
  • Match recommendations of the following:
  • Performance and Scalability Checklist module;
  • Match the requirements of Acquia Insight;
  • Analyze Coder Review results;
  • Perform load testing using tools with cleared database cache, memcache and image styles when caches are disabled;
  • Make sure you have a failover scenario and a quick backup;
  • Configure Cron jobs;
  • Disable all development modules;
  • Add console.log stub;
  • Configure caches properly: Varnish, Memcache;
  • Check if CDNs are configured correctly for live environment;
  • Make sure AJAX requests are cached;
  • Enable bandwidth optimization;
  • Test simultaneous an consequent anonymous access scenarios and behavior when every cache is enabled;
  • Replace database logging functionality with other solutions, e.g. syslog;
  • Disable any errors output on frontend;
  • Enable fast_404 in settings.php file or use Fast 404 module;
  • Make sure file permissions for file directories and code directory are set correctly;
  • Make sure that input formats are correctly configured;
  • On /admin/config/system/site-information make sure the email address and name are correct;
  • Ensure website permissions are set appropriately and minimally;
  • Get rid of CHANGELOG.txt etc (from Git etc). Do NOT remove robots.txt;
  • If using SSL, change your local /etc/hosts to point the site to its live domain and ensure SSL redirection is working correctly;
  • Remove test content, such as "lorum ipsum" text, dummy users, or content generated by the Devel module;
  • Check the maximum file upload sizes and maximum execution time;
  • If you don't use core Search module, make sure it's disabled;
  • If you use any replacements for standard Cron, make sure it's disabled;
  • Warm caches before launch:
  • If possible, perform launch component-by-component and one-by-one;
  • Make sure your admin account has a strong password and it's changed before launch;
  • Enable caching for Views output, Panels panes output and blocks. Useful modules are the following:

Gotchas

  • If you maintain a very large number of files on your website, it can have a substantial negative effect on performance and stability, especially if they are all contained in the same directory. If your site requires a large number of files, maintain them in multiple directories;
  • Using standard Views pager might cause performance issues because of additional COUNT query. Use Views Litepager instead.
  • Some conditions prevent the use of an in-memory temporary table, in which case the server uses an on-disk table instead:
    • Presence of a BLOB or TEXT column in the table;
    • Presence of any string column in a GROUP BY or DISTINCT clause larger than 512 bytes;
    • Presence of any string column with a maximum length larger than 512 (bytes for binary strings, characters for nonbinary strings) in the SELECTlist, if UNION or UNION ALL is used.