SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
Template tuning
for high performance


                           Chris Davenport




          Website performance optimisation
           for Joomla template developers
About me



Joomla Leadership Team
Production Working Group
Documentation Coordinator


Web developer
Clickingmad Limited
www.clickingmad.com
Quick overview


Template tuning for high performance:
Optimisation for Joomla template developers
(not looking at things like PHP, SQL or server optimisation)


    Tools to measure performance

    Optimising JavaScript

    Optimising CSS

    Optimising images

    Optimisation process
Performance matters




+500 ms   -20% traffic     @ Google
+100 ms   -1% sales       @ Amazon
Google takes site speed into account
What tools should you use?

You can't manage control what you can't measure



                +
Using the Firebug Net Panel
Using YSlow




http://developer.yahoo.com/yslow/
Web page timeline
                                     c. 20%    c. 80%




                                              80% of the time to render a page
                                               is waiting for files to download


This is the only time where
Joomla Is directly involved
Anatomy of a single request



                            Where is www.joomla.org?
                                   Cached                       DNS server
                                206.123.111.172
User's web browser




                     Opens TCP connectionre-used
                              Connection to 206.123.111.172




                        Request resource: GET / HTTP/1.1
                                                                   Server
                                                                     at
                      Server sends requested resource back    206.123.111.172



                              Closes TCP connection
                              Connection re-used
So, why the staircase?
Optimising JavaScript
                       What's the problem?




                                              CSS


JavaScript

                                                    CSS




  JavaScript blocks other browser activity
Optimising JavaScript
         Parallel download limits




http://www.browserscope.org/
Optimising JavaScript
                       Older browsers have lower limits




Expect at least 25% of visitors to have
    low parallel download limits
Optimising JavaScript
                  Move JavaScript to the end




             JavaScript here




Moved here
Optimising JavaScript
Move JavaScript to the end
Optimising JavaScript
                   Use Google AJAX Libraries API




                                 Make sure you request
                                   the right version




http://code.google.com/apis/ajaxlibs/documentation/
Optimising JavaScript
                                        Remove unused JavaScript


   For example, if you don't need MooTools, remove it.




Note: This code can be placed anywhere in the template index.php to prevent MooTools from loading.
Optimising JavaScript
Minify JavaScript
Optimising JavaScript
                                 Minify and compress JavaScript


http://code.google.com/p/minify/
Download the Minify zip file

Extract into your template root directory

Set paths in min/config.php

Set up groups of files in min/groupsConfig.php
Optimising JavaScript
                                    Minify and compress JavaScript


Modify your template index.php




Note: Minify also sets far future expiry date headers
Optimising CSS



Move CSS to the head



Remove unnecessary CSS rules



Merge, minify and compress CSS files
    (Minify script used for JavaScript also supports CSS)


Consider using a Content Delivery Network (CDN)
Optimising CSS
Optimising images



Start downloading large images early


Merge and compress image files


Serve images from a cookie-free domain


Consider using a Content Delivery Network (CDN)
Optimising images
                                              Use CSS sprites



Sprites reduce the number of HTTP requests
Removes latency when applying hover effects
Optimising images
                            Generating CSS sprites



                                    http://spritegen.website-performance.org/


Upload zip file containing images




                                                  Open-source
                                                  Written in PHP
                                                  Can be run locally
Optimising images
Use Smush.it ™
Optimising images
Use Smush.it ™
Other Optimisations
Content Delivery Networks
Suggested optimisation process

At all times during development
    Keep CSS in the head and JavaScript in the tail

During final stages of site build
   Create CSS sprite images
   Update CSS to use the sprites and test
   Crush images
   Minify and compress CSS
     Update template index.php and test
   Minify and compress JavaScript
     Update template index.php and test

After site has gone live
   Evaluate, reflect and improve
Questions?
http://clickingmad.com
This presentation is available for use under the
      Joomla! Electronic Documentation License
             http://docs.joomla.org/JEDL




Copyright © 2010 Chris Davenport

Mais conteúdo relacionado

Mais procurados

Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
paudelvinay
 
High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010
Barry Abrahamson
 
HTML5 CSS3 The Future of Web Technologies
HTML5 CSS3 The Future of Web TechnologiesHTML5 CSS3 The Future of Web Technologies
HTML5 CSS3 The Future of Web Technologies
hoctudau
 
Front end optimization
Front end optimizationFront end optimization
Front end optimization
Abhishek Anand
 

Mais procurados (20)

Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
 
WordPress Performance 101
WordPress Performance 101WordPress Performance 101
WordPress Performance 101
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
 
