The Ultimate Prelaunch Checklist for Drupal Developers

This article is originally published at, Read Complete Article Here.

There’s a saying that “Think before you speak”. Similarly, test before you launch.

Website testing is a necessary step to take. Cross-browser test­ing, check­ing for dead links, proof-reading these are the things that should get tested before making the site live. This article is all about the steps that are required specifically for starting a Drupal site. Some of the recommendations of Drupal Pre-launch Checklist for developers are:

Server Con­fig­u­ra­tion

Con­fig­ure Cron:

Drupal do have extendable number of Cron jobs that are scheduled to run at different intervals, some of them are to re-index the search mechanism and some are to check for updates. You can make custom modules in Drupal just like other CMS with their defined Cron jobs.

These Cron jobs can vary from searching the lat­est Twit­ter feeds to pro­cess­ing mes­sage queues. Without doing Cron jobs, you can run your site, but I would highly recommend that this will let your site to maintain the security by Update status module.

If you can go through the official documentation you can see the whole process of the setting up Cron job, or else do have a look at Poor Man’s Cron. It is a functionality offered in Drupal 7 which is a simple back port of automatic Cron-running functionality.

Check The Upload Sizes & Execution Time:

If you want to allow users to upload large files such as MP3 and MP4 files on your site, then make sure to configure the server first. Allow your server to upload up to an approximate size.

And not just uploading, take a look at the max_execution_time setting also. This time setting will get increase if you are uploading large files.

Check Recipient Email Addresses:

Before launching the Drupal site first make sure to double check that either all the forms, modules, and other things are sending to the correct email addresses or not. Most of the developers forget to update these, once the site is ready, change your own addresses to the client’s one.


Set The File Permissions:

The security is the first concern of any website, so before launching your Drupal site make sure that you correctly configure the security permissions on your file systems. This would help in securing your site from any malicious hackers. Make sure that all files are saved in their particular folders, and also ensure that settings.php file which contains all the information of database connections, is also secured.

Make sure that to facilitate for uploading functionality, your files directory needs to be writeable by the web server. We would recommend you to ensure that your installation must be configured with access to a writable temporary directory. To check the whole process ofhow to give files permissions and ownership and how to install the files directory, check these two official documentation.

Pro­tect Your Root Account:

Typically during development, you have to develop your site using an admin account. Make sure to secure that account. This account has all the information and the access to your website. And not just the access, but the havoc which could be wrecked by a hacker get­ting access to this account which the network security is not permitting, and to be carried out using a web browser.

While building the admin account, choose a secure admin account username instead of just choosing admin, make something difficult to guess. And also make sure that the password must be secure enough. You can use a Drupal module named AES so that you can tighten up the security more.

Check Per­mis­sions:

Some of the new modules introduce new kind of permissions that are restrictive. These type of agreements have to be manually enabled for many other roles. These include anonymous, registered or custom. One of the main advantages is that only the root user can access the part of the site but not a regular user, hence more security. Before launching, it is highly recommended that you should test the site with each role.

Turn Off Error Reporting:

Ever witnessed any error messages of Drupal live sites? I have seen them often. These errors are not only Drupal-specific messages. Drupal renders many PHP errors. You have options to either display them or not.

To configure them, go to Site Configuration -> Error Reporting. Now set the option of the same name to write errors to the log. Doing so will not display errors.

Error Han­dling

Han­dle 404 Errors Gracefully:

Before launching make sure that the 404 errors (or missing pages) are catered in as helpfully as possible. There is a built-in feature of Drupal in which Error handling page is displayed on pages where there is no block configured. For that, you can use Drupal module named Search 404 or you can use 404 block. This module guesses what the user wants or what user tries to search. It helps the user by feeding terms from URL into the search engine.

Search Engine Optimization

Check Robots.txt:

Don’t forget to check robots.txt before launching. And even before that, ensure that the rel­e­vant sec­tions of your new site are excluded from crawlers. To further understand, see thedocumentation on Drupal official site.

Com­bine Pathauto With Global Redirect:

First install a module called Global Redi­rect with an existing module Pathauto mod­ule. You should use these modules on your Drupal site to generate “friendly” URLs auto­mat­i­cally. It works by performing a 301 redirect to aliased path or by analyzing a vis­ited link.

You must be thinking, why is this impor­tant? The answer is real simple, if a sin­gle page is acces­si­ble from mul­ti­ple URL’s, for instance, contact-us is an alias for node/123, some other user vis­its node/123 directly what Drupal will do is that it will redi­rect back to contact-me page on your site. By doing so, it can impact neg­a­tively on your search ranking.


Cre­ate A Main­te­nance Page:

Make a custom maintenance page for the users who would visit your site during the time when you are upgrading or maintaining your site. Make it more user-friendly and professional. It’s pretty easy to create a cus­tom main­te­nance page from Dru­pal 6 onwards. Check out official documentation for further information on theming Drupal 6 maintenance page.


Con­fig­ure Caching:

Caching is the most important part. Before you launch, check your site’s caches are fully configured or not. By doing so, Caching will deliver sig­nif­i­cant per­for­mance boosts, par­tic­u­larly on high-traffic sites. Make sure to check if views module has done any pages or blocks or not, because they have to cache switched-off by default. Make sure to configure them as well.

Con­fig­ure Css And Javascript Optimisation:

You can compress the CSS and JavaScript files by switching on on the end of the development process which is usually turned off during the entire process. Having CSS and JavaScript files more means increas­ing the num­ber of HTTP calls for every page sig­nif­i­cantly. You can “squeeze” all the CSS and JavaScript files. To-do-so, compress­ them at the same time.

Con­tent and Publishing

Check Unpub­lished Con­tent Is Not Visible:

Normally a developer forgets to check the sta­tus of a node before dis­play­ing any custom code for creating a view. That is why draft work could appear after you launched the site. So make sure to check that by checking the fil­ters on your views. Check that any cus­tom SQL includes a test of the sta­tus column.

Check Your Rss Feed:

RSS feed of your content is generated as a by default on your Drupal site, which includes the feeds for your tax­on­omy terms. You could use Views RSS module in Drupal, this module allows more tight control over what content or stuff should go into your RSS feed. It is critical to take care of that because, in Drupal, the published nodes are promoted to the front page by default. You can deny this access to rss.xml whenever needed.

Check Your Favicons:

If your sites have a favicon, then make sure that it’s dis­play­ing cor­rectly. If it’s not, then you have to unselect the option for Drupal’s default fav­i­con in your theme settings to display on your site.

Site Mon­i­tor­ing

Con­fig­ure Statistics:

Not only security and reliability of a site are a big concern but monitoring is also a big job to do. You can use core statistic module to do the job. Using Advanced Sta­tis­tics set­tings com­pan­ion mod­ule or you can use any ser­vice such as Google Ana­lyt­ics to monitor the site usage is a better option to do.

Did we miss anything? Make sure to let us know in the comment section below. Like! Share! Subscribe for more!