SlideShare a Scribd company logo
1 of 21
Good, Better, Best Website
Performance Optimization
Brian McKeiver
#404conference
Why Optimization matters
• Not about which developers can
write the best code
• Not about saving on your hosting
costs
• It is about your customer impact
#404conference
“One of the most important factors that can affect customer
experience is the overall speed of web page loading time.”
- Kissmetrics
Speed Chart
#404conference
Why So Hard?
#404conference
My Point
According to pingdom.com
Top 5 slowest sites (by size):
http://www.tmz.com/
#404conference
Damn You Apple!
RETINA requires you provide 1.5 times or 2 times larger images to get that
crisp high definition on phones / tablets / surfaces
#404conference
Real World
#404conference
Content Matters
Originally outlined to have
about 6 - 12 items of content
per tab (3 or 4 tabs)
18 – 48 total images
With 48 being the “very edge
case” in most products
#404conference
The Slow Down…
After content was loaded:
Tab Name Image Count
Features 56
Materials 64
Image Gallery 60
Installation Shots 63
243 images
#404conference
Initial Page Load Time
Over 30 seconds…
#404conference
We Asked Why?
#404conference
Optimization to the rescue
• Caching of images or
better yet CDN
• If a user can’t see it, don’t
show it until its needed
• If a user can’t see it, don’t
even load the content it in
the first place
#404conference
Caching
• Enable IIS Dynamic / Static
Compression
• Utilize Web.config Client Caching
#404conference
Content Delivery Network (CDN)
Reverse Proxy CDN is simple to implement, inexpensive, and fast
Popular CDN’s:
• Akamai
• AWS Cloudfront
• Cloudflare
• Incapsula
• Rack Space CDN
• HighWinds
#404conference
How We Really Fixed It
When design and content can’t be changed! JavaScript libraries to the rescue!
• Unveil (http://luis-almeida.github.io/unveil/)
• Boosts performance by delaying loading of images in long web pages.
• Images outside of viewport (visible part of web page) won't be loaded until the user
scrolls to them.
• Waypoints (https://github.com/imakewebthings/waypoints).
• Waypoints is a library that makes it easy to execute a function whenever you scroll to
an element.
#404conference
Unveil Code Example
<div>
<img src="" data-src="img1.jpg" />
<img src="" data-src="img2.jpg" data-src-retina="img2-retina.jpg" />
</div>
<script src="jquery.min.js"></script>
<script src="jquery.unveil.js"></script>
<script>
$(document).ready(function() {
$("img").unveil();
});
</script>
#404conference
WayPoint Code Example
<div id=“tab1”>
<img src="" data-src="img2.jpg" data-src-retina="img2-retina.jpg" />
</div>
<script src="jquery.min.js"></script>
<script src="jquery.waypoints.min.js"></script>
<script>
$(document).ready(function() {
$(“tab1”).waypoint(function (direction) {
if (direction == 'down') {
console.log("waypoint! for element: " + $(this.element).attr('id'));
}
});
});
</script>
#404conference
Putting it Together
Demo
#404conference
The Result
Less than 3
seconds…
#404conference
Questions
#404conference
Brian McKeiver
Co-Owner & Kentico MVP, BizStream
Phone: (616) 481-1631
Web: www.bizstream.com
Email: bmckeiver@bizstream.com
@mcbeev
www.linkedin.com/in/brianmckeiver
www.mcbeev.com

More Related Content

More from Brian McKeiver

More from Brian McKeiver (16)

Delivering on the Promise or AI for content.pptx
Delivering on the Promise or AI for content.pptxDelivering on the Promise or AI for content.pptx
Delivering on the Promise or AI for content.pptx
 
THAT Conference 2021 - State-of-the-art Search with Azure Cognitive Search
THAT Conference 2021 - State-of-the-art Search with Azure Cognitive SearchTHAT Conference 2021 - State-of-the-art Search with Azure Cognitive Search
THAT Conference 2021 - State-of-the-art Search with Azure Cognitive Search
 
Great Lakes Area .Net UG: Optimize .Net Azure App Services
Great Lakes Area .Net UG: Optimize .Net Azure App ServicesGreat Lakes Area .Net UG: Optimize .Net Azure App Services
Great Lakes Area .Net UG: Optimize .Net Azure App Services
 
Prairie Code 2019: How to Win Friends and Influence Better Developer Estimates
Prairie Code 2019: How to Win Friends and Influence Better Developer EstimatesPrairie Code 2019: How to Win Friends and Influence Better Developer Estimates
Prairie Code 2019: How to Win Friends and Influence Better Developer Estimates
 
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLICode on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
Code on the Beach 2019 - Let's Take a Tour of .Net Core: CLI
 
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4
Code on the Beach 2018: Build an E-Commerce Chatbot on Azure Bot Framework v4
 
GLSEC 2017 Build an Open Data .Net MVC site in 30 mins
GLSEC 2017 Build an Open Data .Net MVC site in 30 minsGLSEC 2017 Build an Open Data .Net MVC site in 30 mins
GLSEC 2017 Build an Open Data .Net MVC site in 30 mins
 
Kentico Cloud - Our First Impressions
Kentico Cloud - Our First Impressions Kentico Cloud - Our First Impressions
Kentico Cloud - Our First Impressions
 
Content Last: A Strategy for Success or Failure?
Content Last: A Strategy for Success or Failure?Content Last: A Strategy for Success or Failure?
Content Last: A Strategy for Success or Failure?
 
Amp up your Site with Accelerated Mobile Pages
Amp up your Site with Accelerated Mobile PagesAmp up your Site with Accelerated Mobile Pages
Amp up your Site with Accelerated Mobile Pages
 
How to Wield Kentico 9 in the Real World
How to Wield Kentico 9 in the Real WorldHow to Wield Kentico 9 in the Real World
How to Wield Kentico 9 in the Real World
 
Growth Hacking with Kentico
Growth Hacking with KenticoGrowth Hacking with Kentico
Growth Hacking with Kentico
 
Dog Food Con 2015 Integrate & Automate CMS Deployments
Dog Food Con 2015 Integrate & Automate CMS DeploymentsDog Food Con 2015 Integrate & Automate CMS Deployments
Dog Food Con 2015 Integrate & Automate CMS Deployments
 
Convert More With Marketing Automation
Convert More With Marketing AutomationConvert More With Marketing Automation
Convert More With Marketing Automation
 
Kentico 8 EMS API Deep Dive
Kentico 8 EMS API Deep DiveKentico 8 EMS API Deep Dive
Kentico 8 EMS API Deep Dive
 
Kentico Connection 2014 Boston Upgrade Like a Pro
Kentico Connection 2014 Boston Upgrade Like a ProKentico Connection 2014 Boston Upgrade Like a Pro
Kentico Connection 2014 Boston Upgrade Like a Pro
 

Recently uploaded

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

Recently uploaded (20)

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...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
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
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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
 
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
 

Good Better Best Website Performance Optimization

Editor's Notes

  1. Search Engines care since about 2010 It can affect Paid Search / PPC / Ad Rank It matters more in mobile / limited bandwidth scenarios
  2. We used to measure performance in terms of seconds to load a page Now we measure in milliseconds
  3. Child’s play right? The challenge of rich experience
  4. More examples of real world problems Long loading time Spinning white pages Show some more failures
  5. for a moderately complex product Most products easily averaged 100+ images.
  6. Do we really need to show the visitor 200+ images on a page?
  7. Your CMS should have a caching engine, if it doesn’t its time for a new one
  8. Can we make this into the demo? Use a placeholder image service
  9. Page load time