SlideShare a Scribd company logo
Optimize
Everything!
JoomlaDay Chicago 2019
Jason Nickerson
GET SOCIAL
SHARE THE JOOMLA LOVE
#jday19chi
PART ONE:
DESIGNING FOR PERFORMANCE
Jason Nickerson
OPTIMIZE EVERYTHING
WEB DESIGN IN THE 90’s
Jason Nickerson
5
WEB DESIGN IN THE 2000’s
Jason Nickerson
6
WEB DESIGN 2012+
Jason Nickerson
DESIGNING FOR PERFOMANCE: HOSTING
Jason Nickerson
HOSTING
Joomla friendly hosting
Shared hosting plans
Dedicated servers
Cloud based servers
Price vs Performance
Cloud Access
Rochen
A2 Hosting
HostPapa
No sharing of resources
Security
Flexibility
Performance
Scaling
Unlimited is a lie
All shared hosts oversell
You are not number one
You don’t matter
You will out grow
Cheap is never the answer
Expensive isn’t better
Research
Know what you need
DESIGNING FOR PERFOMANCE: HOSTING
Jason Nickerson
PHP 7
DESIGNING FOR PERFOMANCE: HOSTING
Jason NickersonOptimize Everything
PHP7 IS 2 TIMES FASTER THAN PHP 5
DESIGNING FOR PERFORMANCE: IMAGES
Jason Nickerson
IMAGES
IMAGES CAN BE RESPONSIBLE
FOR UP TO
70%
OF A WEBSITES LOAD TIME
DESIGNING FOR PERFORMANCE: IMAGES
Jason Nickerson
IMAGE COMPRESSION:
Image Compression is
the most common
solution for optimization
of pictures, but there are
other aspects to take
into account before
optimizing your images.
ImageRecycle.com
On the fly image optimization for
Joomla with the ImageRecycle
Joomla Component.
DESIGNING FOR PERFORMANCE: IMAGES
Jason Nickerson
DESIGNING FOR PERFORMANCE: IMAGES
Jason Nickerson
SIZE
MATTERS
DESIGNING FOR PERFORMANCE: IMAGES
Jason NickersonDesigning for Performance with Joomla
BACKGROUND IMAGES
1280 x 863 JPG : 168 KB
DESIGNING FOR PERFORMANCE: IMAGES
Jason NickersonDesigning for Performance with Joomla
BACKGROUND SIZE:
COVER
Scale the background
image to be as large as
possible so that the
background area is
completely covered by
the background image.
BACKGROUND SIZE: COVER
DIV {
background: url (demo.jpg);
background-size:cover;
}
DESIGNING FOR PERFORMANCE: IMAGES
Jason NickersonDesigning for Performance with Joomla
BACKGROUND SIZE: COVER
211 KB SAVED!
DESIGNING FOR PERFORMANCE: IMAGES
Jason Nickerson
THINK
MOBILE
DESIGNING FOR PERFORMANCE: IMAGES
Jason NickersonDesigning for Performance with Joomla
HTML5 PICTURE
Using the HTML5 picture
syntax to deliver various
sizes of images per
screen size is a quick
and easy method to
save load time.
USING THE <PICTURE> SYNTAX
<picture>
<source
media="(min-width: 650px)"
srcset="images/kitten-stretching.png">
<source
media="(min-width: 465px)"
srcset="images/kitten-sitting.png">
<img
src="images/kitten-curled.png"
alt="a cute kitten">
</picture>
DESIGNING FOR PERFORMANCE: IMAGES
Jason NickersonDesigning for Performance with Joomla
ADAPTIVE IMAGES
Adaptive Images
detects your visitor's
screen size and
automatically creates
caches and delivers
device appropriate re-
scaled versions of your
web page's embedded
HTML images.
DESIGNING FOR PERFORMANCE: IMAGES
SOLUTIONS:
XT Adaptive Images
XT Adaptive Images for Joomla is a port of
adaptive-images.com script for Joomla
Jason Nickerson
Adaptive Images
adaptive-images.com offers a PHP and Javascript
solution for full adaptive images
DESIGNING FOR PERFORMANCE: VIDEOS
Jason Nickerson
VIDEOS
EMBED CODES CAN BE RESPONSIBLE
FOR UP TO
500KB
OF A WEBSITES LOAD TIME
DESIGNING FOR PERFORMANCE: VIDEOS
Jason Nickerson
DESIGNING FOR PERFORMANCE: VIDEOS
Jason Nickerson
EMBED ISSUES:
Embed codes allow us
to use videos that we
have on our Video
Channels such as
YouTube and Vimeo,
but what are the
known issues with
Embed codes?
EXTERNAL CALL
Embed codes rely on the Video Providers delivery
PRE-LOADING
Pre-loading the videos have a huge impact of
performance.
NOT RESPONSIVE
Embed codes use a fixed with iframe or source
call that is not responsive by default
DESIGNING FOR PERFORMANCE: VIDEOS
Jason Nickerson
PRE-LOADING:
The pre-loading and
responsive issue can be
resolved with HTML5,
CSS, and just a drop of
JavaScript to cancel the
pre-load of the video and
only display the preview
image until clicked.
PRE-LOADING: HTML
<div class="youtube-player"
data-id="VIDEO_ID"></div>
DESIGNING FOR PERFORMANCE: VIDEOS
Jason Nickerson
PRE-LOADING: JS
document.addEventListener("DO
MContentLoaded",
function() {
var div, n,
v =
document.getElementsByClassNa
me("youtube-player");
for (n = 0; n <
v.length; n++) {
div =
document.createElement("div")
;
PRE-LOADING:
The pre-loading and
responsive issue can be
resolved with HTML5,
CSS, and just a drop of
JavaScript to cancel the
pre-load of the video and
only display the preview
image until clicked.
DESIGNING FOR PERFORMANCE: VIDEOS
Jason Nickerson
PRE-LOADING: CSS
.youtube-player {
position: relative;
padding-bottom: 56.23%;
/* Use 75% for 4:3 videos
*/
height: 0;
overflow: hidden;
max-width: 100%;
background: #000;
margin: 5px;
}
.youtube-player iframe {
PRE-LOADING:
The pre-loading and
responsive issue can be
resolved with HTML5,
CSS, and just a drop of
JavaScript to cancel the
pre-load of the video and
only display the preview
image until clicked.
DESIGNING FOR PERFORMANCE: VIDEOS
Jason Nickerson
DOWNLOAD THE FREE PLUGIN
Quick YouTube
DESIGNING FOR PERFORMANCE: VIDEOS
PRE-LOADING:
The pre-loading and
responsive issue can be
resolved with HTML5,
CSS, and just a drop of
JavaScript to cancel the
pre-load of the video
and only display the
preview image until
clicked.
Jason Nickerson
YOUTUBE LITE JS
http://www.labnol.org/
internet/light-youtube-
embeds/27941/
HTML5 PRE LOAD:
HTML5 allow us to use a
simple syntax to display
MP4 videos. Using the
pre-load ’none’ option
with a poster image will
give better performance.
PRE-LOADING: HTML
<video class="responsive"
controls preload="none"
width="640" height="264"
poster="http://video-
js.zencoder.com/oceans-clip.png">
<source src="http://video-
js.zencoder.com/oceans-clip.mp4"
type="video/mp4" />
</video>
DESIGNING FOR PERFORMANCE: VIDEOS
Jason Nickerson
DESIGNING FOR PERFORMANCE: CSS3
@MEDIA USEAGE:
Breakpoints are most
used for devices and by
calling the device CSS
for the desktop view is
only bloating your load.
The solution is as easy
as creating a separate
breakpoint.css and
using a @media to call it
only when needed!
BREAKPOINT.CSS CALL
<link rel='stylesheet'
media='(max-width: 1200px)'
href='css/responsive.css' />
Jason Nickerson
DESIGNING FOR PERFORMANCE: EXTERNAL CALLS
Jason Nickerson
EXTERNAL CALLS
EXTERNAL CALLS:
External Calls from
your site can be a huge
issue when it comes to
website performance.
You should always
remove any un-
needed 3rd party and
duplicate JavaScript
calls.
DESIGNING FOR PERFORMANCE: EXTERNAL CALLS
WIDGETS
Widgets from other sites can make a huge impact
DUPLICATE JAVASCRIPT CALLS
Make sure there are not multiple calls to the same
JavaScript library.
3RD PARTY CALLS
3rd party codes that make external calls
Jason Nickerson
DESIGNING FOR PERFORMANCE
PART TWO:
Making the lower case god happy
Jason Nickerson
jayjoomler jnickersontampaJason Nickerson
https://developers.google.com/speed/pagespeed/insights/
Jason Nickerson
Jason Nickerson
Optimization Score
• Good: The page applies most performance
best practices and there is little headroom
for further optimization. The page scores 80
or above.
• Medium: The page is missing some
common performance optimizations and
there is medium headroom for
optimization. The page scores between 60
and 79.
• Low: The page is not optimized and there is
fairly large headroom for optimization. The
page scores between 0 and 59.
Jason Nickerson
GOOGLE PAGE SPEED
• Avoid landing page redirects
• Enable compression
• Improve server response time
• Leverage browser caching
• Minify resources
• Optimize images
• Optimize CSS Delivery
• Prioritize visible content
• Remove render-blocking JavaScript
GOOGLE PAGE SPEED
Jason Nickerson
What google wants
Avoid redirects
• example.com → m.example.com/home -
multi-roundtrip penalty for mobile users.
• example.com → www.example.com →
m.example.com - very slow mobile
experience.
Jason Nickerson
GOOGLE PAGE SPEED
Enable Compression
Joomla Global Configuration Settings
Jason Nickerson
GOOGLE PAGE SPEED
Minify Code
Jason Nickerson
GOOGLE PAGE SPEED
Enable Cache
Joomla Global Configuration Settings
Jason Nickerson
GOOGLE PAGE SPEED
Enable Cache
Server side cache with cPanel
Jason Nickerson
GOOGLE PAGE SPEED
Image optimization
Jason Nickerson
GOOGLE PAGE SPEED
Deferred Stylesheets
<html>
  <head>
    <style>
      .blue{color:blue;}
    </style>
    </head>
  <body>
    <div class="blue">
      Hello, world!
    </div>
    <noscript id="deferred-styles">
      <link rel="stylesheet" type="text/css" href="small.css"/>
    </noscript>
    <script>
      var loadDeferredStyles = function() {
        var addStylesNode = document.getElementById("deferred-styles");
        var replacement = document.createElement("div");
        replacement.innerHTML = addStylesNode.textContent;
        document.body.appendChild(replacement)
        addStylesNode.parentElement.removeChild(addStylesNode);
      };
      var raf = window.requestAnimationFrame ||
window.mozRequestAnimationFrame ||
          window.webkitRequestAnimationFrame ||
window.msRequestAnimationFrame;
      if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); });
      else window.addEventListener('load', loadDeferredStyles);
    </script>
  </body>
</html>
Jason Nickerson
GOOGLE PAGE SPEED
Javascript async
By default JavaScript blocks DOM construction and thus
delays the time to first render. To prevent JavaScript from
blocking the parser we recommend using the HTML async
attribute on external scripts.
<script async src=“my.js">
Jason Nickerson
GOOGLE PAGE SPEED
Beware of CDN loads
Jason Nickerson
GOOGLE PAGE SPEED
Optimization Extensions
Jason Nickerson
Optimization Extensions
Jason Nickerson
Jason Nickerson
THANK YOU
jayjoomler jnickersontampaJason Nickerson
jayjoomler jayblaqtampaJason Nickerson
QUESTIONS
?
jayjoomler jnickersontampaJason Nickerson

More Related Content

What's hot

Library 2.0 : Weblogs : Wordpress
Library 2.0 : Weblogs : WordpressLibrary 2.0 : Weblogs : Wordpress
Library 2.0 : Weblogs : Wordpress
Nurhazman Abdul Aziz
 
Build the Perfect WordPress Website
Build the Perfect WordPress WebsiteBuild the Perfect WordPress Website
Build the Perfect WordPress Website
Sinergia Labs
 
Unrestricted plr advance word press mastery kit
Unrestricted plr advance word press mastery kitUnrestricted plr advance word press mastery kit
Unrestricted plr advance word press mastery kit
jad tahouri
 
Video marketing-101-mass challenge-final-version
Video marketing-101-mass challenge-final-versionVideo marketing-101-mass challenge-final-version
Video marketing-101-mass challenge-final-version
Yelena Kadeykina
 
WordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter MeadWordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter Mead
Peter Mead
 
Use flash to create a fading image slideshow (1)
Use flash to create a fading image slideshow (1)Use flash to create a fading image slideshow (1)
Use flash to create a fading image slideshow (1)
Ashley Taylor
 
Amaze showcase review
Amaze showcase reviewAmaze showcase review
Amaze showcase review
okduocthoi
 
Child Theming: An Introduction to Wordpress Theme Development with Wordpres...
Child Theming: An Introduction to  Wordpress Theme Development  with Wordpres...Child Theming: An Introduction to  Wordpress Theme Development  with Wordpres...
Child Theming: An Introduction to Wordpress Theme Development with Wordpres...
Aban Nesta
 
Prototyping Adobe AIR Applications with Fireworks CS4
Prototyping Adobe AIR Applications with Fireworks CS4Prototyping Adobe AIR Applications with Fireworks CS4
Prototyping Adobe AIR Applications with Fireworks CS4
Juan Sanchez
 
GoDaddy Guide to cPanel and WordPress
GoDaddy Guide to cPanel and WordPressGoDaddy Guide to cPanel and WordPress
GoDaddy Guide to cPanel and WordPress
GoDaddy
 
Collections Amplified: Exhibiting data using DSpace, Viewshare and Google Fus...
Collections Amplified: Exhibiting data using DSpace, Viewshare and Google Fus...Collections Amplified: Exhibiting data using DSpace, Viewshare and Google Fus...
Collections Amplified: Exhibiting data using DSpace, Viewshare and Google Fus...
Meghan Frazer
 
Seo Wordpress Blogs
Seo Wordpress BlogsSeo Wordpress Blogs
Seo Wordpress Blogs
Casey Bradford
 
Question 6
Question 6Question 6
Question 6
finnleyyy
 
20 Tips to Improving WordPress Website - for Beginners-Aus-2017
20 Tips to Improving WordPress Website - for Beginners-Aus-201720 Tips to Improving WordPress Website - for Beginners-Aus-2017
20 Tips to Improving WordPress Website - for Beginners-Aus-2017
TRB Design, Inc.
 
Themes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUp
Themes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUpThemes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUp
Themes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUp
DaytonWP
 
nicoleregowebsite
nicoleregowebsitenicoleregowebsite
nicoleregowebsite
nicolerego01
 
Madsense reborn 2
Madsense reborn 2Madsense reborn 2
Madsense reborn 2
Iman Izy
 

What's hot (17)

Library 2.0 : Weblogs : Wordpress
Library 2.0 : Weblogs : WordpressLibrary 2.0 : Weblogs : Wordpress
Library 2.0 : Weblogs : Wordpress
 
Build the Perfect WordPress Website
Build the Perfect WordPress WebsiteBuild the Perfect WordPress Website
Build the Perfect WordPress Website
 
Unrestricted plr advance word press mastery kit
Unrestricted plr advance word press mastery kitUnrestricted plr advance word press mastery kit
Unrestricted plr advance word press mastery kit
 
Video marketing-101-mass challenge-final-version
Video marketing-101-mass challenge-final-versionVideo marketing-101-mass challenge-final-version
Video marketing-101-mass challenge-final-version
 
WordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter MeadWordPress SEO Essentials - by Peter Mead
WordPress SEO Essentials - by Peter Mead
 
Use flash to create a fading image slideshow (1)
Use flash to create a fading image slideshow (1)Use flash to create a fading image slideshow (1)
Use flash to create a fading image slideshow (1)
 
Amaze showcase review
Amaze showcase reviewAmaze showcase review
Amaze showcase review
 
Child Theming: An Introduction to Wordpress Theme Development with Wordpres...
Child Theming: An Introduction to  Wordpress Theme Development  with Wordpres...Child Theming: An Introduction to  Wordpress Theme Development  with Wordpres...
Child Theming: An Introduction to Wordpress Theme Development with Wordpres...
 
Prototyping Adobe AIR Applications with Fireworks CS4
Prototyping Adobe AIR Applications with Fireworks CS4Prototyping Adobe AIR Applications with Fireworks CS4
Prototyping Adobe AIR Applications with Fireworks CS4
 
GoDaddy Guide to cPanel and WordPress
GoDaddy Guide to cPanel and WordPressGoDaddy Guide to cPanel and WordPress
GoDaddy Guide to cPanel and WordPress
 
Collections Amplified: Exhibiting data using DSpace, Viewshare and Google Fus...
Collections Amplified: Exhibiting data using DSpace, Viewshare and Google Fus...Collections Amplified: Exhibiting data using DSpace, Viewshare and Google Fus...
Collections Amplified: Exhibiting data using DSpace, Viewshare and Google Fus...
 
Seo Wordpress Blogs
Seo Wordpress BlogsSeo Wordpress Blogs
Seo Wordpress Blogs
 
Question 6
Question 6Question 6
Question 6
 
20 Tips to Improving WordPress Website - for Beginners-Aus-2017
20 Tips to Improving WordPress Website - for Beginners-Aus-201720 Tips to Improving WordPress Website - for Beginners-Aus-2017
20 Tips to Improving WordPress Website - for Beginners-Aus-2017
 
Themes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUp
Themes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUpThemes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUp
Themes: What they Are - How To Use 'Em - DaytonWP November 2012 MeetUp
 
nicoleregowebsite
nicoleregowebsitenicoleregowebsite
nicoleregowebsite
 
Madsense reborn 2
Madsense reborn 2Madsense reborn 2
Madsense reborn 2
 

Similar to Optimize Everything!

Fronteers 2012 - Lessons learned from building a SAAS app
Fronteers 2012 - Lessons learned from building a SAAS appFronteers 2012 - Lessons learned from building a SAAS app
Fronteers 2012 - Lessons learned from building a SAAS app
Goodbytes
 
Static site gen talk
Static site gen talkStatic site gen talk
Static site gen talk
Ben Adam
 
Web components
Web componentsWeb components
Web components
Arvind Ravulavaru
 
Optimizing web performance (Fronteers edition)
Optimizing web performance (Fronteers edition)Optimizing web performance (Fronteers edition)
Optimizing web performance (Fronteers edition)
Dave Olsen
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
CgColors
 
2022.04 - CSS Day IT - Images Optimisation 4.0
2022.04 - CSS Day IT - Images Optimisation 4.02022.04 - CSS Day IT - Images Optimisation 4.0
2022.04 - CSS Day IT - Images Optimisation 4.0
Andrea Verlicchi
 
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
Stephen Bell
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
Dave Olsen
 
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
WPO Israel Meetup - Mobile Web Performance slides by Steve SoudersWPO Israel Meetup - Mobile Web Performance slides by Steve Souders
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
Gil Givati
 
Wordpress Page Load Speed - Kenneth sytian
Wordpress Page Load Speed - Kenneth sytianWordpress Page Load Speed - Kenneth sytian
Wordpress Page Load Speed - Kenneth sytian
Grant Merriel
 
Search Oxford March 2022 - Most common ecommerce mistakes that are killing yo...
Search Oxford March 2022 - Most common ecommerce mistakes that are killing yo...Search Oxford March 2022 - Most common ecommerce mistakes that are killing yo...
Search Oxford March 2022 - Most common ecommerce mistakes that are killing yo...
Izabela Wisniewska
 
Responsive Enhancement
Responsive EnhancementResponsive Enhancement
Responsive Enhancement
Sven Wolfermann
 
Design4Drupal Boston 2013 - Bumps in the Road to Responsive
Design4Drupal Boston 2013 - Bumps in the Road to ResponsiveDesign4Drupal Boston 2013 - Bumps in the Road to Responsive
Design4Drupal Boston 2013 - Bumps in the Road to Responsive
Salem Ghoweri
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
Dave Olsen
 
Speed!
Speed!Speed!
Delivering Responsive Images
Delivering Responsive Images Delivering Responsive Images
Delivering Responsive Images
Cloudinary
 
Imagesandvideo tallinn
Imagesandvideo tallinnImagesandvideo tallinn
Imagesandvideo tallinn
Doug Sillars
 
Imagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetupImagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetup
Doug Sillars
 
2 Seconds is the New Slow - Chris Simmance - under2
2 Seconds is the New Slow -  Chris Simmance - under22 Seconds is the New Slow -  Chris Simmance - under2
2 Seconds is the New Slow - Chris Simmance - under2
Chris Simmance
 
Imagesandvideo stockholm fastandbeautiful
Imagesandvideo stockholm fastandbeautifulImagesandvideo stockholm fastandbeautiful
Imagesandvideo stockholm fastandbeautiful
Doug Sillars
 

Similar to Optimize Everything! (20)

Fronteers 2012 - Lessons learned from building a SAAS app
Fronteers 2012 - Lessons learned from building a SAAS appFronteers 2012 - Lessons learned from building a SAAS app
Fronteers 2012 - Lessons learned from building a SAAS app
 
Static site gen talk
Static site gen talkStatic site gen talk
Static site gen talk
 
Web components
Web componentsWeb components
Web components
 
Optimizing web performance (Fronteers edition)
Optimizing web performance (Fronteers edition)Optimizing web performance (Fronteers edition)
Optimizing web performance (Fronteers edition)
 
Minimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tipsMinimize website page loading time – 20+ advanced SEO tips
Minimize website page loading time – 20+ advanced SEO tips
 
2022.04 - CSS Day IT - Images Optimisation 4.0
2022.04 - CSS Day IT - Images Optimisation 4.02022.04 - CSS Day IT - Images Optimisation 4.0
2022.04 - CSS Day IT - Images Optimisation 4.0
 
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
 
Measuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb EditionMeasuring Web Performance - HighEdWeb Edition
Measuring Web Performance - HighEdWeb Edition
 
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
WPO Israel Meetup - Mobile Web Performance slides by Steve SoudersWPO Israel Meetup - Mobile Web Performance slides by Steve Souders
WPO Israel Meetup - Mobile Web Performance slides by Steve Souders
 
Wordpress Page Load Speed - Kenneth sytian
Wordpress Page Load Speed - Kenneth sytianWordpress Page Load Speed - Kenneth sytian
Wordpress Page Load Speed - Kenneth sytian
 
Search Oxford March 2022 - Most common ecommerce mistakes that are killing yo...
Search Oxford March 2022 - Most common ecommerce mistakes that are killing yo...Search Oxford March 2022 - Most common ecommerce mistakes that are killing yo...
Search Oxford March 2022 - Most common ecommerce mistakes that are killing yo...
 
Responsive Enhancement
Responsive EnhancementResponsive Enhancement
Responsive Enhancement
 
Design4Drupal Boston 2013 - Bumps in the Road to Responsive
Design4Drupal Boston 2013 - Bumps in the Road to ResponsiveDesign4Drupal Boston 2013 - Bumps in the Road to Responsive
Design4Drupal Boston 2013 - Bumps in the Road to Responsive
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
 
Speed!
Speed!Speed!
Speed!
 
Delivering Responsive Images
Delivering Responsive Images Delivering Responsive Images
Delivering Responsive Images
 
Imagesandvideo tallinn
Imagesandvideo tallinnImagesandvideo tallinn
Imagesandvideo tallinn
 
Imagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetupImagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetup
 
2 Seconds is the New Slow - Chris Simmance - under2
2 Seconds is the New Slow -  Chris Simmance - under22 Seconds is the New Slow -  Chris Simmance - under2
2 Seconds is the New Slow - Chris Simmance - under2
 
Imagesandvideo stockholm fastandbeautiful
Imagesandvideo stockholm fastandbeautifulImagesandvideo stockholm fastandbeautiful
Imagesandvideo stockholm fastandbeautiful
 

Recently uploaded

Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
OECD Directorate for Financial and Enterprise Affairs
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
OECD Directorate for Financial and Enterprise Affairs
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
OECD Directorate for Financial and Enterprise Affairs
 
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
OECD Directorate for Financial and Enterprise Affairs
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
OECD Directorate for Financial and Enterprise Affairs
 
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdfWhy Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Ben Linders
 
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
gpww3sf4
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
ToshihiroIto4
 
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussionArtificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
OECD Directorate for Financial and Enterprise Affairs
 
Disaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other usesDisaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other uses
RIDHIMAGARG21
 
XP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to LeadershipXP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to Leadership
samililja
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
artemacademy2
 
The remarkable life of Sir Mokshagundam Visvesvaraya.pptx
The remarkable life of Sir Mokshagundam Visvesvaraya.pptxThe remarkable life of Sir Mokshagundam Visvesvaraya.pptx
The remarkable life of Sir Mokshagundam Visvesvaraya.pptx
JiteshKumarChoudhary2
 
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussionArtificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
OECD Directorate for Financial and Enterprise Affairs
 
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussionPro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussionPro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
OECD Directorate for Financial and Enterprise Affairs
 
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
kekzed
 

Recently uploaded (20)

Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...Competition and Regulation in Professions and Occupations – ROBSON – June 202...
Competition and Regulation in Professions and Occupations – ROBSON – June 202...
 
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
 
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
The Intersection between Competition and Data Privacy – COLANGELO – June 2024...
 
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
Artificial Intelligence, Data and Competition – ČORBA – June 2024 OECD discus...
 
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
The Intersection between Competition and Data Privacy – CAPEL – June 2024 OEC...
 
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdfWhy Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
Why Psychological Safety Matters for Software Teams - ACE 2024 - Ben Linders.pdf
 
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
原版制作贝德福特大学毕业证(bedfordhire毕业证)硕士文凭原版一模一样
 
ASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdfASONAM2023_presection_slide_track-recommendation.pdf
ASONAM2023_presection_slide_track-recommendation.pdf
 
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussionArtificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – OECD – June 2024 OECD discussion
 
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
Competition and Regulation in Professions and Occupations – OECD – June 2024 ...
 
Disaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other usesDisaster Management project for holidays homework and other uses
Disaster Management project for holidays homework and other uses
 
XP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to LeadershipXP 2024 presentation: A New Look to Leadership
XP 2024 presentation: A New Look to Leadership
 
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
Suzanne Lagerweij - Influence Without Power - Why Empathy is Your Best Friend...
 
Carrer goals.pptx and their importance in real life
Carrer goals.pptx  and their importance in real lifeCarrer goals.pptx  and their importance in real life
Carrer goals.pptx and their importance in real life
 
The remarkable life of Sir Mokshagundam Visvesvaraya.pptx
The remarkable life of Sir Mokshagundam Visvesvaraya.pptxThe remarkable life of Sir Mokshagundam Visvesvaraya.pptx
The remarkable life of Sir Mokshagundam Visvesvaraya.pptx
 
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussionArtificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
Artificial Intelligence, Data and Competition – LIM – June 2024 OECD discussion
 
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
The Intersection between Competition and Data Privacy – OECD – June 2024 OECD...
 
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussionPro-competitive Industrial Policy – OECD – June 2024 OECD discussion
Pro-competitive Industrial Policy – OECD – June 2024 OECD discussion
 
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussionPro-competitive Industrial Policy – LANE – June 2024 OECD discussion
Pro-competitive Industrial Policy – LANE – June 2024 OECD discussion
 
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
怎么办理(lincoln学位证书)英国林肯大学毕业证文凭学位证书原版一模一样
 

Optimize Everything!

  • 2. GET SOCIAL SHARE THE JOOMLA LOVE #jday19chi
  • 3. PART ONE: DESIGNING FOR PERFORMANCE Jason Nickerson OPTIMIZE EVERYTHING
  • 4. WEB DESIGN IN THE 90’s Jason Nickerson
  • 5. 5 WEB DESIGN IN THE 2000’s Jason Nickerson
  • 7. DESIGNING FOR PERFOMANCE: HOSTING Jason Nickerson HOSTING
  • 8. Joomla friendly hosting Shared hosting plans Dedicated servers Cloud based servers Price vs Performance Cloud Access Rochen A2 Hosting HostPapa No sharing of resources Security Flexibility Performance Scaling Unlimited is a lie All shared hosts oversell You are not number one You don’t matter You will out grow Cheap is never the answer Expensive isn’t better Research Know what you need DESIGNING FOR PERFOMANCE: HOSTING Jason Nickerson
  • 9. PHP 7 DESIGNING FOR PERFOMANCE: HOSTING Jason NickersonOptimize Everything PHP7 IS 2 TIMES FASTER THAN PHP 5
  • 10. DESIGNING FOR PERFORMANCE: IMAGES Jason Nickerson IMAGES
  • 11. IMAGES CAN BE RESPONSIBLE FOR UP TO 70% OF A WEBSITES LOAD TIME DESIGNING FOR PERFORMANCE: IMAGES Jason Nickerson
  • 12. IMAGE COMPRESSION: Image Compression is the most common solution for optimization of pictures, but there are other aspects to take into account before optimizing your images. ImageRecycle.com On the fly image optimization for Joomla with the ImageRecycle Joomla Component. DESIGNING FOR PERFORMANCE: IMAGES Jason Nickerson
  • 13. DESIGNING FOR PERFORMANCE: IMAGES Jason Nickerson
  • 14. SIZE MATTERS DESIGNING FOR PERFORMANCE: IMAGES Jason NickersonDesigning for Performance with Joomla
  • 15. BACKGROUND IMAGES 1280 x 863 JPG : 168 KB DESIGNING FOR PERFORMANCE: IMAGES Jason NickersonDesigning for Performance with Joomla
  • 16. BACKGROUND SIZE: COVER Scale the background image to be as large as possible so that the background area is completely covered by the background image. BACKGROUND SIZE: COVER DIV { background: url (demo.jpg); background-size:cover; } DESIGNING FOR PERFORMANCE: IMAGES Jason NickersonDesigning for Performance with Joomla
  • 17. BACKGROUND SIZE: COVER 211 KB SAVED! DESIGNING FOR PERFORMANCE: IMAGES Jason Nickerson
  • 18. THINK MOBILE DESIGNING FOR PERFORMANCE: IMAGES Jason NickersonDesigning for Performance with Joomla
  • 19. HTML5 PICTURE Using the HTML5 picture syntax to deliver various sizes of images per screen size is a quick and easy method to save load time. USING THE <PICTURE> SYNTAX <picture> <source media="(min-width: 650px)" srcset="images/kitten-stretching.png"> <source media="(min-width: 465px)" srcset="images/kitten-sitting.png"> <img src="images/kitten-curled.png" alt="a cute kitten"> </picture> DESIGNING FOR PERFORMANCE: IMAGES Jason NickersonDesigning for Performance with Joomla
  • 20. ADAPTIVE IMAGES Adaptive Images detects your visitor's screen size and automatically creates caches and delivers device appropriate re- scaled versions of your web page's embedded HTML images. DESIGNING FOR PERFORMANCE: IMAGES SOLUTIONS: XT Adaptive Images XT Adaptive Images for Joomla is a port of adaptive-images.com script for Joomla Jason Nickerson Adaptive Images adaptive-images.com offers a PHP and Javascript solution for full adaptive images
  • 21. DESIGNING FOR PERFORMANCE: VIDEOS Jason Nickerson VIDEOS
  • 22. EMBED CODES CAN BE RESPONSIBLE FOR UP TO 500KB OF A WEBSITES LOAD TIME DESIGNING FOR PERFORMANCE: VIDEOS Jason Nickerson
  • 23. DESIGNING FOR PERFORMANCE: VIDEOS Jason Nickerson
  • 24. EMBED ISSUES: Embed codes allow us to use videos that we have on our Video Channels such as YouTube and Vimeo, but what are the known issues with Embed codes? EXTERNAL CALL Embed codes rely on the Video Providers delivery PRE-LOADING Pre-loading the videos have a huge impact of performance. NOT RESPONSIVE Embed codes use a fixed with iframe or source call that is not responsive by default DESIGNING FOR PERFORMANCE: VIDEOS Jason Nickerson
  • 25. PRE-LOADING: The pre-loading and responsive issue can be resolved with HTML5, CSS, and just a drop of JavaScript to cancel the pre-load of the video and only display the preview image until clicked. PRE-LOADING: HTML <div class="youtube-player" data-id="VIDEO_ID"></div> DESIGNING FOR PERFORMANCE: VIDEOS Jason Nickerson
  • 26. PRE-LOADING: JS document.addEventListener("DO MContentLoaded", function() { var div, n, v = document.getElementsByClassNa me("youtube-player"); for (n = 0; n < v.length; n++) { div = document.createElement("div") ; PRE-LOADING: The pre-loading and responsive issue can be resolved with HTML5, CSS, and just a drop of JavaScript to cancel the pre-load of the video and only display the preview image until clicked. DESIGNING FOR PERFORMANCE: VIDEOS Jason Nickerson
  • 27. PRE-LOADING: CSS .youtube-player { position: relative; padding-bottom: 56.23%; /* Use 75% for 4:3 videos */ height: 0; overflow: hidden; max-width: 100%; background: #000; margin: 5px; } .youtube-player iframe { PRE-LOADING: The pre-loading and responsive issue can be resolved with HTML5, CSS, and just a drop of JavaScript to cancel the pre-load of the video and only display the preview image until clicked. DESIGNING FOR PERFORMANCE: VIDEOS Jason Nickerson
  • 28. DOWNLOAD THE FREE PLUGIN Quick YouTube DESIGNING FOR PERFORMANCE: VIDEOS PRE-LOADING: The pre-loading and responsive issue can be resolved with HTML5, CSS, and just a drop of JavaScript to cancel the pre-load of the video and only display the preview image until clicked. Jason Nickerson YOUTUBE LITE JS http://www.labnol.org/ internet/light-youtube- embeds/27941/
  • 29. HTML5 PRE LOAD: HTML5 allow us to use a simple syntax to display MP4 videos. Using the pre-load ’none’ option with a poster image will give better performance. PRE-LOADING: HTML <video class="responsive" controls preload="none" width="640" height="264" poster="http://video- js.zencoder.com/oceans-clip.png"> <source src="http://video- js.zencoder.com/oceans-clip.mp4" type="video/mp4" /> </video> DESIGNING FOR PERFORMANCE: VIDEOS Jason Nickerson
  • 30. DESIGNING FOR PERFORMANCE: CSS3 @MEDIA USEAGE: Breakpoints are most used for devices and by calling the device CSS for the desktop view is only bloating your load. The solution is as easy as creating a separate breakpoint.css and using a @media to call it only when needed! BREAKPOINT.CSS CALL <link rel='stylesheet' media='(max-width: 1200px)' href='css/responsive.css' /> Jason Nickerson
  • 31. DESIGNING FOR PERFORMANCE: EXTERNAL CALLS Jason Nickerson EXTERNAL CALLS
  • 32. EXTERNAL CALLS: External Calls from your site can be a huge issue when it comes to website performance. You should always remove any un- needed 3rd party and duplicate JavaScript calls. DESIGNING FOR PERFORMANCE: EXTERNAL CALLS WIDGETS Widgets from other sites can make a huge impact DUPLICATE JAVASCRIPT CALLS Make sure there are not multiple calls to the same JavaScript library. 3RD PARTY CALLS 3rd party codes that make external calls Jason Nickerson
  • 33. DESIGNING FOR PERFORMANCE PART TWO: Making the lower case god happy Jason Nickerson
  • 36. Optimization Score • Good: The page applies most performance best practices and there is little headroom for further optimization. The page scores 80 or above. • Medium: The page is missing some common performance optimizations and there is medium headroom for optimization. The page scores between 60 and 79. • Low: The page is not optimized and there is fairly large headroom for optimization. The page scores between 0 and 59. Jason Nickerson GOOGLE PAGE SPEED
  • 37. • Avoid landing page redirects • Enable compression • Improve server response time • Leverage browser caching • Minify resources • Optimize images • Optimize CSS Delivery • Prioritize visible content • Remove render-blocking JavaScript GOOGLE PAGE SPEED Jason Nickerson What google wants
  • 38. Avoid redirects • example.com → m.example.com/home - multi-roundtrip penalty for mobile users. • example.com → www.example.com → m.example.com - very slow mobile experience. Jason Nickerson GOOGLE PAGE SPEED
  • 39. Enable Compression Joomla Global Configuration Settings Jason Nickerson GOOGLE PAGE SPEED
  • 41. Enable Cache Joomla Global Configuration Settings Jason Nickerson GOOGLE PAGE SPEED
  • 42. Enable Cache Server side cache with cPanel Jason Nickerson GOOGLE PAGE SPEED
  • 44. Deferred Stylesheets <html>   <head>     <style>       .blue{color:blue;}     </style>     </head>   <body>     <div class="blue">       Hello, world!     </div>     <noscript id="deferred-styles">       <link rel="stylesheet" type="text/css" href="small.css"/>     </noscript>     <script>       var loadDeferredStyles = function() {         var addStylesNode = document.getElementById("deferred-styles");         var replacement = document.createElement("div");         replacement.innerHTML = addStylesNode.textContent;         document.body.appendChild(replacement)         addStylesNode.parentElement.removeChild(addStylesNode);       };       var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame ||           window.webkitRequestAnimationFrame || window.msRequestAnimationFrame;       if (raf) raf(function() { window.setTimeout(loadDeferredStyles, 0); });       else window.addEventListener('load', loadDeferredStyles);     </script>   </body> </html> Jason Nickerson GOOGLE PAGE SPEED
  • 45. Javascript async By default JavaScript blocks DOM construction and thus delays the time to first render. To prevent JavaScript from blocking the parser we recommend using the HTML async attribute on external scripts. <script async src=“my.js"> Jason Nickerson GOOGLE PAGE SPEED
  • 46. Beware of CDN loads Jason Nickerson GOOGLE PAGE SPEED