---
title: "Preparing for a successful launch"
date: "2024-02-14T06:18:38+00:00"
summary:
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, if problems should occur with the launch, a weekend is not a good time to resolve those problems.
*   Verify that all contributed modules and core vendor dependencies are up-to-date and secure.
*   Disable all development and UI modules in the production environment.
*   Disable the Shield module in the production environment.
*   Create a Support ticket to notify Acquia of your upcoming launch.
*   Subscribe to Acquia Notifications at [https://status.acquia.com](https://status.acquia.com).
*   Notify internal stakeholders of the launch plan.
*   Notify external stakeholders or site visitors, if applicable.
*   Consider carrying out appropriate load testing in the weeks preceding the launch.
*   Document or establish incident response procedures.

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 the Cloud Platform.

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

The following tasks are common requirements for building an application that supports SSL. These steps may or may not be required if you are using a CDN in front of your site on Acquia Cloud.

Task

Why

Documentation

Generate Certificate Signing Request (CSR)

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

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

Upload SSL certificate

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

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

Check rewrite rules are configured (using a contributed module or .htaccess file)

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.

[Introduction to .htaccess rewrite rules](/acquia-cloud-platform/help/92451-introduction-htaccess-rewrite-rules "Introduction to .htaccess rewrite rules")

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

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

Task

Why

Documentation

Perform final content migration

After content freeze, migrate content one last time, if applicable.

 

Delete test content

Delete or verify the deletion of any test content.

 

Index content

After content freeze, index content for Acquia Search.

 

Verify Search

Make sure search is working properly on production.

 

Identify missing content/assets and broken links

Consider using the link checker module or use some other crawler.

[Link checker | Drupal.org](https://www.drupal.org/project/linkchecker)

404 Remediation

Resolve 404s (add missing content/assets, update broken links, etc.).

 

301 Remediation

Create redirects as needed (Redirect module, .htaccess rules, etc.).

[Redirect | Drupal.org](https://www.drupal.org/docs/contributed-modules/redirect)

Configure sitemap

Set up and configure a module like Sitemap XML to serve.

[XML sitemap | Drupal.org](https://www.drupal.org/project/xmlsitemap)

404 handling

Create a plan for remediating 404s post-launch.

[Redirect | Drupal.org](https://www.drupal.org/docs/contributed-modules/redirect)

Acquia UI Configuration
-----------------------

Task

Why

Documentation

Configure Teams and Permissions

Ensure that everyone that needs access to Acquia Cloud has the necessary permissions.

[Managing team members](/acquia-cloud-platform/managing-team-members "Managing team members")

Configure Drupal cron using Scheduled jobs

Set up the necessary cron jobs for your application to perform regular system maintenance and scheduled tasks.

[Using scheduled jobs to support your application](/acquia-cloud-platform/using-scheduled-jobs-support-your-application "Using scheduled jobs to support your application")

Configure New Relic

To see application performance metrics for requests that reach Drupal.

[Claiming your New Relic APM Pro account](/acquia-cloud-platform/claiming-your-new-relic-apm-pro-account "Claiming your New Relic APM Pro account")

Configure Platform Email

Allow your application to send outbound email on verified domain names.

[Configuring Platform Email](/acquia-cloud-platform/configuring-platform-email "Configuring Platform Email")

Testing and QA
--------------

Task

Why

Documentation

Address issues identified in the Site Review

Site Review is provided by Acquia Support or your TAM.

 

Address issues identified in Drupal Status Report

Check /admin/reports/status.

 

Cache test

Verify pages have correct cache headers.

[Caching Score](https://www.cachingscore.com/)

Front end performance testing

Use PageSpeed Insights, YSlow, and WebPageTest.

[PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights) | [YSlow](https://yslow.org/) | [WebPageTest](https://www.webpagetest.org/)

Load testing

Confirm estimated monthly page views and load test data to make sure infrastructure is sized properly. Use a tool like BlazeMeter.

[Load testing on Cloud Platform | BlazeMeter](/acquia-cloud-platform/load-testing-cloud-platform "Load testing on Cloud Platform")

Check logs for errors and notices

Resolve any errors and notices.

[About Cloud Platform logging](/acquia-cloud-platform/about-cloud-platform-logging "About Cloud Platform logging")

Accessibility testing

Review site for accessibility compliance.

[Website Content Optimization & Governance Platform](https://www.acquia.com/products/acquia-web-governance)

DNS Preparation
---------------

Task

Why

Documentation

Identify DNS owner

Determine who has the authority/ability to manage DNS.

[Configuring DNS records for your application](/acquia-cloud-platform/configuring-dns-records-your-application "Configuring DNS records for your application")

Verify Domains and DNS

Make sure Domains and DNS info have been identified.

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

Verify edit domain

Ensure the edit domain is functional for content admins.

[Best practices on setting up an edit domain](/acquia-cloud-platform/help/94491-best-practices-setting-edit-domain "Best practices on setting up an edit domain")

Set a short TTL for DNS

If using an existing domain, ensure the TTL is set to 5 minutes prior to launch. This ensures a quick launch process.

[Set a short TTL for DNS](/acquia-cloud-platform/configuring-dns-records-your-application "Configuring DNS records for your application")

Performance & Scalability
-------------------------

Task

Why

Documentation

Submit a Site Review ticket (2+ weeks before website launch)

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

[Contact Acquia Support](https://acquia.my.site.com/s/contactsupport)

Set page cache maximum age to something greater than “no caching”

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.

[Configuring Drupal cache settings for Varnish](/acquia-cloud-platform/configuring-drupal-cache-settings-varnish "Configuring Drupal cache settings for Varnish")

Enable & configure Acquia Purge module

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

[Purging Varnish cache on Acquia Cloud](/acquia-cloud-platform/help/93536-purging-varnish-cache-acquia-cloud "Purging Varnish cache on Acquia Cloud")

Disable basic authentication so Acquia can check that Varnish is serving pages from cache

With basic authentication enabled (typically using the Shield module), you can’t check whether Varnish caching is working.

[Password-protecting non-production environments](/acquia-cloud-platform/password-protecting-non-production-environments "Password-protecting non-production environments")

Update Drupal Core to the latest release

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

[Update Drupal](https://www.drupal.org/docs/updating-drupal)

Disable any modules that set session cookies

Session cookies can prevent Varnish from working properly and lead to severe performance issues. This will be checked in an Acquia Site Review.

[Using Varnish](/acquia-cloud-platform/using-varnish "Using Varnish")

Don’t override the PHP memory limit on a global basis. Consider conditionally increasing memory limits for specific pages that need more memory

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. Conditionally overriding the memory limit for certain administration pages can sometimes be acceptable, but check with Acquia Support before adding this.

[Finding/Resolving Memory Related PHP errors in Acquia Cloud](/acquia-cloud-platform/help/94071-findingresolving-memory-related-php-errors-acquia-cloud "Finding/Resolving Memory Related PHP errors in Acquia Cloud")

Configure Memcache to help with overall website performance

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

[Enabling Memcached on Cloud Platform](/acquia-cloud-platform/enabling-memcached-cloud-platform "Enabling Memcached on Cloud Platform")

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.

  
[Internal Page Cache](https://www.drupal.org/docs/administering-a-drupal-site/internal-page-cache)

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.

[Improving application performance](/acquia-cloud-platform/improving-application-performance "Improving application performance")

Disable Watchdog database logging module

The DBlog module (watchdog) writes logs to the database, which can cause a major strain on storage and memory.

 

Enable the Syslog module

Syslog should be used in favor of DBLog. It can store logs much faster because it doesn’t need to write to the database.

[About Cloud Platform logging](/acquia-cloud-platform/about-cloud-platform-logging "About Cloud Platform logging")

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

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

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

Check for and Remove SQL queries and PHP logic or functions in templates

Going against the Drupal architecture can cause performance problems, such as SQL queries should not exist in Drupal templates such as node--xxx.tpl.php.

 

Back up Stage and Prod database

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

[Taking backups](/acquia-cloud-platform/taking-backups "Taking backups")

Clear Stage Varnish caches

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

[Using Varnish](/acquia-cloud-platform/using-varnish "Using Varnish")

Migrate Stage code to Prod

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

[Code workflows with Cloud Platform](/acquia-cloud-platform/code-workflows-cloud-platform "Code workflows with Cloud Platform")

Migrate Stage files to Prod

Without files in your production environment, there will be no live website. For more information, see Copying files between environments.

[Working with files | Cloud Platform](/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.

[Working with databases](/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.

[Varnish headers](/acquia-cloud-platform/varnish-headers "Varnish headers")

Configure OPCache to be large enough to store compiled code for your applications’ PHP scripts

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

[Finding/Resolving Memory Related PHP errors in Acquia Cloud](/acquia-cloud-platform/help/94071-findingresolving-memory-related-php-errors-acquia-cloud "Finding/Resolving Memory Related PHP errors in Acquia Cloud")

Ensure directories don’t contain more than 2,500 files each

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

[Proactively organizing files in subfolders](/acquia-cloud-platform/help/94276-proactively-organizing-files-subfolders "Proactively organizing files in subfolders")

Identify and remediate potential issues from having large image files

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.

[Scoping the impact of image processing](/acquia-cloud-platform/help/92661-scoping-impact-image-processing "Scoping the impact of image processing")

Disable or adjust settings for modules and applications

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

[Modules and applications incompatible with Cloud Platform](/acquia-cloud-platform/modules-and-applications-incompatible-cloud-platform "Modules and applications incompatible with Cloud Platform")

Switch from Drupal database search to 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.

[Acquia Search](/acquia-cloud-platform/acquia-search-0 "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

Compared to other cron solutions, using the Scheduled Jobs page is more reliable and provides extensive and integrated logging for Cloud Platform applications; disable the automatic cron module.

[Using scheduled jobs to support your application](/acquia-cloud-platform/using-scheduled-jobs-support-your-application "Using scheduled jobs to support your application")

Disable unneeded modules (SimpleTest, Statistics, Devel, 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.

https://Blocking unwanted traffic on your website

 

Identify and Block Nuisance Bots

Nuisance bots disrupt site analytics and create an impact on your infrastructure utilization. Block unwanted traffic with a WAF. Add such nuisance bots to .htaccess to keep unnecessary traffic at bay.

[Blocking unwanted traffic on your website](/acquia-cloud-platform/blocking-unwanted-traffic-your-website "Blocking unwanted traffic  on your website")

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

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

Task

Why

Documentation

Add custom domains

If there are no custom domains present, domains do not resolve when DNS is updated. Include the bare domain if necessary.

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

Configure Remote Administration preferences

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

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

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

These tasks prepare your application for an imminent launch.

Task

Why

Documentation

Remove Prod environment site protection

Disable basic auth (Shield module) or remove IP whitelists.

[Password-protecting non-production environments](/acquia-cloud-platform/password-protecting-non-production-environments "Password-protecting non-production environments")

Warm Caches using /etc/hosts and Prod domain

Configure /etc/hosts and navigate the site as anonymous to cache popular pages.

[Avoiding maintenance mode during site updates](/acquia-cloud-platform/help/93176-avoiding-maintenance-mode-during-site-updates "Avoiding maintenance mode during site updates")

Clear the Varnish cache on your production environment

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

[Using Varnish](/acquia-cloud-platform/using-varnish "Using Varnish")

Back up 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.

[Taking backups](/acquia-cloud-platform/taking-backups "Taking backups")

Enable Production mode

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

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

Check that domains and DNS are pointed correctly

Your website do not resolve to the Acquia platform unless you update your DNS settings with your Acquia IP address.

[Configuring DNS records for your application](/acquia-cloud-platform/configuring-dns-records-your-application "Configuring DNS records for your application")

Enable legacy 301 Redirects

Enable 301 redirects from legacy URLs/services/sites to the new site.

[Redirect](https://www.drupal.org/project/redirect)

Notify search engines of the site

Such as Google Webmaster Tools.

[Google Search Console](https://search.google.com/search-console/about)

Post Launch Checklist
---------------------

These items should be checked and verified once the site has been moved to production.

Task

Notes

Documentation

Check Drupal’s status report

Go to Reports > Status report.

 

Verify analytics tracking is working

 

 

Verify third-party integrations are working

Any external app or service that interacts with Drupal needs to be verified.

 

Monitor New Relic

File an Acquia Support case with any concerns. Paste a permalink to what you see in New Relic in the case.

[Using New Relic to troubleshoot site issues](/acquia-cloud-platform/help/93476-using-new-relic-troubleshoot-site-issues "Using New Relic to troubleshoot site issues")

Monitor Stack Metrics

Verify that infrastructure metrics are good.

[Using Stack Metrics to monitor activity on your environments](/acquia-cloud-platform/using-stack-metrics-monitor-activity-your-environments "Using Stack Metrics to monitor activity on your environments")

Request Traffic Report

Acquia Support can provide a traffic report upon request. This shows the top 200, 30x, 40x, and 50x requests.

[Contact Acquia Support](https://acquia.my.site.com/s/contactsupport)

Verify 301 redirects

Make sure redirects are working properly.

[Redirects](https://www.drupal.org/project/redirect)

Verify emails are being sending correctly

 

[Troubleshooting Platform Email](/acquia-cloud-platform/troubleshooting-platform-email "Troubleshooting Platform Email")

Verify cron jobs are executing properly

 

[Using scheduled jobs to support your application](/acquia-cloud-platform/using-scheduled-jobs-support-your-application "Using scheduled jobs to support your application")

Launch Rollback Procedure
-------------------------

In case there are unforeseen or unplanned issues, the steps below can be followed to revert the launch and go back to using the old site.

Task

Notes

Documentation

Change DNS

Point DNS back to the original site.

[Configuring DNS records for your application](/acquia-cloud-platform/configuring-dns-records-your-application "Configuring DNS records for your application")

Revert 301 Redirects

 

[Redirect](https://www.drupal.org/project/redirect) 

Enable the Shield module on Prod environment

 

 

Flush Varnish cache

Flushing Varnish prevents the site from being displayed even though the Shield module is enabled.

[Using Varnish](/acquia-cloud-platform/using-varnish "Using Varnish")

Notify necessary parties of postponed launch