SlideShare a Scribd company logo
1 of 45
Download to read offline
Crossing the line
 first ... or last?
Optimising Joomla! Content Management
               System

           Ruth Cheesley
What we will cover

● What is 'optimising' and why bother

● Establishing a benchmark

● Getting started with Joomla! optimisation

● Caching with Joomla!

● Useful extensions
What is optimisation?
What is optimising?



                   Optimising is the the
                  process through which
                   we make something
                    more effective, or
                  more efficient - getting
                     the most out of it
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
Why bother with optimisation?
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
Selling the benefits

               ● Better for visitors

               ● More sales or conversions

               ● Better reputation

               ● Less complaints

               ● ? Search Engines
Show me an example!
An example - Walmart - Overall Site


                                     Customers who
                                        purchased
                                      viewed pages
                                      which loaded
                                    twice as fast as
                                     non-purchasing
                                        customers


Courtesy of Web Performance Today
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
An example - Walmart - Categories

                                     At department
                                     level (category
                                     pages) buyers
                                       were served
                                      pages quicker
                                    than non-buyers



Courtesy of Web Performance Today
An example - Walmart - Bounce rate



                         Bounce rate
                            strongly
                      correlates to page
                          load speed
What about my website?
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!
Establishing a benchmark
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
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
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
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
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
Caching with Joomla!
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"
Why cache a Joomla! site?


● Reduces load time

● Reduce server load

● Faster website
Types of caching with Joomla!



1. Page caching

2. System caching

3. Module caching
Page caching
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
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.
'Global' caching
'Global' caching
● Takes a copy of each ● Has two options
  page as displayed      β—‹ Conservative
                         β—‹ Progressive
● Config>System
  >Cache settings
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
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
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
Other tips
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
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
Useful extensions
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
Extensions of note - CSS/JS
JBetolo - Expert      JCH Optimise - Int
Merge, compress &     Merge, compress &
minify CSS/JS         minify CSS/JS

Correct HTTP header   Background image
                      sprites
CDN-Friendly          Supports @import

htaccess static       Option to exclude files
content rules
Will you be first across the line?
Thank you!

Ruth Cheesley

@RCheesley

More Related Content

Similar to Optimising JCMS - Boost Speed & Performance

Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Jess Coburn
Β 
Boosting your conversion rate through web performance improvements
Boosting your conversion rate through web performance improvementsBoosting your conversion rate through web performance improvements
Boosting your conversion rate through web performance improvementsAlyss Noland
Β 
Drupal 7 performance and optimization
Drupal 7 performance and optimizationDrupal 7 performance and optimization
Drupal 7 performance and optimizationShafqat Hussain
Β 
Optimizing WordPress Performance
Optimizing WordPress PerformanceOptimizing WordPress Performance
Optimizing WordPress PerformanceDouglas Yuen
Β 
PyGrunn2013 High Performance Web Applications with TurboGears
PyGrunn2013  High Performance Web Applications with TurboGearsPyGrunn2013  High Performance Web Applications with TurboGears
PyGrunn2013 High Performance Web Applications with TurboGearsAlessandro Molina
Β 
Ctrl+F5 Bangalore 2017: Super charge you word press website by Justin Thomas
Ctrl+F5 Bangalore 2017: Super charge you word press website by Justin ThomasCtrl+F5 Bangalore 2017: Super charge you word press website by Justin Thomas
Ctrl+F5 Bangalore 2017: Super charge you word press website by Justin ThomasResellerClub
Β 
Appengine json
Appengine jsonAppengine json
Appengine jsonAurel Medvegy
Β 
Google app development
Google app developmentGoogle app development
Google app developmentAurel Medvegy
Β 
Google app developers
Google app developersGoogle app developers
Google app developersAurel Medvegy
Β 
Google development
Google developmentGoogle development
Google developmentAurel Medvegy
Β 
Web software development
Web software developmentWeb software development
Web software developmentAurel Medvegy
Β 
Google app developer
Google app developerGoogle app developer
Google app developerAurel Medvegy
Β 
Google web tools
Google web toolsGoogle web tools
Google web toolsAurel Medvegy
Β 
Google apps development
Google apps developmentGoogle apps development
Google apps developmentAurel Medvegy
Β 
Google app pricing
Google app pricingGoogle app pricing
Google app pricingAurel Medvegy
Β 
Google app engine developer
Google app engine developerGoogle app engine developer
Google app engine developerAurel Medvegy
Β 
Cloud computing providers
Cloud computing providersCloud computing providers
Cloud computing providersAurel Medvegy
Β 
Google app software
Google app softwareGoogle app software
Google app softwareAurel Medvegy
Β 
Google app programming
Google app programmingGoogle app programming
Google app programmingAurel Medvegy
Β 

