SlideShare une entreprise Scribd logo
1  sur  69
Télécharger pour lire hors ligne
Does This Theme
Make My Website
Look Fat?
0 kB
250 kB
500 kB
750 kB
1,000 kB
Images Scripts Flash HTML Stylesheets Other
total: 1585 kB
Average Bytes Per Page
0 kB
400 kB
800 kB
1,200 kB
1,600 kB
2010 2011 2012 2013
125% increase
it’s getting worse
and responsive web design
doesn’t make it better
8
MOBILE ONLY?
US: 25%
NEVER/INFREQUENT
DESKTOP USE
UK: 22%
NEVER/INFREQUENT
DESKTOP USE
Asia: 50+%
DON’T USE INTERNET ON PC
Africa: 50+%
DON’T USE INTERNET ON PC
India: 49%
NEVER/INFREQUENT
DESKTOP USE
US: 50+%
MORE MOBILE THAN PC
BY 2015
Source: http://www.lukew.com/ff/entry.asp?1391
KENYA: M-PESA
17% of GDP
54% of adults
What’s going on
behind the scenes
Browser &
Device
The
Internet
how the Internet works
(basically)
End-User
Network
Webhost
Network
Web
server
Cell Radio
DNS
device ≠ connection speed
Constraints
Browser/Device
• Connections per hostname
• Max connections
• Cache size
• Processor, underpowered to run JS, CSS
• Cell Radio
Network & Internet
• File sizes
• 3G/4G Slowness
• Latency, TCP slow start, congestion control
• DNS
Servers
• Proximity to request
• Load & capacity
• Configuration
Application
• Wordpress core
• Theme files
• Plugin quality (not quantity!)
Database
• Proximity to server
• Load & capacity
• Configuration
Browser &
Device
The
Internet
how the Internet works
(basically)
End-User
Network
Webhost
Network
Web
server
Cell Radio
DNS
What
does all this have to do
with Wordpress?
Get ready for your
weigh in
Spring Cleaning
• Remove plugins and themes you don’t use
• Delete unattached images in Media Library
• Optimize the database
• Clean out old revisions
• Remove references to inactive plugins or
themes
• Plugin: WP Clean Up
Let’s do some
tests
• YSlow
• Google PageSpeed
• Webpagetest
• GTmetrix combines both YSlow & PageSpeed
• Plugin: GTmetrix for Wordpress
• others at siteloadtest.com
Front-end
• Plugins:
• Databases: Debug Bar, Debug Objects for
Databases
• Themes: Theme Check
• Plugins: Plugin Performance Profiler (!)
Wordpress
• Are most site visitors new or returning?
• International or domestic?
• Using mobile browsers or desktop browsers?
• Which browser versions are they using?
Analytics
• DOM Node Count (via Chrome Developer
Tools Timeline)
• CSS Stress Test bookmarklet
• CSS Audits
• Firefox add-ons - Dust-Me Selectors & CSS Usage
• Chrome Developer Tools Audits
• Unused-CSS.com
Advanced Testing
Now what?
let’s target some common
issues
Scenario 1:
Large Images
Optimize
• Before upload:
• ImageOptim (Mac), Jpegmini (Windows), Trimage
(Linux)
• TinyPNG, PNGGauntlet
• After upload:
• WP Smush.it (!)
• EWWW Image Optimizer
• WP Minify
Scenario 2:
Lots of images
CSS Sprites
• combine image files
• wearekiss.com/spritepad
• css.spritegen.com
• www.spritecow.com
• spritegen.website-performance.org
• csssprites.com
Replace
• Webfonts
• free: Google Fonts, FontSquirrel
• paid: FontSpring, Myfonts, Typekit
• Icon Webfonts
• Font Awesome
• ShiftIcons
• IcoMoon
Scenario 3:
Loads of assets
Poor Man’s CDN
• Add a subdomain to your site
• Change where your media files point
(Settings > Uploading Files)
• upload path to “/home/www/public_html/assets”
• upload_url_path to “http://assets.domain.com”
• Plugin: Upload Url and Path Enabler
Poor Man’s CDN caveats
• Only works when you have www subdomain
• Make sure it’s cookie-free
• wp-config: define("COOKIE_DOMAIN",
'www.domain.com');
• May also need to change Google Analytics
Scenario 4:
Huge Webfonts
Reduce your fontset
• Googlefonts give you the full set of
characters, including multi-lingual
• FontSquirrel Generator
Scenario 4:
JS in header
Move it to the bottom
<?php
//First remove all JS loaded in the head section
remove_action('wp_head', 'wp_print_scripts');
remove_action('wp_head', 'wp_print_head_scripts', 9);
remove_action('wp_head', 'wp_enqueue_scripts', 1);
//Load JS at the footer of the template
add_action('wp_footer', 'wp_print_scripts', 1);
add_action('wp_footer', 'wp_enqueue_scripts', 1);
add_action('wp_footer', 'wp_print_head_scripts', 1);?>
?>
Scenario 5:
Lots of CSS & JS
Dequeue what you don’t
function swk_remove_scripts() {
! wp_dequeue_script('custom_js');
! wp_dequeue_script('chirp_js');
! wp_dequeue_script('fitvid_js');
! wp_deregister_script('chirp_js');
! wp_deregister_script('fitvid_js');
}
add_action('wp_enqueue_scripts', 'swk_remove_scripts', 500);
function swk_remove_styles() {
! wp_deregister_style('media_queries_css');
! wp_deregister_style('google_merriweather');
}
Selectively enable
add_action('wp_print_scripts', 'deregister_cf7_javascript',
100);
function deregister_cf7_javascript() {
    if (!is_page(array(8,10))) {
        wp_deregister_script('contact-form-7');
        wp_dequeue_script('contact-form-7');
    }
}
add_action('wp_print_styles', 'deregister_cf7_styles', 100);
function deregister_cf7_styles() {
    if (!is_page(array(8,10))) {
        wp_deregister_style( 'contact-form-7' );
        wp_dequeue_style( 'contact-form-7' );
    }
}
Scenario 6:
Slow mobile
rendering
Understand browsers
• cache size is smaller, meaning it can't store as
many files in memory
• maximum size of file that can be cached is
also smaller
• fewer parallel connections
• cell radio turns on and off
browserscope.org
Understand devices
• Processor constraints
• Use CSS3 elements sparingly, particularly drop-
shadow
• DOM rendering issues
and yes…
Add Caching,
Minify & Gzip
any questions?
for Happier Visitors and Stickier User Experiences
Adam Dunford
adam@steepleashton.com

