Webshop Performance Optimisation

When your customers are shopping on the web the last thing they want is a page that takes 30 seconds or more to load, personally when that happens I just close the web page and go somewhere else.

If you want to improve the performance of your Webshop there are a number of things you can do.

Benchmarking

The first thing I’d recommend is to perform some benchmarking on your website to find out exactly how slow it is, that way you’ll have something to compare the performance against when you’ve finished souping it up. You could get some software to do this or you could just rely on some simple timings using the second hand on your watch, but basically you want to get a set of measurements for your front-page, some of your major category pages and some of the major product pages. Write them down or record them in a spreadsheet.

Once that’s done you can start improving your Webshop’s performance

Make sure that Your Server and Connection are fast

This may seem obvious but if your server is bogged down because there are too many other websites running on it then you haven’t got a hope of making your Webshop perform well. Likewise make sure that your server has plenty of bandwidth, with multiple network connections and a fast internet connection.

Reduce the number of Requests

Each image, every external JavaScript script and each css file on your page causes a request to be sent from your customer’s browser to your server, each of those requests causes a connection to be opened between the two computers and the file then gets downloaded from the server to the client. Although these communications generally happen quite quickly when you’ve got a lot of files to get each of these small downloads adds up to a lot of time.

The problem is that it takes quite a few milliseconds just to make the connection and when you’ve got a lot of connections to make (one for each file) then all those milliseconds add up.

How can you resolve this?

What we generally try to do is to use image maps i.e. we combine a lot of images into one large image so even though we may be showing ten pictures we actually only download one file, so we save on the connection time for nine images.

We also refrain from loading below-the-fold images until the customer scrolls down on the web browser, when we design our pages we know that some of the images on the page won’t be seen by the customer until they scroll down the page. So using JavaScript we wait until the user scrolls down before we load the additional images, that way the web browser only loads the images that the customer is likely to see. All of those images way down at the bottom of the page don’t get loaded until the customer can see them.

Use a Content Delivery Network

A Content Delivery Network (CDN) will host some of your files for you, usually you would put your image files onto a CDN and any requests for those files will route to the CDN’s very fast servers, what they also do is to replicate your files across their own network and they will serve your files from the nearest server to the customer. For example if you have a customer who is in Japan when the request is made for a file the request is routed automatically (by the CDN) to the nearest server to the customer (probably in Tokyo). So although your Webshop server may be located in London a large number of your files will be located in Tokyo (and wherever else your CDN supplier has servers)

This also saves a lot of bandwidth as your files will only be loaded from your servers once by the CDN and any further requests will be satisfied by the CDN.

Use Gzip Compression on your Apache Server

This may be out of your control but we’ve found that by switching on compression on the Apache server the download time of your (text based) files will be much shorter. Typically a text file (css, html, JavaScript) will be reduced by about 50% in size when its compressed which means that the time taken to download the file will be reduced by almost a half.

Minify JavaScript and CSS

The smaller the text file, the faster it will be downloaded so using a compression utility to minimise your JavaScript and CSS files will again make the files smaller and make them load quicker. Especially when they are compressed even further by the Gzip compression on your Apache Server.

Setting a Default Expiry Date in the Apache Server

The Apache software has a setting to set a default expiry date of image files, what we generally do is to set this far into the future. When a customer’s web browser requests a file it will check the customers local cache to see if the file has already been downloaded and hasn’t expired yet. If the file is up-to-date it will use the local file instead of downloading a copy of the file from the server.

Further Reading

For lots more ideas on how to improve the performance of your online Webshop I would recommend the following

http://developer.yahoo.com/performance/rules.html

http://sites.google.com/site/io/even-faster-web-sites

What Is Search Engine Optimisation (SEO)?

SEO is a way to draw visitors to your website. This will enable the search engine to “crawl” your site and boost your rankings. The higher your website ranking, in other words, the closer your website is listed to the top of the first search page, the more likely you are that you will be noticed, and to get noticed is what SEO is all about.

Don’t get SEO and AdWords confused. AdWords is a Google sponsored results system that you pay for. The sponsored results are those slightly tinted results that you see at the top and right hand side of the front search page. SEO is a free organic results rating system and includes all the rest of the search results from first to last.

Google sends crawlers to rate your website. The more SEO-friendly your site is, the higher you will be ranked. There are a few things you can do to make your site more accessible to the crawler.

– Your title needs to accurately reflect your product. You should have clear titles on each page, not just your landing page. [No more than 70 characters will appear in your search results].

– Your content should be converted to HTML and contain for heading and description. There are many free HTML converters available online.

– Your keywords need to be carefully selected. Consider your target audience/shopper/searcher. What sort of words and phrases would they select to begin a search for your products? What words and phrases accurately describe your products? When you have written down all the possibilities, go to an online keyword tool. There are many keyword tools available, such as WordTracker or adwords.google.com [KeywordTool] These will give you all the statistics you need to see how many people search daily for those words, and how many websites are currently available who already use them. You will also find many alternative words and phrases that have similar meaning. You will be able to weigh up your options to find words with as many searches as possible with the least number of sites using them.

