Build high performance Drupal site without spending much

Drupal

When we install the basic Drupal we get very simple functionality and not so good user experience, we have to dig through 30,000 modules to find the modules we need, install and configure them to achieve the site we actually want. To save the trouble from doing this work, we can take advantage of using Drupal distribution. One of the very good to start with is the Panopoly Drupal distribution it has almost all the modules or functionality that a general website should have. The full list of features of Panopoly.

$0 Drupal website

There are two good web shared hosting you can host your Drupal site that offers free version: x10Hosting and Byet, they are good for small personal site or starting site. The only thing you'll have to pay for is your site's domain name (you may want to check this article: Domain name registrar with lowest yearly renewal fee). But if you are looking for free domain name I recommend Freenom or www.registry.cu.cc
I am using their service since 2012 with my testing sites. With Byet shared hosting and cu.cc domain you will have an operational Drupal website without spending any cents.

Here are tips to improve your Drupal site performance for shared hosting setup:

  • Install Boost module, it provides static page caching to your Drupal (significant performance for anonymous traffic).
  • To improve the frontend performance of your site, install Advanced CSS/JS Aggregation (significant performance for both authenticated and anonymous traffic).
  • Setup your free CDN at Cloudflare, the free account also provide SSL (with HTTP2), auto minify JavaScript, CSS and HTML. Enable the Rocket Loader, it improves load time for pages that include JavaScript. They indeed will supercharge your website (significant performance for both authenticated and anonymous traffic).

Virtual Private Server (VPS)

If your site requires installing software in server, the cheapest to use is a Virtual Private Server (VPS) also referred to as a Virtual Dedicated Server (VDS). I recommend Linode VPS service, it uses SSD storage and fastest processors in the cloud market which helps to your site's performance. Linode is unmanaged VPS, it means there is no cPanel/WHM (I recommend to install Virtualmin GPL in your Linode, it is a free virtual host manager).

Addition to these tips:

  • Install Boost module for your Drupal pages that are static (significant performance for anonymous traffic).
  • Install Advanced CSS/JS Aggregation (significant performance for both authenticated and anonymous traffic).
  • Setup a free CDN at Cloudflare (significant performance for both authenticated and anonymous traffic).

Here are Drupal site performance improvement tips for web owners that has access to install software in their server:

  • Install Zend OPcache it improves the execution of PHP codes (significant performance for both authenticated and anonymous traffic).
  • Since Virtualmin uses Apache as its web server, install Nginx as reverse proxy using microcache setup. It will serve faster static files and microcache for dynamic content (significant performance for both authenticated and anonymous traffic).

    Or alternative to Nginx reverse proxy with Apache is the Nginx+PHP FPM which is the ideal web-server setup as this is more faster web service
  • Quick way to optimize your site following web best practices is by installing Pagespeed (significant performance for both authenticated and anonymous traffic).
  • Install memcache to improve database queries (significant performance for authenticated users).
  • To improve Drupal searching, install Solr (significant performance for both authenticated and anonymous traffic).
  • Setup Mongodb, this will reduce the load of your MySQL database.
  • If you choose not to use Cloudflare or you are using Cloudflare's Full (Strict) SSL setup and you need SSL support for your website, use Let's Encrypt which is a certificate authority that offers free and automated SSL/TLS certificates.

Comments

Add new comment

Restricted HTML

  • Allowed HTML tags: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Lines and paragraphs break automatically.