Contenu connexe

Tendances

Please, dont touch the slow parts v.3.6 @webtechcon
Please, dont touch the slow parts v.3.6 @webtechconPlease, dont touch the slow parts v.3.6 @webtechcon
Please, dont touch the slow parts v.3.6 @webtechcon
Francesco Fullone
 

Tendances (20)

Joomla Extreme Performance
Joomla Extreme PerformanceJoomla Extreme Performance
Joomla Extreme Performance
 
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
 
Getting started with WordPress development
Getting started with WordPress developmentGetting started with WordPress development
Getting started with WordPress development
 
Coding with jetpack
Coding with jetpackCoding with jetpack
Coding with jetpack
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...
 
DrupalCon Barcelona 2015
DrupalCon Barcelona 2015DrupalCon Barcelona 2015
DrupalCon Barcelona 2015
 
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
 
The Onion
The OnionThe Onion
The Onion
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
 
Wordcamp 2010 presentation
Wordcamp 2010 presentationWordcamp 2010 presentation
Wordcamp 2010 presentation
 
Make Local WordPress Development Simple
Make Local WordPress Development SimpleMake Local WordPress Development Simple
Make Local WordPress Development Simple
 
Standards.next: HTML - Are you mything the point?
Standards.next: HTML - Are you mything the point?Standards.next: HTML - Are you mything the point?
Standards.next: HTML - Are you mything the point?
 
Measuring Web Performance (HighEdWeb FL Edition)
Measuring Web Performance (HighEdWeb FL Edition)Measuring Web Performance (HighEdWeb FL Edition)
Measuring Web Performance (HighEdWeb FL Edition)
 
Speed!
Speed!Speed!
Speed!
 
Fundamentals of HTML5
Fundamentals of HTML5Fundamentals of HTML5
Fundamentals of HTML5
 
Mastering WordPress Vol.1
Mastering WordPress Vol.1Mastering WordPress Vol.1
Mastering WordPress Vol.1
 
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
 
Please, dont touch the slow parts v.3.6 @webtechcon
Please, dont touch the slow parts v.3.6 @webtechconPlease, dont touch the slow parts v.3.6 @webtechcon
Please, dont touch the slow parts v.3.6 @webtechcon
 
WordPress Server Security
WordPress Server SecurityWordPress Server Security
WordPress Server Security
 
High Performance Web Design
High Performance Web DesignHigh Performance Web Design
High Performance Web Design
 

En vedette

