---
title: "Preparing for a successful launch"
date: "2024-02-14T06:18:38+00:00"
summary: "Ensure a smooth website launch with our comprehensive checklist covering SSL, performance, and final go-live steps for Drupal sites."
image:
type: "page"
url: "/acquia-cloud-platform/preparing-successful-launch"
id: "a1fb788f-166c-482b-b00e-8cef43ff58cc"
---

Table of contents will be added

Best practices
--------------

Prior to launching your site, ensure the following:

*   Do not launch on Fridays.
*   Verify that all contributed and core dependencies are up to date and secure.
*   Disable all development and UI modules in the production environment.
*   Disable the [Shield](https://www.drupal.org/project/shield) module in the production environment.
*   [Create a Support ticket](/service-offerings/contacting-acquia-support "Contacting Acquia Support") to notify Acquia of your upcoming launch.

In addition to the preceding best practices, follow the subsequent detailed checklist that can help you track the tasks you must complete to successfully launch an application on Cloud Platform.

Configuring SSL
---------------

The following tasks are common requirements for building an application that supports SSL.

 

Task

Why

□

[Generate Certificate Signing Request (CSR)](/acquia-cloud-platform/generating-certificate-signing-request-csr "Generating a certificate signing request (CSR)")

A CSR is required to buy an SSL certificate. If you have already purchased an SSL cert, you can skip this step

□

[Upload SSL certificate](/acquia-cloud-platform/managing-ssl-certificates "Managing SSL certificates")

If there is no SSL installed, your website will throw an error when accessed over HTTPS

□

[Check rewrite rules are configured (using a contributed module or .htaccess file)](/acquia-cloud-platform/help/92451-introduction-htaccess-rewrite-rules "Introduction to .htaccess rewrite rules")

Your application’s `.htaccess` file controls how your website’s visitors can access your website, and can be configured to handle many different visitor scenarios

Prepare for successful website launch
-------------------------------------

The following performance and scalability tasks prepare your application for production traffic.

 

Task

Why

□

[Submit a Site Review ticket (2+ weeks before website launch)](/service-offerings/contacting-acquia-support "Contacting Acquia Support")

The Site Review will be conducted by Acquia once you confirm you have launch-ready code in the production environment

□

[Set page cache maximum age to something greater than “no caching”](/acquia-cloud-platform/using-varnish "Using Varnish")

Varnish® won’t cache your standard page requests from Drupal if page cache maximum age isn’t set. This may cause severe strain on infrastructure, resulting in degraded performance and potential website downtime

□

[Enable & configure Acquia Purge module](/resources/installing-acquia-purge "Installing Acquia Purge")

Acquia Purge is essential for proactively clearing stale content from Varnish® cache, and Platform CDN caches if applicable.

□

[Disable basic authentication so Acquia can check that Varnish is serving pages from cache](/acquia-cloud-platform/password-protecting-non-production-environments "Password-protecting non-production environments")

With basic authentication enabled, Acquia can’t check whether Varnish caching is working

□

Update Drupal Core to the latest release

Security vulnerabilities leave your website more susceptible to attacks, and so forth

□

Disable any modules that set session cookies

Session cookies can prevent Varnish from working properly, and lead to severe performance issues

□

[Don’t override the PHP memory limit on a global basis. Consider conditionally increasing memory limits for specific pages that need more memory](/acquia-cloud-platform/help/92621-conditionally-increasing-memory-limits-drupal-and-drush "Conditionally increasing memory limits for Drupal and Drush")

Acquia tunes its infrastructure to use the exact number of threads possible for 128 MB of PHP memory. (If your application needs more memory for every page request, [create a Support ticket](/service-offerings/contacting-acquia-support "Contacting Acquia Support"). Conditionally overriding the memory limit for certain administration pages can sometimes be acceptable, but check with Acquia Support before adding this)

□

[Configure memcache to help with overall website performance](/acquia-cloud-platform/enabling-memcached-cloud-platform "Enabling Memcached on Cloud Platform")

The lack of memcache can lead to a heavy load on the database infrastructure, therefore resulting in degraded performance

□

[Sanitize code variables](https://www.drupal.org/docs/7/security/writing-secure-code/overview)

Ensure variables are being wrapped correctly to prevent cross-site scripting, forgery attacks, and more

□

Enable the Dynamic Page Cache module

Dynamic Page Cache may increase the speed of your website, even for authenticated users. It’s the second line of defense after reverse-proxy caching (Varnish) and will keep user requests from overwhelming your website until the latter is warmed up

□

Enable JavaScript / CSS aggregation

CSS and JavaScript files can cause extended page load times because it is loading all the files for each. This can slow down page rendering

□

Disable database logging module

The DBlog modules writes logs to the database, which can cause a major strain on storage and memory

□

[Enable the Syslog module](/acquia-cloud-platform/improving-application-performance "Improving application performance")

Syslog should be used in favor of [DBLog](https://www.drupal.org/documentation/modules/dblog). It can store logs much faster because it doesn’t need to write to the database

□

Check for pending database updates

Depending on the functionality, issues can compound over time if left unaddressed. This is important for critical/core business functionality

□

[Enable full PHP error reporting](/acquia-cloud-platform/php-error-logs "PHP error logs")

Failure to log problems caused by faults in PHP can cripple your ability to troubleshoot an issue

□

Remove SQL queries and PHP logic or functions

Going against the Drupal architecture can cause performance problems (for example, `node--xxx.tpl.php`)

□

[Back up Stage and Prod database](/acquia-cloud-platform/taking-backups "Taking backups")

For recovery purposes. In the event of a disaster, you can quickly retrieve the most current version of your database

□

Clear Stage Varnish caches

Clearing cache on your staging website will allow the most recent website changes to be reflected

□

Migrate Stage code to Prod

Without code in your production environment, there will be no live website

□

Migrate Stage file to Prod

Without files in your production environment, there will be no live website. For more information, see [Copying files between environments](/acquia-cloud-platform/working-files "Working with files").

□

Migrate Stage database to Prod

Without a database in your production environment, there will be no live website. For more information, see [Copying a database across environments](/acquia-cloud-platform/working-databases "Working with databases").

□

Review areas of codebase using infrastructure-side device detection to confirm caching isn’t impacted or remove entirely

If the website is relying on infrastructure-side device detection for anonymous visitors, you may find pages are improperly caching for a single device

□

[Configure OPCache to be large enough to store compiled code for your applications’ PHP scripts](/acquia-cloud-platform/help/94071-findingresolving-memory-related-php-errors-acquia-cloud "Finding/Resolving Memory Related PHP errors in Acquia Cloud")

If OPCache usage is too high you may experience memory allocation and other associated OPCache errors

□

[Ensure directories don’t contain more than 2,500 files each](/acquia-cloud-platform/help/93016-optimizing-file-paths-organizing-files-subfolders "Optimizing file paths: Organizing files in subfolders")

Website performance can severely degrade when too many files are added and available to the system in a single directory without any subdirectory structure

□

[Identify and remediate potential issues from having large files](/acquia-cloud-platform/help/92661-scoping-impact-image-processing "Scoping the impact of image processing")

Image processing can be complex, and can put a major hit on website resources (for example, memory). Underestimating the memory usage of these processes can have severe impacts on the responsiveness of your website

□

[Disable or adjust settings for modules and applications](/acquia-cloud-platform/modules-and-applications-incompatible-cloud-platform "Modules and applications incompatible with Cloud Platform")

Cloud Platform and security require permissions and installs to be built in a particular fashion. This can sometimes cause incompatibilities with Drupal contributed modules

□

[Use InnoDB instead of MyISAM for database tables](/acquia-cloud-platform/help/93101-prelaunch-checklist-drupal-sites "Prelaunch checklist for Drupal sites")

Acquia recommends the use of InnoDB over MyISAM. There are several reasons that InnoDB is the preferred engine for MySQL databases

□

[Switch from Drupal database search to Acquia Search](/acquia-cloud-platform/acquia-search-0 "Acquia Search")

This can cause availability issues for websites in association with increased database activity, and is considered redundant and inferior to search backed by Acquia Search

□

Enable caching on blocks, views, and panels where applicable

While Varnish cache will take a significant load off your website, Drupal-level granular caching can provide more performance benefits in many situations

□

[Disable default Drupal cron in favor of Acquia’s scheduled jobs](/acquia-cloud-platform/using-scheduled-jobs-support-your-application "Using scheduled jobs to support your application")

Compared to other cron solutions, using the **Scheduled Jobs** page is more reliable and provides extensive and integrated logging for Cloud Platform applications

□

Disable unneeded modules ([SimpleTest](https://www.drupal.org/project/simpletest), Statistics, [Devel](http://drupal.org/project/devel), [Mobile Tools](https://www.drupal.org/project/mobile_tools)) in Production

These modules can increase the website’s startup (bootstrap) overhead and are unnecessary in Production

□

Disable user interface modules (`views_ui` and `field_ui`)

Can impose a small performance penalty when enabled, and can allow the essential views/fields required by your website to be modified

□

[Identify and Block Nuisance Bots](/acquia-cloud-platform/redirecting-visitor-requests-htaccess-file "Redirecting visitor requests with the .htaccess file")

Nuisance bots disrupt site analytics and create an outsize impact on your infrastructure utilization. Add such nuisance bots to **.htaccess** to keep unnecessary traffic at bay. For more information about bot traffic management, visit [Automated Bot Traffic - Strategies to Handle and Manage It](https://dev.acquia.com/blog/automated-bot-traffic-strategies-handle-and-manage-it).

Get production-ready
--------------------

These configuration tasks configure preferences and connect your application to Acquia services.

 

Task

Why

□

[Add custom domains](/acquia-cloud-platform/managing-domains "Managing domains")

If there are no custom domains present, domains won’t resolve when DNS is updated

□

[Configure Remote Administration preferences](/acquia-cloud-platform/preferences "Preferences")

Setting your application update preferences correctly ensures security updates can be integrated into your workflow

Complete final go-live steps
----------------------------

These tasks prepare your application for an imminent launch.

 

Task

Why

□

Clear the Varnish cache on your production environment

Clearing cache on your production environment will allow the most recent website changes to be reflected

□

Backup the database on your production environment

For recovery purposes. In the event of a disaster, you can retrieve the most current version of your database readily

□

[Enable Production mode](/acquia-cloud-platform/using-production-mode-protect-your-live-application "Using Production mode to protect your live application")

Lack of production mode leads to a heightened possibility of destroying your live application by overwriting your production files and databases

□

Check that domains and DNS are pointed correctly

Your website won’t resolve to the Acquia platform unless you update your DNS settings with your Acquia IP address

Additional checklist for Drupal 7 sites
---------------------------------------

 

Task

Why

□

Disable `page_compression`

The **Compress cached pages** pages option (page\_compression) of Drupal 7 does not provide any benefit and might cause unexpected behavior when an external cache such as Varnish is employed.

□

Set the minimum cache lifetime to `none`

The minimum cache lifetime prevents Drupal from clearing webpages and block caches for a period after the changes are made. If you set its value to greater than none, changes are not readily visible.

□

Ensure `variable_set` or `cache_clear_all` is not overused

On a Drupal 7 website, excessive use of `variable_set` or `cache_clear_all` can cause flaws in caching and might create performance issues.

□

[Enable Fast 404](https://www.drupal.org/project/fast_404)

Processing 404 messages effectively can have a significant impact on website performance. Requests resulting in an HTTP 404 bypass Varnish caching and request data from the infrastructure directly.

Note

The 7.x version of this module is incompatible with Drupal 7.x sites running MySQL 8.0 and later.