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
Ähnlich wie Joomla User Group Suffolk - July 2012 - Crossing the line first or last - performance optimising Joomla! websites by Ruth Cheesley, Virya Technologies
Ähnlich wie Joomla User Group Suffolk - July 2012 - Crossing the line first or last - performance optimising Joomla! websites by Ruth Cheesley, Virya Technologies (20)
Joomla User Group Suffolk - July 2012 - Crossing the line first or last - performance optimising Joomla! websites by Ruth Cheesley, Virya Technologies
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
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
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 website
Courtesy of Web Performance Today
8. Selling the benefits
● Better for visitors
● More sales or conversions
● Better reputation
● Less complaints
● ? Search Engines
10. An example - Walmart - Overall Site
Customers who
purchased
viewed pages
which loaded
twice as fast as
non-purchasing
customers
Courtesy of Web Performance Today
11.
12. An example - Walmart - Single Page
This correlation is
true even at the
individual page
level, as well as at
an overall site
level
Courtesy of Web Performance Today
13.
14. An example - Walmart - Categories
At department
level (category
pages) buyers
were served
pages quicker
than non-buyers
Courtesy of Web Performance Today
15.
16. An example - Walmart - Bounce rate
Bounce rate
strongly
correlates to page
load speed
19. 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!
21. 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
22. Optimising Joomla! - Getting started
1. BACK UP!
2. Benchmark
3. Spring clean
4. Identify potential issues
5. Get up to date
6. Re-test after each change
23. Getting started - Spring Clean
● Remove any
extensions you are
not using
● Disable any plugins
and modules not in
use
Remember to clear the cache and retest after each change you make - and document any changes
24. Getting started - Identify issues
● New problems -
suspect recently
installed extensions
● Identify existing
problems from
benchmark scans
Remember to clear the cache and retest after each change you make - and document any changes
25. 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
27. 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"
28. Why cache a Joomla! site?
● Reduces load time
● Reduce server load
● Faster website
29. Types of caching with Joomla!
1. Page caching
2. System caching
3. Module caching
31. 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
32. 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.
34. 'Global' caching
● Takes a copy of each ● Has two options
page as displayed ○ Conservative
○ Progressive
● Config>System
>Cache settings
35. More about global caching
Unique 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 to
caching Conservative and then use the module's 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 cached
and cache module content.
Module cached Each module that is cached can have a different cached version for each page.
is based upon
the 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
36. 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
37. 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
39. 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
40. 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
42. Extensions of note - caching
JotCache - 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