Max Muscle Sports Nutrition Supplement Guide for 2013
Max Muscle Sports Nutrition Supplement Guide for 2013Max Muscle Sports Nutrition Supplement Guide for 2013
Max Muscle Sports Nutrition Supplement Guide for 2013
Rich Carr
 
Assignment 1
Assignment 1Assignment 1
Assignment 1
Đàm Tư
 
Computer basics
Computer basicsComputer basics
Computer basics
JANGID_ML
 
Munduko lantegiak ausoko tailerrak slideshare
Munduko lantegiak ausoko tailerrak slideshareMunduko lantegiak ausoko tailerrak slideshare
Munduko lantegiak ausoko tailerrak slideshare
lauroteknologia
 
Enginemanagementsystemfinal 141115224136-conversion-gate01
Enginemanagementsystemfinal 141115224136-conversion-gate01Enginemanagementsystemfinal 141115224136-conversion-gate01
Enginemanagementsystemfinal 141115224136-conversion-gate01
Axu Batax
 
Computer virus
Computer  virusComputer  virus
Computer virus
JANGID_ML
 
Tablet pc by jangid
Tablet pc  by jangidTablet pc  by jangid
Tablet pc by jangid
JANGID_ML
 
Nola marraztu seinale bat geometria
Nola marraztu seinale bat geometriaNola marraztu seinale bat geometria
Nola marraztu seinale bat geometria
lauroteknologia
 
Computer basics for all . jangid ml
Computer basics for all . jangid mlComputer basics for all . jangid ml
Computer basics for all . jangid ml
JANGID_ML
 
Computer basics
Computer basicsComputer basics
Computer basics
JANGID_ML
 
Softwares . jangid ml
Softwares . jangid mlSoftwares . jangid ml
Softwares . jangid ml
JANGID_ML
 
Apple and sugar feeding in adult codling moths
Apple and sugar feeding in adult codling mothsApple and sugar feeding in adult codling moths
Apple and sugar feeding in adult codling moths
Dith Jose
 
E learning ..jangid ml
E learning ..jangid mlE learning ..jangid ml
E learning ..jangid ml
JANGID_ML
 
1ebaluaketa ikasleen lanak 2010_2011
1ebaluaketa ikasleen lanak 2010_20111ebaluaketa ikasleen lanak 2010_2011
1ebaluaketa ikasleen lanak 2010_2011
lauroteknologia
 

En vedette (20)

Max Muscle Sports Nutrition Supplement Guide for 2013
Max Muscle Sports Nutrition Supplement Guide for 2013Max Muscle Sports Nutrition Supplement Guide for 2013
Max Muscle Sports Nutrition Supplement Guide for 2013
 
Assignment 1
Assignment 1Assignment 1
Assignment 1
 
Computer basics
Computer basicsComputer basics
Computer basics
 
Scs5export
Scs5exportScs5export
Scs5export
 
Munduko lantegiak ausoko tailerrak slideshare
Munduko lantegiak ausoko tailerrak slideshareMunduko lantegiak ausoko tailerrak slideshare
Munduko lantegiak ausoko tailerrak slideshare
 
Enginemanagementsystemfinal 141115224136-conversion-gate01
Enginemanagementsystemfinal 141115224136-conversion-gate01Enginemanagementsystemfinal 141115224136-conversion-gate01
Enginemanagementsystemfinal 141115224136-conversion-gate01
 
Computer virus
Computer  virusComputer  virus
Computer virus
 
Tablet pc by jangid
Tablet pc  by jangidTablet pc  by jangid
Tablet pc by jangid
 
Kat.ppt
Kat.pptKat.ppt
Kat.ppt
 
Nola marraztu seinale bat geometria
Nola marraztu seinale bat geometriaNola marraztu seinale bat geometria
Nola marraztu seinale bat geometria
 
Itis pentest slides hyd
Itis pentest slides  hydItis pentest slides  hyd
Itis pentest slides hyd
 
Computer basics for all . jangid ml
Computer basics for all . jangid mlComputer basics for all . jangid ml
Computer basics for all . jangid ml
 
Computer basics
Computer basicsComputer basics
Computer basics
 
Improving Your Website's Usability for Happier Visitors & Stickier User Exper...
Improving Your Website's Usability for Happier Visitors & Stickier User Exper...Improving Your Website's Usability for Happier Visitors & Stickier User Exper...
Improving Your Website's Usability for Happier Visitors & Stickier User Exper...
 
2011 Reclame Presentatie V5 2011
2011 Reclame Presentatie V5 20112011 Reclame Presentatie V5 2011
2011 Reclame Presentatie V5 2011
 
