Wesite performance is a complex topic. Ensuring your website performs well will help provide a pleasing user experience AND help your google page rankings. Today we will delve into Caching and file compression and a technique and service known as Content Delivery Networking. I can use a number of tools as necessary to automatically perform these performance enhancements on your sitedepending on the level of your support agreement or project. Performance shoud not be ignored as it is an important variable in your overall site ranking. Contact me if you wish to know more and read on if you are feeling a bit "geeky" today.
Caching in simplicity is storing data sand files usualy in memory close to where it is needed to reduce times to access that data. Wikipedia defines cache:
You might be aware of your web browser cache. You might have been asked at some time to "clear the browser cache" to resolve an issue. Whenever you change your site like change a picture or logo or change some styling you will need to clear your browser cache. Often a page reload will achieve the same thing. Browser caching happens automatically. There is little the web developer can do to ensure the browser is caching correctly other than ensuring that cache expiry times are reasonable. I set up expiry times for every site I set up. Contact me if you need to know more.
The server cache stores in memory entire pages, and files such as pictures, java-script etc with a huge impact on performance. Most of the sites I implement for you use a Content Management System which creates web pages dynamically on demand. For example when a surfer clicks your blog menu or link, the server queries a database and builds the blog page "on the fly" before sending it down to the surfer. The server cache software detects whether the page and/or major objects on the page NEEDS to be reconstructed since the last time ANY surfer viewed the page, saving a considerable amount of server processing time and shortening the response time for the surfer. I turn on server caching for most sites. Recently I saw improvements in average page access times of 4 seconds for one of my sites reduce to approximately 1 second. Server caching sounds too good to be true doesn't it? Are there any downsides. Some sites cannot use standard Joomla caching. Some e-commerce sites in particular will have their shopping carts appear with erroneous data. I have seen some sites menu drop downs fail to appear correctly with caching turned on. These are just examples. In general cached sites require more thorough testing than non cached sites. Also remember a page is only cached AFTER it is first visited by a surfer. That means the repsonse time for the first visit of a page will be much longer than the 2nd or 3rd. Also caches are aged. That is to say the data in a cache will be aged out and the cache flushed clean if the page isn't visited for some period of time. This "cache time" is usually set to values between 15 and 30 minutes depending on the features of the site.
Compressing the component files of a web page reduces the overall download time for the files and therefore the page. Aggregating like files together reduces the number of connections the browser uses to make to download the page. A modern web site may consist of tens to often hundreds of separate files. Even a simple site of one of my clients downloads over 100 files of images, javascript and styling files as well as the html file for the page. The visually rich look af a site and all those "widgets" come at a potential perfomance cost.
A CDN stores your site's images and scripts on high speed server "farms" often duplicated across the continent. What does a CDN do for you?