High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010
 
WordPress Optimization with Litespeed Cache #wpjkt14
WordPress Optimization with Litespeed Cache  #wpjkt14WordPress Optimization with Litespeed Cache  #wpjkt14
WordPress Optimization with Litespeed Cache #wpjkt14
 
Wordpress horsepower
Wordpress horsepowerWordpress horsepower
Wordpress horsepower
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
 
The Power of a Video Library - WordCamp Raleigh
The  Power of a Video Library - WordCamp RaleighThe  Power of a Video Library - WordCamp Raleigh
The Power of a Video Library - WordCamp Raleigh
 
Presentation1
Presentation1Presentation1
Presentation1
 
Improving Drupal Performances
Improving Drupal PerformancesImproving Drupal Performances
Improving Drupal Performances
 
Web Performance: 3 Stages to Success
Web Performance: 3 Stages to SuccessWeb Performance: 3 Stages to Success
Web Performance: 3 Stages to Success
 
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
Need for Speed: Website Edition – Website Optimization Tools and Techniques P...
 
Website speed optimization guide for technically advanced webmasters
Website speed optimization guide for technically advanced webmastersWebsite speed optimization guide for technically advanced webmasters
Website speed optimization guide for technically advanced webmasters
 
HTML5 CSS3 The Future of Web Technologies
HTML5 CSS3 The Future of Web TechnologiesHTML5 CSS3 The Future of Web Technologies
HTML5 CSS3 The Future of Web Technologies
 
Heavy Web Optimization: Frontend
Heavy Web Optimization: FrontendHeavy Web Optimization: Frontend
Heavy Web Optimization: Frontend
 
Administer WordPress with WP-CLI
Administer WordPress with WP-CLIAdminister WordPress with WP-CLI
Administer WordPress with WP-CLI
 
Front end optimization
Front end optimizationFront end optimization
Front end optimization
 
Front-End Performance Optimizing
Front-End Performance OptimizingFront-End Performance Optimizing
Front-End Performance Optimizing
 
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
 
Optimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get thereOptimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing Your WordPress Site: Why speed matters, and how to get there
 

Destaque

The Young Science Graduate - Empathy Map & Problem Statement
The Young Science Graduate - Empathy Map & Problem Statement The Young Science Graduate - Empathy Map & Problem Statement
The Young Science Graduate - Empathy Map & Problem Statement
sasharonh
 
MANAGEMENT TRAINEE PROGRAM-FINANCE
MANAGEMENT TRAINEE PROGRAM-FINANCEMANAGEMENT TRAINEE PROGRAM-FINANCE
MANAGEMENT TRAINEE PROGRAM-FINANCE
Swati Iyer
 
Relationships matter: How to build, nurture, and transform your talent pipeli...
Relationships matter: How to build, nurture, and transform your talent pipeli...Relationships matter: How to build, nurture, and transform your talent pipeli...
Relationships matter: How to build, nurture, and transform your talent pipeli...
LinkedIn Talent Solutions
 

Destaque (9)

Pipeline to Talent, Davine Bey, Cornell University
Pipeline to Talent, Davine Bey, Cornell UniversityPipeline to Talent, Davine Bey, Cornell University
Pipeline to Talent, Davine Bey, Cornell University
 
The Young Science Graduate - Empathy Map & Problem Statement
The Young Science Graduate - Empathy Map & Problem Statement The Young Science Graduate - Empathy Map & Problem Statement
The Young Science Graduate - Empathy Map & Problem Statement
 
Skills for the Future - Nurturing Worcestershire's Treasures
Skills for the Future - Nurturing Worcestershire's TreasuresSkills for the Future - Nurturing Worcestershire's Treasures
Skills for the Future - Nurturing Worcestershire's Treasures
 
MANAGEMENT TRAINEE PROGRAM-FINANCE
MANAGEMENT TRAINEE PROGRAM-FINANCEMANAGEMENT TRAINEE PROGRAM-FINANCE
MANAGEMENT TRAINEE PROGRAM-FINANCE
 
Workshop Talent 2.0, Career Management 2.0 & Outplacement 2.0 Explored & Exp...
Workshop Talent 2.0, Career Management 2.0 & Outplacement 2.0  Explored & Exp...Workshop Talent 2.0, Career Management 2.0 & Outplacement 2.0  Explored & Exp...
Workshop Talent 2.0, Career Management 2.0 & Outplacement 2.0 Explored & Exp...
 