Softwares . jangid ml
Softwares . jangid mlSoftwares . jangid ml
Softwares . jangid ml
 
Html tags
Html tagsHtml tags
Html tags
 
Apple and sugar feeding in adult codling moths
Apple and sugar feeding in adult codling mothsApple and sugar feeding in adult codling moths
Apple and sugar feeding in adult codling moths
 
E learning ..jangid ml
E learning ..jangid mlE learning ..jangid ml
E learning ..jangid ml
 
1ebaluaketa ikasleen lanak 2010_2011
1ebaluaketa ikasleen lanak 2010_20111ebaluaketa ikasleen lanak 2010_2011
1ebaluaketa ikasleen lanak 2010_2011
 

Similaire à Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)

Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
dmethvin
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
Jia Mi
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
areyouok
 

Similaire à Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013) (20)

Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
 
WordPress Theme Performance - WP Vienna meetup 8.6.2016
WordPress Theme Performance - WP Vienna meetup 8.6.2016WordPress Theme Performance - WP Vienna meetup 8.6.2016
WordPress Theme Performance - WP Vienna meetup 8.6.2016
 
State of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront ConferenceState of jQuery - AspDotNetStorefront Conference
State of jQuery - AspDotNetStorefront Conference
 
John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)John Resig Beijing 2010 (English Version)
John Resig Beijing 2010 (English Version)
 
High-Speed HTML5
High-Speed HTML5High-Speed HTML5
High-Speed HTML5
 
Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011Developing High Performance Web Apps - CodeMash 2011
Developing High Performance Web Apps - CodeMash 2011
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today
 
Developing High Performance Web Apps
Developing High Performance Web AppsDeveloping High Performance Web Apps
Developing High Performance Web Apps
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
State of the Web
State of the WebState of the Web
State of the Web
 
jQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPagesjQuery: The World's Most Popular JavaScript Library Comes to XPages
jQuery: The World's Most Popular JavaScript Library Comes to XPages
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
 
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and ScaleGDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
GDD Japan 2009 - Designing OpenSocial Apps For Speed and Scale
 
Using Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino AppsUsing Cool New Frameworks in (Mobile) Domino Apps
Using Cool New Frameworks in (Mobile) Domino Apps
 
Mobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery MobileMobile Apps with PhoneGap and jQuery Mobile
Mobile Apps with PhoneGap and jQuery Mobile
 
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...The 5 most common reasons for a slow WordPress site and how to fix them – ext...
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
 
High Performance Websites
High Performance WebsitesHigh Performance Websites
High Performance Websites
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 

Dernier

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Dernier (20)

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
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
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
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 

