Joomla User Group Suffolk - July 2012 - Crossing the line first or last - performance optimising Joomla! websites by Ruth Cheesley, Virya Technologies

Uploaded on

A brief introduction to website performance optimisation, why you should bother, and how this can be achieved with Joomla! websites - including a look at caching for Joomla! 2.5.x

A brief introduction to website performance optimisation, why you should bother, and how this can be achieved with Joomla! websites - including a look at caching for Joomla! 2.5.x

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Crossing the line first ... or last?Optimising Joomla! Content Management System Ruth Cheesley
  • 2. What we will cover● What is optimising and why bother● Establishing a benchmark● Getting started with Joomla! optimisation● Caching with Joomla!● Useful extensions
  • 3. What is optimisation?
  • 4. What is optimising? Optimising is the the process through which we make something more effective, or more efficient - getting the most out of it
  • 5. What do we mean by optimising?● Identifying bottlenecks which cause a site to load slower● Cross-browser, cross- platform, cross-device● Make your website faster for visitors
  • 6. Why bother with optimisation?
  • 7. Why should I bother with optimising?● When pages load slowly, business metrics drop - including ■ Conversions ■ Bounce rate ■ Page views per visit● This drop is more significant now than two years ago - users are less willing to suffer a slow loading websiteCourtesy of Web Performance Today
  • 8. Selling the benefits ● Better for visitors ● More sales or conversions ● Better reputation ● Less complaints ● ? Search Engines
  • 9. Show me an example!
  • 10. An example - Walmart - Overall Site Customers who purchased viewed pages which loaded twice as fast as non-purchasing customersCourtesy of Web Performance Today
  • 11. An example - Walmart - Single Page This correlation is true even at the individual page level, as well as at an overall site levelCourtesy of Web Performance Today
  • 12. An example - Walmart - Categories At department level (category pages) buyers were served pages quicker than non-buyersCourtesy of Web Performance Today
  • 13. An example - Walmart - Bounce rate Bounce rate strongly correlates to page load speed
  • 14. What about my website?
  • 15. How does this apply to my website?● Customers may not use your site if it is slow = less revenue● Small changes can yield significant performance returns● Joomla! can be optimised!
  • 16. Establishing a benchmark
  • 17. Establishing a benchmark ● Identify benchmarks to test against & demonstrate improvement ● Lots of free tools available with professional reports produced ● Demonstrate business case and return on investment
  • 18. Optimising Joomla! - Getting started1. BACK UP!2. Benchmark3. Spring clean4. Identify potential issues5. Get up to date6. Re-test after each change
  • 19. Getting started - Spring Clean ● Remove any extensions you are not using ● Disable any plugins and modules not in useRemember to clear the cache and retest after each change you make - and document any changes
  • 20. Getting started - Identify issues ● New problems - suspect recently installed extensions ● Identify existing problems from benchmark scansRemember to clear the cache and retest after each change you make - and document any changes
  • 21. Get up to date ● Update Joomla! to latest stable release ● Update all extensions (including modules, plugins and templates)Remember to clear the cache and retest after each change you make - and document any changes
  • 22. Caching with Joomla!
  • 23. What is caching? "To store away for future use" In web technologies, caching is used to: "Store web objects [such as pages, images,and other files] closer to the user to allow faster access, thus improving the user experience of the visitor"
  • 24. Why cache a Joomla! site?● Reduces load time● Reduce server load● Faster website
  • 25. Types of caching with Joomla!1. Page caching2. System caching3. Module caching
  • 26. Page caching
  • 27. Page caching● Takes a copy of Use browser caching each page as option displayed Joomla! sends a 304● Enabled via not modified header Plugins->System to browser if page has been cached
  • 28. Why use page caching?● If visitors regularly visit the same page several times it can make the site a little more responsive● It can cause big problems if you have pages with dynamic content, as the old content will be served for the period of the cache.
  • 29. Global caching
  • 30. Global caching● Takes a copy of each ● Has two options page as displayed ○ Conservative ○ Progressive● Config>System >Cache settings
  • 31. More about global cachingUnique cache Conservative cache shows all visitors to your site the same exact cached content.per visitor Progressive caching however caches the content for each user uniquely.Toggling module If you want to toggle caching on/off with individual modules, set the global cache type tocaching Conservative and then use the modules cache type to enable / disable caching. Progressive caching overrides a specific modules cache settings.Logged in users Regardless of conservative vs. progressive caching, logged in users do not see cachedand cache module content.Module cached Each module that is cached can have a different cached version for each based uponthe current page For example, if you had a "related questions" module, a cached version of this will work (it would show a cached version of related articles for each different article).Courtesy of InMotion Hosting
  • 32. Clearing and purging cache● Clear cache will delete ALL cached files● Purge expired cache will delete all cache files which are older than the specified cache time - e.g. if the cache time is 30 minutes it will delete all cache files older than 30 minutes● Purging expired cache is more resource intensive, as Joomla! has to identify which files to delete
  • 33. Things to bear in mind● Progressive caching can result in VERY large cache folders● Progressive caching on LARGE websites may cause problems unless you have a well- resourced dedicated server● Purging expired cache should be done regularly, but at a low-traffic time due to the resource usage
  • 34. Other tips
  • 35. Other performance tips● GZip compression (Config>Server>GZip compression) may help reduce load time BUT there is a concurrent increase in server load.● GZip compression compresses any text files (php, html, css, js etc), delivers to the browser, which then decompresses● GZip when not necessary and supported by a well-resourced server can slow a site
  • 36. Image size & format● Images should be in PNG, and resized to the appropriate dimensions● Do not resize in HTML - it requires the browser to download the whole image then resize● Optimise your images for the web● If copyrighted to you, ensure you embed sufficient identifying features in case of misuse
  • 37. Useful extensions
  • 38. Extensions of note - cachingJotCache - Int Cache cleaner - Beg● Close control of ● One-click cache caching by page clean for admin● Page exclusion ● Pro version includes cron job● Exclude mobile for automated users clearing
  • 39. Extensions of note - CSS/JSJBetolo - Expert JCH Optimise - IntMerge, compress & Merge, compress &minify CSS/JS minify CSS/JSCorrect HTTP header Background image spritesCDN-Friendly Supports @importhtaccess static Option to exclude filescontent rules
  • 40. Will you be first across the line?
  • 41. Thank you!Ruth Cheesley@RCheesley