5 Tips on How to Improve Your Drupal eCommerce Store

5 tips to improve your drupal ecommerce store

Using Drupal for eCommerce and stuck wondering about how you could make the most out of your site?

Here are 5 Tips on How to Improve Your Drupal eCommerce Store:

1. Plan your approach.

Okay, just like in all of the things that you have to do in life, planning will indeed make your Drupal site a lot better. Luckily for you, there are lots of tutorials and modules available on the Internet. Just a warning though: do not spend so much time and bandwidth downloading them all. What you should do is just plan. After that, try to look through the modules, and know what each of them does.

Read reviews to see if they are indeed effective, as well as materials that come with them so that you can tell whether or not the module can give you what you need. Most of the modules available nowadays have an “uninstall” function. Still, though, not all do. The best thing to do is to test the module on a dev environment, so you can delete all of it, and simply start when you need it again. Data that aren’t needed will not be part of the database too.

2. Stay tuned for updates.

Drupal core usually has updates. Same is true with the modules. Though they might seem annoyingly insistent for updates at times, the secret is to actually update. These updates make it possible for your program to improve its performance, as well as of course, up-to-date.

Updating, however, is a cautious act. It is not advisable to just update when it seems fun to update at the moment. Actual testing before pushing them live is a must, since you never really know what’s updated, what’s removed or if the new update has bugs.

3. Make use of Pressflow!

One of the problems Drupal users have to deal with is that some performance tools of the third party (such as Varnish, for example) are prevented from usage. Interestingly and gratefully, this problem has been addressed by Drupal’s distribution, “Pressflow.” To everyone who uses Drupal (more specifically version 6 or higher), upgrading to Pressflow is highly recommended.

The changes for Drupal 6 Pressflow have now been imposed to the whole Drupal community and have also been added to Drupal 7. Piece of advice, though: if you are thinking of building a site through Drupal, you should probably utilize version 7.

4. Use a CDN.

While it is not the only application that CDN can improve, it is indeed one of the lucky few.

What is this CDN though? The CDN is used to distribute images, documents, JavaScript and CSS across lots of locations, so that makes them very useful when the target audience is international. If the audience you’re targeting, however, is just local, then Varnish may be good enough for you.

5. Focus on Views.

One of the best modules in the whole Drupal world is Views. Sometimes though, it can lead to slow generation of database queries. The key is to optimize them, but how? Actually, you usually just have to do the same thing you do to other database queries.

When you’re in Views and when you look at a view, you will be shown a query that’s being generated, and from that, you will know what’s happening. For MySQL, InnoDB is more advisable than others because it enables boost in performance. Do not use “count” and “distinct” in your queries. When you sort by date, set the granularity to “seconds.” Experiment with the settings, as well as the query versions to see which ones are the fastest to load. 

One of the best performance boosts for Views is the Lite Pager. The standard pagers add previous, page number, first, next and the last links. In order to generate these links, another database query is needed. When just InnoDB is used, the count function is slowed down. What the Lite Pager does is that it removes the need for the count function by simply adding previous and next links. It loses functionality a bit, but performance is amazingly boosted.

As for the cache system, Views has its own, and it allows you to come up with a time for how long each view should be cached. This is then stored on the tables. When Memcache is active, they are stored in the memory. Usually, when a page requested has a view on, database query is performed in order to load the data.

Say for example, a thousand people request for the same page in a few minutes. Those views will then call for the execution of a thousand database queries which, of course, will improve your performance. The only downside here is that when you are updating the site, the new content won’t be displayed for about five minutes. That, though, is nothing compared to the quality of performance you get after.