Drupal, as one of the most popular open-source Content Management System (CMS), shares a big part of website market on the Internet. It is widely used to power almost all kinds of online presence including personal blogs, enterprises, as well as government sites. Due to that, the way of optimizing performance for Drupal sites becomes a common concern among webmasters. In the following article, we will introduce 10 ways to improve Drupal 7 performance, hoping to help your website run fast and furtherly deliver a good experience to your visitors.
Why Should You Improve the Drupal 7 Performance?
It has been a common sense that fast sites win out over slower ones in attracting and keeping site visitors. People usually tend to stay along with sites that come with fast page loading speeds rather than spending time with those taking too long to load. Simply put it, site performance greatly affects your traffic, conversations, revenue, and even SEO rankings! According to a case study made by Radware on site performance, a one second delay in page time equals 11% fewer in page views, 7% loss in conversions, and 16% decrease in customer satisfaction.
How to Improve Drupal 7 Performance?
When you are looking to speed up your Drupal 7 site hosting on a normal shared web hosting plan for ensuring return visitors, you are limited in options as a result of the nature of shared hosting itself. Contrarily, if you were on a VPS or a dedicated server hosting platform, you would have more performance optimization options available.
So, if you can afford it, I would like to recommend you to go with at least a VPS if you take your web presence seriously as an important part of your business. Through our reviewing of hundreds of hosting solutions, InMotion Hosting and Arvixe are considered as the Best VPS for Drupal, and LiquidWeb and Bluehost offer the Best Dedicated Hosting for Drupal in the industry.
Page caching can be used to store the entire rendered contents of the web page in a separate database cache table thus you can recall it easily and quickly. However, for security purpose, Drupal 7 does not use the Page Cache for authenticated users automatically, so you should turn page caching on first. This is a significant performance boost for Drupal 7 site because a separate page can be served just from a single cache table instead of from a large number of queries that are being run.To enable page caching, you need to go to the “Performance” page under the “Configuration” item.
Different from the page caching that caches the whole pages, block caching is another type of caching used to help out with authenticated user performance by caching individual blocks instead of pages. Turning on block caching is so useful. For one reason, it ensures that blocks be cached when you have turned page caching off. For another, it will consistently boost site performance for authenticated users even when you have turned page caching on. The step of setting block caching is just the same as that of setting page caching.
CSS and JS Aggregation
Drupal 7 is quite flexible indeed. But just as any coin has two sides, along with the great flexibility are some tradeoffs, for example, redundant CSS and JS files. Even for a pretty basic Drupal site, there will be at least 30 CSS and JS files, each of which carries out an independent HTTP request. With so many requests, no wonder why the site performance gets worse. To solve that, you should enable CSS and JS aggregation to convert all the files into just a few files, making a reduction in the number and total size and increasing the speed of loading CSS and JS at the same time.
Views is a very popular module widely used on Drupal 7 sites. Enabling Views caching can help you store the database queries in the cache table of Views so that you can pick up any one of them in the process of the cache. It is especially good for authenticated users for the reason that a View output is still cached even when other page contents are not, saving a lot of time from page loading the database queries.
All the enabled modules whether you are using or not add additional page execution time. To improve your Drupal 7 site performance, you’d better limit the number of modules in use and disable and uninstall unused modules. Going one step further, you can choose to create a custom module to get your desired functionality that often requires you to install multiple modules working together.
Content Delivery Network
Making use of a Content Delivery Network (CDN) with Drupal 7, and moving all the images, videos, plus static files to the CDN across many locations see a great improvement in decreasing load times for a website. Using a CDN helps with saving your assets from more than one locations all over the world thus lowering latency and delivering faster results to your visitors. Some reputable hosting providers like Bluehost and A2Hosting are reliable web hosting with free CDN included that you can feel free to rely on.
Images Size and Number
Some images with large file sizes also have bad impact on your Drupal 7 site performance. Wherever possible, you can scale images down to a smaller size using image styles (admin/config/media/image-styles). In addition, reducing the number of images can reduce the number of requests to the server thus reaching an optimized performance.
As it is a feature to Drupal 7 that cron is set to run every 3 hours by default. This brings with a problem that a user triggers cron after he hits the page, resulting in very slow page loading times. To avoid the automated cron affecting the site performance, you should disable it and set cron on the server and allows it to run in the backend.
Besides the above mentioned ways, there are also many other options that can be used for improving your Drupal 7 site performance, for instance, making sure your own modules use indexes properly, using advanced modules and more. Whatever your choices are, we hope you can succeed in online businesses by delivering high performance and excellent experience to you visitors.