Similar to Optimising JCMS - Boost Speed & Performance (20)

Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11
Β 
Boosting your conversion rate through web performance improvements
Boosting your conversion rate through web performance improvementsBoosting your conversion rate through web performance improvements
Boosting your conversion rate through web performance improvements
Β 
Drupal 7 performance and optimization
Drupal 7 performance and optimizationDrupal 7 performance and optimization
Drupal 7 performance and optimization
Β 
Optimizing WordPress Performance
Optimizing WordPress PerformanceOptimizing WordPress Performance
Optimizing WordPress Performance
Β 
PyGrunn2013 High Performance Web Applications with TurboGears
PyGrunn2013  High Performance Web Applications with TurboGearsPyGrunn2013  High Performance Web Applications with TurboGears
PyGrunn2013 High Performance Web Applications with TurboGears
Β 
Ctrl+F5 Bangalore 2017: Super charge you word press website by Justin Thomas
Ctrl+F5 Bangalore 2017: Super charge you word press website by Justin ThomasCtrl+F5 Bangalore 2017: Super charge you word press website by Justin Thomas
Ctrl+F5 Bangalore 2017: Super charge you word press website by Justin Thomas
Β 
Appengine json
Appengine jsonAppengine json
Appengine json
Β 
Google app development
Google app developmentGoogle app development
Google app development
Β 
Google app developers
Google app developersGoogle app developers
Google app developers
Β 
Google development
Google developmentGoogle development
Google development
Β 
Google app
Google appGoogle app
Google app
Β 
Web software development
Web software developmentWeb software development
Web software development
Β 
Google app developer
Google app developerGoogle app developer
Google app developer
Β 
Google web tools
Google web toolsGoogle web tools
Google web tools
Β 
Google apps development
Google apps developmentGoogle apps development
Google apps development
Β 
Google app pricing
Google app pricingGoogle app pricing
Google app pricing
Β 
Google app engine developer
Google app engine developerGoogle app engine developer
Google app engine developer
Β 
Cloud computing providers
Cloud computing providersCloud computing providers
Cloud computing providers
Β 
Google app software
Google app softwareGoogle app software
Google app software
Β 
Google app programming
Google app programmingGoogle app programming
Google app programming
Β 

More from Ruth Cheesley

