Speed Up Your Website By Using Cache
1st June, 2010 in Design/Development
I recently finished a database intensive website using the Joomla content management system, and upon release the website popularity and therefore high database queries put quite a strain on the site which slowed it down more than usual. I try to develop websites to load as fast as possible, and with Google's new "caffeine" release taking website speed into account it is all the more important.
In a situation like this one solution is to use website caching. Any database driven website (e.g. content managed), large or small, will benefit from using caching.
What is Caching?
Caching is when dynamic, database driven pages, such as those from a content managed website, are created as static HTML files on the server rather than pulled from the database every time someone requests a page. This means the page load times are much faster as no database queries or other script processing is performed.
Take a look at this monitoring report for a website before and after enabling cache. As you can see there is a dramatic improvement in page load speed (the vertical axis is page load times, the horizontal is time of day). A reduction from approx. 3 seconds to 0.2 seconds from within the UK.
How Do I Enable Cache?
If you have a static website (plain HTML files, no content manager), then you do not need to do anything, cache is not required.
If you use a content management system, then cache is dependent upon your content management system, so speak to your web developer to ask them if such a cache system exists in your content manager.
If you use the Joomla content management system you will be pleased to know cache is built in and easily enabled.
- Go to Extensions -> Plugins -> System Cache
- Select the Yes radio button for Enabled
- Enter the Cache lifetime (see below for explanation)
- Click Save
That's it!
What is Cache Lifetime?
Cache Lifetime is the time spent before the site performs a database query again and recreates the cached pages from the content. So any changes made will be shown after the lifetime expires. For a site that has infrequent content updates set the lifetime to a high number such as 24 hours or even 1 week (it's in seconds), but if your site has regular content added or changed, then set it to a lower number, a number you are happy to wait before it re-generates, such as 1 hour or 15 minutes. If you have a busy site even 5 minutes will save a lot of database queries.
Resetting the Cache
Now your website pages will be saved on the server as HTML files rather than querying the database every time. This does have one drawback though, and that’s when you make a change in the editor, you will not see the change immediately on the site because it is showing a saved HTML page of before your change. You can either wait for the cache lifetime to expire and re-generate, or go to Tools -> Clean Cache and delete all the cached items to regenerate again. Then you will see your changes.
Beware of SEF
If you use a SEF component such as sh404SEF to make your URLs search engine friendly, make sure the SEF plugin is before the cache plugin else you may have problems with links.
Beware of Permissions
It's possible you may have permissions issues which may disallow Joomla from deleting the cached files, especially if your FTP user owns all the files and not the server. If you have an failed to delete files error then you can enable FTP in the Joomla configuration so all file changes by Joomla will be performed by using the FTP user which may overcome file permissions issues.
You can do this by going to Site -> Global Configuration -> Server, and for FTP Settings choose Enable FTP Yes and enter the FTP details in the box. Click Save to save these details and you should be able to delete the Cached files.
Note: You should have the configuration.php file un-writeable for security, so you may also need to set this file to writeable using FTP first, save the above changes, then set the file back to un-writeable.
Recent
22nd November, 2017 in
Amity is pleased to announce it's sister web design company has launched in Newport. http://nettlofnewport.co.uk will design & build, host & support and digitally market websites for customers in and around Newport, South Wales, using Amity as the technical backend. Nettl will also offer design & print material for marketing & exhibitions.
Did you know that approximately 96% of people leave a website without taking the action the website owner would like them to complete? Whether it’s buying a product, signing up to a mailing list or requesting a callback, the vast majority of people visiting your site do not do it!
28th November, 2016 in Advice
When did you last check the speed of your website? According to Google’s guide for webmasters, a good eCommerce website should load fully in under 2 seconds...
If your business isn’t currently using social media, now is the time to consider why that is.
25th October, 2016 in Advice, Amity News
December is the perfect time to kick-start campaigns and refresh your marketing. Even if the nature of your business isn’t remotely festive, your customers will appreciate the goodwill of a seasonal offer to two, or simply a friendly ‘Merry Christmas’ message.