Does This Theme Make My Website Look Fat? (Wordcamp SLC 2013)

  • 1. Does This Theme Make My Website Look Fat?
  • 2.
  • 3. 0 kB 250 kB 500 kB 750 kB 1,000 kB Images Scripts Flash HTML Stylesheets Other total: 1585 kB Average Bytes Per Page
  • 4. 0 kB 400 kB 800 kB 1,200 kB 1,600 kB 2010 2011 2012 2013 125% increase it’s getting worse
  • 5. and responsive web design doesn’t make it better
  • 6.
  • 7.
  • 8. 8 MOBILE ONLY? US: 25% NEVER/INFREQUENT DESKTOP USE UK: 22% NEVER/INFREQUENT DESKTOP USE Asia: 50+% DON’T USE INTERNET ON PC Africa: 50+% DON’T USE INTERNET ON PC India: 49% NEVER/INFREQUENT DESKTOP USE US: 50+% MORE MOBILE THAN PC BY 2015 Source: http://www.lukew.com/ff/entry.asp?1391 KENYA: M-PESA 17% of GDP 54% of adults
  • 10.
  • 11. Browser & Device The Internet how the Internet works (basically) End-User Network Webhost Network Web server Cell Radio DNS
  • 14.
  • 15. Browser/Device • Connections per hostname • Max connections • Cache size • Processor, underpowered to run JS, CSS • Cell Radio
  • 16. Network & Internet • File sizes • 3G/4G Slowness • Latency, TCP slow start, congestion control • DNS
  • 17. Servers • Proximity to request • Load & capacity • Configuration
  • 18. Application • Wordpress core • Theme files • Plugin quality (not quantity!)
  • 19. Database • Proximity to server • Load & capacity • Configuration
  • 20. Browser & Device The Internet how the Internet works (basically) End-User Network Webhost Network Web server Cell Radio DNS
  • 21. What does all this have to do with Wordpress?
  • 22. Get ready for your weigh in
  • 23.
  • 24. Spring Cleaning • Remove plugins and themes you don’t use • Delete unattached images in Media Library • Optimize the database • Clean out old revisions • Remove references to inactive plugins or themes • Plugin: WP Clean Up
  • 26.
  • 27. • YSlow • Google PageSpeed • Webpagetest • GTmetrix combines both YSlow & PageSpeed • Plugin: GTmetrix for Wordpress • others at siteloadtest.com Front-end
  • 28. • Plugins: • Databases: Debug Bar, Debug Objects for Databases • Themes: Theme Check • Plugins: Plugin Performance Profiler (!) Wordpress
  • 29. • Are most site visitors new or returning? • International or domestic? • Using mobile browsers or desktop browsers? • Which browser versions are they using? Analytics
  • 30. • DOM Node Count (via Chrome Developer Tools Timeline) • CSS Stress Test bookmarklet • CSS Audits • Firefox add-ons - Dust-Me Selectors & CSS Usage • Chrome Developer Tools Audits • Unused-CSS.com Advanced Testing
  • 31.
  • 32.
  • 33.
  • 35.
  • 36. let’s target some common issues
  • 38.
  • 39. Optimize • Before upload: • ImageOptim (Mac), Jpegmini (Windows), Trimage (Linux) • TinyPNG, PNGGauntlet • After upload: • WP Smush.it (!) • EWWW Image Optimizer • WP Minify
  • 41.
  • 42. CSS Sprites • combine image files • wearekiss.com/spritepad • css.spritegen.com • www.spritecow.com • spritegen.website-performance.org • csssprites.com
  • 43. Replace • Webfonts • free: Google Fonts, FontSquirrel • paid: FontSpring, Myfonts, Typekit • Icon Webfonts • Font Awesome • ShiftIcons • IcoMoon
  • 45.
  • 46. Poor Man’s CDN • Add a subdomain to your site • Change where your media files point (Settings > Uploading Files) • upload path to “/home/www/public_html/assets” • upload_url_path to “http://assets.domain.com” • Plugin: Upload Url and Path Enabler
  • 47. Poor Man’s CDN caveats • Only works when you have www subdomain • Make sure it’s cookie-free • wp-config: define("COOKIE_DOMAIN", 'www.domain.com'); • May also need to change Google Analytics
  • 49.
  • 50. Reduce your fontset • Googlefonts give you the full set of characters, including multi-lingual • FontSquirrel Generator
  • 52.
  • 53. Move it to the bottom <?php //First remove all JS loaded in the head section remove_action('wp_head', 'wp_print_scripts'); remove_action('wp_head', 'wp_print_head_scripts', 9); remove_action('wp_head', 'wp_enqueue_scripts', 1); //Load JS at the footer of the template add_action('wp_footer', 'wp_print_scripts', 1); add_action('wp_footer', 'wp_enqueue_scripts', 1); add_action('wp_footer', 'wp_print_head_scripts', 1);?> ?>
  • 55.
  • 56.
  • 57. Dequeue what you don’t function swk_remove_scripts() { ! wp_dequeue_script('custom_js'); ! wp_dequeue_script('chirp_js'); ! wp_dequeue_script('fitvid_js'); ! wp_deregister_script('chirp_js'); ! wp_deregister_script('fitvid_js'); } add_action('wp_enqueue_scripts', 'swk_remove_scripts', 500); function swk_remove_styles() { ! wp_deregister_style('media_queries_css'); ! wp_deregister_style('google_merriweather'); }
  • 58. Selectively enable add_action('wp_print_scripts', 'deregister_cf7_javascript', 100); function deregister_cf7_javascript() {     if (!is_page(array(8,10))) {         wp_deregister_script('contact-form-7');         wp_dequeue_script('contact-form-7');     } } add_action('wp_print_styles', 'deregister_cf7_styles', 100); function deregister_cf7_styles() {     if (!is_page(array(8,10))) {         wp_deregister_style( 'contact-form-7' );         wp_dequeue_style( 'contact-form-7' );     } }
  • 60.
  • 61. Understand browsers • cache size is smaller, meaning it can't store as many files in memory • maximum size of file that can be cached is also smaller • fewer parallel connections • cell radio turns on and off
  • 63. Understand devices • Processor constraints • Use CSS3 elements sparingly, particularly drop- shadow • DOM rendering issues
  • 65.
  • 66.
  • 67.
  • 69. for Happier Visitors and Stickier User Experiences Adam Dunford adam@steepleashton.com