Open source meets marketing - Presentation - OpenFest 2019
Open source meets marketing - Presentation - OpenFest 2019Open source meets marketing - Presentation - OpenFest 2019
Open source meets marketing - Presentation - OpenFest 2019Ruth Cheesley
Β 
Data first web development
Data first web developmentData first web development
Data first web developmentRuth Cheesley
Β 
Integrated Marketing Strategies with Mautic
Integrated Marketing Strategies with MauticIntegrated Marketing Strategies with Mautic
Integrated Marketing Strategies with MauticRuth Cheesley
Β 
Automating your marketing workflows in Joomla with Mautic
Automating your marketing workflows in Joomla with MauticAutomating your marketing workflows in Joomla with Mautic
Automating your marketing workflows in Joomla with MauticRuth Cheesley
Β 
Fight for the Pixel - Innovation Martlesham - Ruth Cheesley
Fight for the Pixel - Innovation Martlesham - Ruth CheesleyFight for the Pixel - Innovation Martlesham - Ruth Cheesley
Fight for the Pixel - Innovation Martlesham - Ruth CheesleyRuth Cheesley
Β 
Custom Fields in Joomla - JoomlaDay UK 2016 - Marco Dings
Custom Fields in Joomla - JoomlaDay UK 2016 - Marco DingsCustom Fields in Joomla - JoomlaDay UK 2016 - Marco Dings
Custom Fields in Joomla - JoomlaDay UK 2016 - Marco DingsRuth Cheesley
Β 
Time to stop breaking your promises - dealing with 404's, broken URLs and pla...
Time to stop breaking your promises - dealing with 404's, broken URLs and pla...Time to stop breaking your promises - dealing with 404's, broken URLs and pla...
Time to stop breaking your promises - dealing with 404's, broken URLs and pla...Ruth Cheesley
Β 
Chalk and cheese - how developers and designers can work together and not cru...
Chalk and cheese - how developers and designers can work together and not cru...Chalk and cheese - how developers and designers can work together and not cru...
Chalk and cheese - how developers and designers can work together and not cru...Ruth Cheesley
Β 
Discovering Joomla! - Find out about Joomla's features
Discovering Joomla! - Find out about Joomla's featuresDiscovering Joomla! - Find out about Joomla's features
Discovering Joomla! - Find out about Joomla's featuresRuth Cheesley
Β 
Ruth Cheesley - Joomla World Conference 2014 - How to prove you're worth a mi...
Ruth Cheesley - Joomla World Conference 2014 - How to prove you're worth a mi...Ruth Cheesley - Joomla World Conference 2014 - How to prove you're worth a mi...
Ruth Cheesley - Joomla World Conference 2014 - How to prove you're worth a mi...Ruth Cheesley
Β 
Conflict as an opportunity for growth in Open Source communities - European C...
Conflict as an opportunity for growth in Open Source communities - European C...Conflict as an opportunity for growth in Open Source communities - European C...
Conflict as an opportunity for growth in Open Source communities - European C...Ruth Cheesley
Β 
The world needs Open Source - Ruth Cheesley - NorDevCon 2014
The world needs Open Source - Ruth Cheesley - NorDevCon 2014The world needs Open Source - Ruth Cheesley - NorDevCon 2014
The world needs Open Source - Ruth Cheesley - NorDevCon 2014Ruth Cheesley
Β 
A gaze into the crystal ball of Google - social, local and predictive search
A gaze into the crystal ball of Google - social, local and predictive searchA gaze into the crystal ball of Google - social, local and predictive search
A gaze into the crystal ball of Google - social, local and predictive searchRuth Cheesley
Β 
CMS Security - Ruth Cheesley - CMS Africa 2014
CMS Security - Ruth Cheesley - CMS Africa 2014CMS Security - Ruth Cheesley - CMS Africa 2014
CMS Security - Ruth Cheesley - CMS Africa 2014Ruth Cheesley
Β 
Women in Open Source - Ruth Cheesley - CMS Africa 2014
Women in Open Source - Ruth Cheesley - CMS Africa 2014Women in Open Source - Ruth Cheesley - CMS Africa 2014
Women in Open Source - Ruth Cheesley - CMS Africa 2014Ruth Cheesley
Β 
Ruth Cheesley - Joomla! World Conference 2013 - What are you trying to say (a...
Ruth Cheesley - Joomla! World Conference 2013 - What are you trying to say (a...Ruth Cheesley - Joomla! World Conference 2013 - What are you trying to say (a...
Ruth Cheesley - Joomla! World Conference 2013 - What are you trying to say (a...Ruth Cheesley
Β 
Ruth Cheesley - Joomla! World Conference 2013 - Is your business intelligent?
Ruth Cheesley - Joomla! World Conference 2013 - Is your business intelligent?Ruth Cheesley - Joomla! World Conference 2013 - Is your business intelligent?
Ruth Cheesley - Joomla! World Conference 2013 - Is your business intelligent?Ruth Cheesley
Β 
Suffolk Internet Marketing & SEO/M Specialists - Ruth Cheesley - Don't get in...
Suffolk Internet Marketing & SEO/M Specialists - Ruth Cheesley - Don't get in...Suffolk Internet Marketing & SEO/M Specialists - Ruth Cheesley - Don't get in...
Suffolk Internet Marketing & SEO/M Specialists - Ruth Cheesley - Don't get in...Ruth Cheesley
Β 
Ruth Cheesley - Joomla!Day UK - Joomla in your area
Ruth Cheesley - Joomla!Day UK - Joomla in your areaRuth Cheesley - Joomla!Day UK - Joomla in your area
Ruth Cheesley - Joomla!Day UK - Joomla in your areaRuth Cheesley
Β 
Ruth Cheesley - Joomla!Day UK - Articles are boring, long live the CCK!
Ruth Cheesley - Joomla!Day UK - Articles are boring, long live the CCK!Ruth Cheesley - Joomla!Day UK - Articles are boring, long live the CCK!
Ruth Cheesley - Joomla!Day UK - Articles are boring, long live the CCK!Ruth Cheesley
Β 

More from Ruth Cheesley (20)

Open source meets marketing - Presentation - OpenFest 2019
Open source meets marketing - Presentation - OpenFest 2019Open source meets marketing - Presentation - OpenFest 2019
Open source meets marketing - Presentation - OpenFest 2019
Β 
Data first web development
Data first web developmentData first web development
Data first web development
Β 
Integrated Marketing Strategies with Mautic
Integrated Marketing Strategies with MauticIntegrated Marketing Strategies with Mautic
Integrated Marketing Strategies with Mautic
Β 
Automating your marketing workflows in Joomla with Mautic
Automating your marketing workflows in Joomla with MauticAutomating your marketing workflows in Joomla with Mautic
Automating your marketing workflows in Joomla with Mautic
Β 
Fight for the Pixel - Innovation Martlesham - Ruth Cheesley
Fight for the Pixel - Innovation Martlesham - Ruth CheesleyFight for the Pixel - Innovation Martlesham - Ruth Cheesley
Fight for the Pixel - Innovation Martlesham - Ruth Cheesley
Β 
Custom Fields in Joomla - JoomlaDay UK 2016 - Marco Dings
Custom Fields in Joomla - JoomlaDay UK 2016 - Marco DingsCustom Fields in Joomla - JoomlaDay UK 2016 - Marco Dings
Custom Fields in Joomla - JoomlaDay UK 2016 - Marco Dings
Β 
Time to stop breaking your promises - dealing with 404's, broken URLs and pla...
Time to stop breaking your promises - dealing with 404's, broken URLs and pla...Time to stop breaking your promises - dealing with 404's, broken URLs and pla...
Time to stop breaking your promises - dealing with 404's, broken URLs and pla...
Β 
Chalk and cheese - how developers and designers can work together and not cru...
Chalk and cheese - how developers and designers can work together and not cru...Chalk and cheese - how developers and designers can work together and not cru...
Chalk and cheese - how developers and designers can work together and not cru...
Β 
Discovering Joomla! - Find out about Joomla's features
Discovering Joomla! - Find out about Joomla's featuresDiscovering Joomla! - Find out about Joomla's features
Discovering Joomla! - Find out about Joomla's features
Β 
Ruth Cheesley - Joomla World Conference 2014 - How to prove you're worth a mi...
Ruth Cheesley - Joomla World Conference 2014 - How to prove you're worth a mi...Ruth Cheesley - Joomla World Conference 2014 - How to prove you're worth a mi...
Ruth Cheesley - Joomla World Conference 2014 - How to prove you're worth a mi...
Β 
Conflict as an opportunity for growth in Open Source communities - European C...
Conflict as an opportunity for growth in Open Source communities - European C...Conflict as an opportunity for growth in Open Source communities - European C...
Conflict as an opportunity for growth in Open Source communities - European C...
Β 
The world needs Open Source - Ruth Cheesley - NorDevCon 2014
The world needs Open Source - Ruth Cheesley - NorDevCon 2014The world needs Open Source - Ruth Cheesley - NorDevCon 2014
The world needs Open Source - Ruth Cheesley - NorDevCon 2014
Β 
A gaze into the crystal ball of Google - social, local and predictive search
A gaze into the crystal ball of Google - social, local and predictive searchA gaze into the crystal ball of Google - social, local and predictive search
A gaze into the crystal ball of Google - social, local and predictive search
Β 
CMS Security - Ruth Cheesley - CMS Africa 2014
CMS Security - Ruth Cheesley - CMS Africa 2014CMS Security - Ruth Cheesley - CMS Africa 2014
CMS Security - Ruth Cheesley - CMS Africa 2014
Β 
Women in Open Source - Ruth Cheesley - CMS Africa 2014
Women in Open Source - Ruth Cheesley - CMS Africa 2014Women in Open Source - Ruth Cheesley - CMS Africa 2014
Women in Open Source - Ruth Cheesley - CMS Africa 2014
Β 
Ruth Cheesley - Joomla! World Conference 2013 - What are you trying to say (a...
Ruth Cheesley - Joomla! World Conference 2013 - What are you trying to say (a...Ruth Cheesley - Joomla! World Conference 2013 - What are you trying to say (a...
Ruth Cheesley - Joomla! World Conference 2013 - What are you trying to say (a...
Β 
Ruth Cheesley - Joomla! World Conference 2013 - Is your business intelligent?
Ruth Cheesley - Joomla! World Conference 2013 - Is your business intelligent?Ruth Cheesley - Joomla! World Conference 2013 - Is your business intelligent?
Ruth Cheesley - Joomla! World Conference 2013 - Is your business intelligent?
Β 
Suffolk Internet Marketing & SEO/M Specialists - Ruth Cheesley - Don't get in...
Suffolk Internet Marketing & SEO/M Specialists - Ruth Cheesley - Don't get in...Suffolk Internet Marketing & SEO/M Specialists - Ruth Cheesley - Don't get in...
Suffolk Internet Marketing & SEO/M Specialists - Ruth Cheesley - Don't get in...
Β 
Ruth Cheesley - Joomla!Day UK - Joomla in your area
Ruth Cheesley - Joomla!Day UK - Joomla in your areaRuth Cheesley - Joomla!Day UK - Joomla in your area
Ruth Cheesley - Joomla!Day UK - Joomla in your area
Β 
Ruth Cheesley - Joomla!Day UK - Articles are boring, long live the CCK!
Ruth Cheesley - Joomla!Day UK - Articles are boring, long live the CCK!Ruth Cheesley - Joomla!Day UK - Articles are boring, long live the CCK!
Ruth Cheesley - Joomla!Day UK - Articles are boring, long live the CCK!
Β 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
Β 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
Β 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
Β 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
Β 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
Β 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
Β 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
Β 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
Β 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
Β 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
Β 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
Β 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
Β 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
Β 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
Β 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
Β 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
Β 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
Β 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
Β 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Β 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Β 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Β 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Β 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
Β 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Β 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Β 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Β 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
Β 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Β 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Β 
Hot Sexy call girls in Panjabi Bagh πŸ” 9953056974 πŸ” Delhi escort Service
Hot Sexy call girls in Panjabi Bagh πŸ” 9953056974 πŸ” Delhi escort ServiceHot Sexy call girls in Panjabi Bagh πŸ” 9953056974 πŸ” Delhi escort Service
Hot Sexy call girls in Panjabi Bagh πŸ” 9953056974 πŸ” Delhi escort Service
Β 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Β 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
Β 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
Β 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
Β 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Β 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Β 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
Β 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
Β 

Optimising JCMS - Boost Speed & Performance

  • 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
  • 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 website Courtesy 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 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
  • 17.
  • 18. What about my website?
  • 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
  • 43. Extensions of note - CSS/JS JBetolo - Expert JCH Optimise - Int Merge, compress & Merge, compress & minify CSS/JS minify CSS/JS Correct HTTP header Background image sprites CDN-Friendly Supports @import htaccess static Option to exclude files content rules
  • 44. Will you be first across the line?