– Your URL [which is the string of words, letters and numbers after your website title] should contain your most important keyword(s).

You can try all kinds of clever tweaks to try and get your website higher on the rankings. These are well and good, and the cleverer you are, the better. However, there is nothing that can replace relevant and interesting content. Ultimately your customers should be more impressed with the products, services or information you have to offer them than the tricks you used to get them to visit your website.

As you can imagine, this is quite a complicated subject to master. You need to thoroughly educate yourself about SEO. Another option is to seek experienced professional SEO services who will help you improve your SEO techniques. You may choose an SEO webshop that offers SEO packages, or one that will take over and conduct a campaign for you.

How to Setup an ECommerce Webshop

Ok, you’ve made the decision to set up your own Webshop and you’ve got the products that you want to sell but how do you go about it? Where do you start?

There are several different aspects that you need to consider, the main ones are –

  1. Domain Name
  2. Hosting the site
  3. eCommerce Webshop Software
  4. Site Security
  5. Loading Products onto the site
  6. Receiving Customer Payments

Domain Name

To go back to basics a domain name is the name by which your site is known on the web, when you type in the www address of the website that you want to visit you are typing in that site’s domain name.

To have your own Webshop you must first purchase your own domain name, then you need to associate that domain name with a physical ip address on the internet, which leads me nicely onto…

Hosting the Site

The software for your Webshop needs to physically reside on a computer which can be accessed via the internet, once you’ve chosen your software it needs to be running 24 hours a day on a computer somewhere.

Here you have the choice of whether you run your Webshop on a dedicated server or you can share space on a server with other websites. But whatever you choose you also need to be able to associate your domain name with the physical (ip address) of your server i.e. the dns settings, this would normally be managed by whoever registered the domain name for you but you do need to be careful with this as it could badly affect the smooth running of your Webshop, its really important that whenever somebody types in your domain name (url) that your website is ALWAYS available.

You also have the choice of whether to run on a Linux Server or a Windows Server, in general there are more options available for Linux and as another generalisation software for Linux is available at a lower cost than Windows software, but as in all things though there are exceptions and there is some very good windows software available at competitive prices.

You also need to make sure that things like database backups are taken care of and that you can load site certificates etc. (more about that later)

eCommerce Software

Now that you have your domain name and you have your server (or hosting service) and the two work correctly together you need to consider which eCommerce webshop software to run, as mentioned previously there are two main directions to go in i.e. you could either decide on Windows or Linux

Once you’ve made the decision of the operating system then you have a huge choice of the different Webshop software and these can range from free software (with limited support) through to software which costs thousands of pounds per year.

There are some very good free applications available such as Magento and OsCommerce but generally with these you’ll be on your own when it comes to installing and running the software.

You’ll then need to install and configure your software to get it looking exactly the way that you want it to. As well as the layout you will probably also need to do things like setup your payment methods, delivery options, countries that you want to deal with and tax codes.

Site Security

There are two aspects to this –

  1. You need to prevent your site from being hacked and your customer’s details from being stolen. In the UK generally you need to be registered under the data protection act which sets certain standards on how the data is protected.
  2. You also need to make sure that whenever your customers type in sensitive data such as passwords or credit card numbers that there is a layer of encryption between your customer’s PC and your web server, so that nobody can be watching the data which is being routed to your server to capture the credit card numbers etc. To make this happens you need to make sure that your server can support an SSL connection and you need to purchase and install a certificate onto the server which will re-assure your customers that this secure connection is happening.

Loading Products Onto the Site

So now you’ve got your server and it works with your domain name and you’ve loaded your software what’s next?

You’ve probably got a few hundred (or thousand) products to load up onto the site. Firstly you’ll need a digital camera, because you’ll need to take pictures of all of your products that is unless you’re very lucky and the product’s manufacturer can supply you with these.

First you should try to work out a category hierarchy, usually the Webshop software will allow an unlimited number of categories for you to group your products under. Don’t forget that your customers will use these categories to navigate your website so it’s a good idea to spend some time on planning this properly, then for each product you’ll need to come up with a description that you need to type in using the software you’ve purchased and you need to upload the picture that you’ve taken.

Once that’s done your newly added products will be on your website

Receiving Customer Payments

Obviously you’ll need some way of getting the customers payments into your bank account.

Paypal is very good for this as they accept most of the major credit cards and bank cards and it’s usually quite straightforward to set up in most Webshop software applications. For the customers its not quite so simple and I find that a lot of customers don’t have a Paypal account and really cant be bothered with the validation that they need to go through to set one up i.e. they are just looking for the box where they enter their credit card number.

There are many other very good Credit Card payment providers around who offer payment methods and generally it just a case of finding a payment provider who can process payments to your bank account AND work with your software, as the communications between the Webshop software and the payment provider can be quite complex.

So that’s it, you’re ready to go, simple really