Relationships matter: How to build, nurture, and transform your talent pipeli...
Relationships matter: How to build, nurture, and transform your talent pipeli...Relationships matter: How to build, nurture, and transform your talent pipeli...
Relationships matter: How to build, nurture, and transform your talent pipeli...
 
How to Build a World Class Talent Pipeline | Webinar
How to Build a World Class Talent Pipeline | WebinarHow to Build a World Class Talent Pipeline | Webinar
How to Build a World Class Talent Pipeline | Webinar
 
Talent Pipeline Optimisation: Ensuring Your Talented People Realise Their Po...
Talent Pipeline Optimisation:  Ensuring Your Talented People Realise Their Po...Talent Pipeline Optimisation:  Ensuring Your Talented People Realise Their Po...
Talent Pipeline Optimisation: Ensuring Your Talented People Realise Their Po...
 
Employee First Customer Second
Employee First Customer SecondEmployee First Customer Second
Employee First Customer Second
 

Semelhante a Template tuning for high performance

AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
Tuenti
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and Scalability
Ashok Modi
 
Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)
Artur Cistov
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery Internals
Artur Cistov
 
High performance website
High performance websiteHigh performance website
High performance website
Chamnap Chhorn
 
Web Performance 101 - Gil Givati
Web Performance 101 - Gil GivatiWeb Performance 101 - Gil Givati
Web Performance 101 - Gil Givati
Mika Josting
 

Semelhante a Template tuning for high performance (20)

AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
 
Ajax For Scalability
Ajax For ScalabilityAjax For Scalability
Ajax For Scalability
 
Drupal Frontend Performance and Scalability
Drupal Frontend Performance and ScalabilityDrupal Frontend Performance and Scalability
Drupal Frontend Performance and Scalability
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
DrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizingDrupalCampLA 2011 - Drupal frontend-optimizing
DrupalCampLA 2011 - Drupal frontend-optimizing
 
Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)Front-end optimisation & jQuery Internals (Pycon)
Front-end optimisation & jQuery Internals (Pycon)
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 201210 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
 
Front-end optimisation & jQuery Internals
Front-end optimisation & jQuery InternalsFront-end optimisation & jQuery Internals
Front-end optimisation & jQuery Internals
 
High performance website
High performance websiteHigh performance website
High performance website
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
 
Web Performance 101 - Gil Givati
Web Performance 101 - Gil GivatiWeb Performance 101 - Gil Givati
Web Performance 101 - Gil Givati
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
How to optimize your Magento store
How to optimize your Magento store How to optimize your Magento store
How to optimize your Magento store
 
Making Chrome Extension with AngularJS
Making Chrome Extension with AngularJSMaking Chrome Extension with AngularJS
Making Chrome Extension with AngularJS
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress Horsepower
 

Mais de Chris Davenport

Mais de Chris Davenport (10)

JoomlaDay UK 2016 Presentation
JoomlaDay UK 2016 PresentationJoomlaDay UK 2016 Presentation
JoomlaDay UK 2016 Presentation
 
Leave this to me. I'm British. I know how to queue.
Leave this to me.  I'm British.  I know how to queue.Leave this to me.  I'm British.  I know how to queue.
Leave this to me. I'm British. I know how to queue.
 
Joomla in a world of ubiquitous computing
Joomla in a world of ubiquitous computingJoomla in a world of ubiquitous computing
Joomla in a world of ubiquitous computing
 
Taking a REST and being HAPI
Taking a REST and being HAPITaking a REST and being HAPI
Taking a REST and being HAPI
 
JAB2012 Smart Search Presentation
JAB2012 Smart Search PresentationJAB2012 Smart Search Presentation
JAB2012 Smart Search Presentation
 
Template changes for Joomla 1.6
Template changes for Joomla 1.6Template changes for Joomla 1.6
Template changes for Joomla 1.6
 
Joomla PLT Summit Feedback
Joomla PLT Summit FeedbackJoomla PLT Summit Feedback
Joomla PLT Summit Feedback
 
Joomla Day UK 2009 Template Design Presentation
Joomla Day UK 2009 Template Design PresentationJoomla Day UK 2009 Template Design Presentation
Joomla Day UK 2009 Template Design Presentation
 
Joomla Day UK 2009 Menus Presentation
Joomla Day UK 2009 Menus PresentationJoomla Day UK 2009 Menus Presentation
Joomla Day UK 2009 Menus Presentation
 
Joomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic TemplatesJoomla Day UK 2009 Basic Templates
Joomla Day UK 2009 Basic Templates
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Template tuning for high performance