Drupal is an open source content management system (cms) written in PHP designed for a wide variety of uses. Drupal comes with a lot of useful modules in the Drupal core (the core are the fundamental parts of Drupal and most common features in any website such as users, statistics, forums, comments, themes and more) but also is further enhanced by the huge amounts of modules and themes that are freely available. The hundreds of free Drupal modules on the website help webmasters do almost anything common easily such as Video, Search Engine Optimization (SEO), social networking and more.
- Disable unused modules. If you have a lot of modules enabled each pageload checks to see if any of the modules are needed for that page, more modules means slower load time. Keep it as lean as possible.
- Under the Performance section of the administration area there are two options in newer versions of Drupal (5+) where you can set caching (Use NORMAL) and aggregate CSS files. Both of these should cause no harm to your setup and increase performance by reducing load times.
- Proper webhosting is KEY to operating a Drupal website. Depending on your setup bottlenecks most often appear with memory, database and processor. So if you notice poor performance often a simple upgrade in one of those can change the users' experience completely.
- If spiders and crawlers like MSN, YahooSlurp, GoogleBot are bringing your server down a simple robots.txt change can often help (page caching should also help). In the robots.txt file (should be in your main directory) add a line using “User-Agent: *” and beneath it: “Crawl-Delay: 10”. This will tell them to grab a new page every 10 seconds.
- Cron jobs, do them when nobody is looking. Many Drupal sites require you to use cron jobs, so instead of running them at peak hours, update only as much as needed and preferably when the fewest number of people are using the website. (4-5am local time is often great, but again this varies on type of site and your audience).
In conclusion, these 5 steps can improve your performance noticeably for small-medium sized websites. As you get more and more traffic it becomes much more complicated in terms of ways to keep or improve speed and are beyond the scope of this article. So with that in mind, these are great first steps and should be suitable for most independent and small business/community/etc groups for keeping Drupal fast.