Checklist for launching a site

When a site is made live, it faces a variety of new performance, user interaction, security, maintenance, and quality assurance concerns. Every site is different, but this checklist will get you started with common site launch tasks. It will also get you thinking about the kind of tasks that may be needed for your specific site's needs.


  • Go to Site Configuration -> Performance and within the Cache area enable Cache pages for anonymous users and Cache blocks by clicking in the checkbox if necessary. You should see checks appear.
  • Within Bandwidth Optimization enable Compress cached pages, Aggregate and compress CSS files, and Aggregate JavaScript files.
  • Turn off unnecessary modules, such as Devel.

User Interaction

  • Protect your forms against spam and attacks.
    • What kind of forms are anonymous and authenticated users able to access on your site?
    • Have you enabled CAPTCHA, reCAPTCHA, or an anti-spam service such as Mollom?

Programming best practices

This page outlines our best practices for programming within Drupal. It concerns higher level issues than those dealt with in the Coding Standards document or the Configuration & Usage Best Practices page(s).

The purpose of these pages is not to teach one how to program, but to teach one how to become a better programmer within this framework. Many people can write code, but many of those people do not know that there is a science to programming for Drupal. Why are speed and performance so important? Why document code? Why is this commonly used code snippet actually a mistake? These questions and so many more are answered and explained below.

Proposed topic outline

  • Writing efficient code
    • Using recursive functions
    • Engineering fast code
    • Avoiding unnecessary coupling
  • Writing code that comments itself
  • The necessity of documentation
  • Naming your functions
    • Using private functions
  • Using global variables
  • Making your modules extensible
    • Writing hook functions and theme functions
    • When should you build an API for your module and how to do this
Subscribe with RSS Subscribe to RSS - best practices