SlideShare a Scribd company logo
1 of 37
Download to read offline
Front-end performance.
● 44 requests for anonymous user 
● 60 requests for administrator
● 28 requests for anonymous user 
● 39 requests for administrator
Why it’s important?
● Better user experience 
● Higher conversion rate 
● SEO
Numbers
● 80-95% of performance happens in the front end 
● Amazon: 100ms cost 1% of sales 
● Yahoo: 400ms improvement ~9% traffic 
● Firefox: 2.2s improvement ~15.4% downloads
Tools
● Yslow 
● PageSpeed 
● Chrome DevTools 
● Firebug
● Use fewer HTTP requests 
● Use CDN 
● Avoid empty src or href 
● Add Expires header 
● Compress components with gzip 
● Put CSS at top 
● Put JS at bottom 
● Make JS and CSS external 
● Reduce DNS lookups
● Minify JS and CSS 
● Avoid URL redirects 
● Remove duplicate CSS and JS 
● Configure ETags 
● Make AJAX cacheable 
● Use GET for AJAX requests 
● Reduce number of DOM elements 
● Avoid HTTP 404 error 
● Reduce cookie size
● Use cookie-free domains 
● Avoid AlphaImageLoader filter 
● Do not scale images in HTML 
● Make favicon small and cacheable
Advanced CSS/JS Aggregation 
● gzip CSS/JS 
● Bundler: groups files together 
● CSS/JS compression 
● CSS/JS validation 
● JS to the footer 
● lot-lot more options
Advanced CSS/JS Aggregation 
● 23.4KB vs 4.5KB gzipped CSS 
(~80% decrease) 
● 93.9KB vs 32.3KB gzipped JS 
(~65% decrease) 
● 23.4KB vs 4.4KB gzip + minify CSS 
(~81% decrease) 
● 93.9KB vs 28.5KB gzip + minify JS 
(~70% decrease)
CSS
Write your styles cleverly 
● SMACSS 
● BEM 
● Object Oriented CSS
Write your styles cleverly 
● SMACSS 
● BEM 
● Object Oriented CSS 
● SASS / Compass 
● Less 
● ...
Use CSS3!!!
Do not do a lot to support 
legacy browsers!!!
Remove unused CSS 
WTF?
Remove unused CSS 
Omega
Remove unused CSS 
Adaptive Theme
Remove unused CSS 
Tao 
function tao_css_alter(&$css) { 
$exclude = array( 
'misc/vertical-tabs.css' => FALSE, 
'modules/aggregator/aggregator.css' => FALSE, 
'modules/block/block.css' => FALSE, 
'modules/book/book.css' => FALSE, 
'modules/comment/comment.css' => FALSE, 
//... 
'modules/update/update.css' => FALSE, 
'modules/user/user.css' => FALSE, 
); 
$css = array_diff_key($css, $exclude); 
}
Use CSS sprites 
3.85KB 
2.5KB
Also 
● Icon Fonts 
● SVG
jQuery Update 
Default: 
1.4.4 (2010.11.11) 
jQuery Update: 
1.7 site’s theme + 1.5 admin pages
Images
Do not set 100% quality
100% quality 
Original JPEG: 
640x480px, 49.38KB 
● No effects: 151KB 
● Rotate 360°: 151KB 
● Scale 2000px x 100%, no upscaling: 151KB 
● Scale & Crop 480x360px: 139KB
100% quality 
Original JPEG: 
640x480px, 49.38KB 
● No effects: 151KB 
● Rotate 360°: 151KB 
● Scale 2000px x 100%, no upscaling: 151KB 
● Scale & Crop 480x360px: 139KB
● Image Lazyloader 
● Picture + Breakpoints
Markup 
● Fences 
● Views style settings
See also 
● CDN 
● Magic 
● Speedy 
● Minify 
● Core Library 
● UglifyJS
Thank you

More Related Content

What's hot

High Performance Front-End Development
High Performance Front-End DevelopmentHigh Performance Front-End Development
High Performance Front-End Developmentdrywallbmb
 
WordCamp Atlanta 2014 - CSS For Beginners - By Michael Earley of ATL Squared ...
WordCamp Atlanta 2014 - CSS For Beginners - By Michael Earley of ATL Squared ...WordCamp Atlanta 2014 - CSS For Beginners - By Michael Earley of ATL Squared ...
WordCamp Atlanta 2014 - CSS For Beginners - By Michael Earley of ATL Squared ...New Tricks
 
Introduction of web desiging
Introduction of web desigingIntroduction of web desiging
Introduction of web desigingprateekkirar
 
7steps to build a website
7steps to build a website7steps to build a website
7steps to build a websiteOmar Montasser
 
PageSpeed Optimization
PageSpeed OptimizationPageSpeed Optimization
PageSpeed OptimizationShweta Patel
 
Front-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPressFront-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPressdrywallbmb
 
How to create a website in wordpress
How to create a website in wordpressHow to create a website in wordpress
How to create a website in wordpressMarkupBox
 
Web Standards and Accessibility
Web Standards and AccessibilityWeb Standards and Accessibility
Web Standards and AccessibilityKarl Dawson
 
Magehack_Autogrid presentation
Magehack_Autogrid presentationMagehack_Autogrid presentation
Magehack_Autogrid presentationSzabolcs (Sam) Ban
 
KCDC - top free ASP.NET performance tools
KCDC - top free ASP.NET performance toolsKCDC - top free ASP.NET performance tools
KCDC - top free ASP.NET performance toolsbenemmett
 
Introduction to Jquery
Introduction to JqueryIntroduction to Jquery
Introduction to JqueryGurpreet singh
 
Responsive Web Development
Responsive Web DevelopmentResponsive Web Development
Responsive Web DevelopmentReema
 
Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"Fwdays
 
Famo.us introduction
Famo.us introductionFamo.us introduction
Famo.us introductionAllen Wu
 
Static Site Generation with Hugo and Markdown
Static Site Generation with Hugo and MarkdownStatic Site Generation with Hugo and Markdown
Static Site Generation with Hugo and MarkdownNic Raboy
 

What's hot (20)

High Performance Front-End Development
High Performance Front-End DevelopmentHigh Performance Front-End Development
High Performance Front-End Development
 
WordCamp Atlanta 2014 - CSS For Beginners - By Michael Earley of ATL Squared ...
WordCamp Atlanta 2014 - CSS For Beginners - By Michael Earley of ATL Squared ...WordCamp Atlanta 2014 - CSS For Beginners - By Michael Earley of ATL Squared ...
WordCamp Atlanta 2014 - CSS For Beginners - By Michael Earley of ATL Squared ...
 
Artdm171 Week5 Css
Artdm171 Week5 CssArtdm171 Week5 Css
Artdm171 Week5 Css
 
New text document
New text documentNew text document
New text document
 
Introduction of web desiging
Introduction of web desigingIntroduction of web desiging
Introduction of web desiging
 
7steps to build a website
7steps to build a website7steps to build a website
7steps to build a website
 
PageSpeed Optimization
PageSpeed OptimizationPageSpeed Optimization
PageSpeed Optimization
 
Front-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPressFront-End Performance Optimization in WordPress
Front-End Performance Optimization in WordPress
 
How to create a website in wordpress
How to create a website in wordpressHow to create a website in wordpress
How to create a website in wordpress
 
Web Standards and Accessibility
Web Standards and AccessibilityWeb Standards and Accessibility
Web Standards and Accessibility
 
Magehack_Autogrid presentation
Magehack_Autogrid presentationMagehack_Autogrid presentation
Magehack_Autogrid presentation
 
KCDC - top free ASP.NET performance tools
KCDC - top free ASP.NET performance toolsKCDC - top free ASP.NET performance tools
KCDC - top free ASP.NET performance tools
 
Introduction to Jquery
Introduction to JqueryIntroduction to Jquery
Introduction to Jquery
 
Responsive Web Development
Responsive Web DevelopmentResponsive Web Development
Responsive Web Development
 
Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"Martin Splitt "A short history of the web"
Martin Splitt "A short history of the web"
 
Php ppt
Php pptPhp ppt
Php ppt
 
Seo basics
Seo basicsSeo basics
Seo basics
 
Famo.us introduction
Famo.us introductionFamo.us introduction
Famo.us introduction
 
Static Site Generation with Hugo and Markdown
Static Site Generation with Hugo and MarkdownStatic Site Generation with Hugo and Markdown
Static Site Generation with Hugo and Markdown
 
Ovh hosting
Ovh hostingOvh hosting
Ovh hosting
 

Similar to Drupal front-end performance

Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje JurišićBuild Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje JurišićMeetMagentoNY2014
 
Performance optimization - Basics
Performance optimization - BasicsPerformance optimization - Basics
Performance optimization - BasicsFilip Mares
 
Client Side Optimization
Client Side OptimizationClient Side Optimization
Client Side OptimizationPatrick Huesler
 
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 2012Bastian Grimm
 
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 2013Bastian Grimm
 
Magento x codekit x sass x compass x skeleton responsive grid
Magento x codekit x sass x compass x skeleton responsive gridMagento x codekit x sass x compass x skeleton responsive grid
Magento x codekit x sass x compass x skeleton responsive gridArush Sehgal
 
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
 
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014Bastian Grimm
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalabilityTwinbit
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax ApplicationsSiarhei Barysiuk
 
@media - Even Faster Web Sites
@media - Even Faster Web Sites@media - Even Faster Web Sites
@media - Even Faster Web SitesSteve Souders
 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101Angus Li
 
Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausWomen in Technology Poland
 
Even faster web sites presentation 3
Even faster web sites presentation 3Even faster web sites presentation 3
Even faster web sites presentation 3Felipe Lavín
 
How to Speed Up Your Joomla! Site
How to Speed Up Your Joomla! SiteHow to Speed Up Your Joomla! Site
How to Speed Up Your Joomla! SiteDaniel Kanchev
 
Boston Web Performance Meetup: The Render Chain and You
Boston Web Performance Meetup: The Render Chain and YouBoston Web Performance Meetup: The Render Chain and You
Boston Web Performance Meetup: The Render Chain and Youmattringel
 

Similar to Drupal front-end performance (20)

Please dont touch-3.6-jsday
Please dont touch-3.6-jsdayPlease dont touch-3.6-jsday
Please dont touch-3.6-jsday
 
Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje JurišićBuild Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
 
Performance optimization - Basics
Performance optimization - BasicsPerformance optimization - Basics
Performance optimization - Basics
 
Client Side Optimization
Client Side OptimizationClient Side Optimization
Client Side Optimization
 
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
 
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
 
Magento x codekit x sass x compass x skeleton responsive grid
Magento x codekit x sass x compass x skeleton responsive gridMagento x codekit x sass x compass x skeleton responsive grid
Magento x codekit x sass x compass x skeleton responsive grid
 
Metarefresh
MetarefreshMetarefresh
Metarefresh
 
Speed!
Speed!Speed!
Speed!
 
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...
 
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
 
Drupal performance and scalability
Drupal performance and scalabilityDrupal performance and scalability
Drupal performance and scalability
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
@media - Even Faster Web Sites
@media - Even Faster Web Sites@media - Even Faster Web Sites
@media - Even Faster Web Sites
 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101
 
Architektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan KrausArchitektura html, css i javascript - Jan Kraus
Architektura html, css i javascript - Jan Kraus
 
Even faster web sites presentation 3
Even faster web sites presentation 3Even faster web sites presentation 3
Even faster web sites presentation 3
 
How to Speed Up Your Joomla! Site
How to Speed Up Your Joomla! SiteHow to Speed Up Your Joomla! Site
How to Speed Up Your Joomla! Site
 
Boston Web Performance Meetup: The Render Chain and You
Boston Web Performance Meetup: The Render Chain and YouBoston Web Performance Meetup: The Render Chain and You
Boston Web Performance Meetup: The Render Chain and You
 
Modelling Web Performance Optimization - FFSUx
Modelling  Web Performance Optimization - FFSUxModelling  Web Performance Optimization - FFSUx
Modelling Web Performance Optimization - FFSUx
 

More from ADCI Solutions

Introduction to cron queue
Introduction to cron queueIntroduction to cron queue
Introduction to cron queueADCI Solutions
 
Drupal. Advantages and disadvantages. Igor Rodionov.
Drupal. Advantages and disadvantages. Igor Rodionov.Drupal. Advantages and disadvantages. Igor Rodionov.
Drupal. Advantages and disadvantages. Igor Rodionov.ADCI Solutions
 
Drupal theming must knows. Kate Kalashnikova.
Drupal theming must knows. Kate Kalashnikova.Drupal theming must knows. Kate Kalashnikova.
Drupal theming must knows. Kate Kalashnikova.ADCI Solutions
 
Drupal. History and Future. Sergey Susikov.
Drupal. History and Future. Sergey Susikov.Drupal. History and Future. Sergey Susikov.
Drupal. History and Future. Sergey Susikov.ADCI Solutions
 
Data Import From the Server of The Central Bank of the Russian Federation: Ho...
Data Import From the Server of The Central Bank of the Russian Federation: Ho...Data Import From the Server of The Central Bank of the Russian Federation: Ho...
Data Import From the Server of The Central Bank of the Russian Federation: Ho...ADCI Solutions
 
Drupal 8: What's new? Anton Shubkin
Drupal 8: What's new? Anton ShubkinDrupal 8: What's new? Anton Shubkin
Drupal 8: What's new? Anton ShubkinADCI Solutions
 
Contextly. Dmitry Tartynov
Contextly. Dmitry TartynovContextly. Dmitry Tartynov
Contextly. Dmitry TartynovADCI Solutions
 
Vagrant. Halturin Artem
Vagrant. Halturin ArtemVagrant. Halturin Artem
Vagrant. Halturin ArtemADCI Solutions
 
Must-knows and common mistakes in theming. Kate Kalashnikova.
Must-knows and common mistakes in theming. Kate Kalashnikova.Must-knows and common mistakes in theming. Kate Kalashnikova.
Must-knows and common mistakes in theming. Kate Kalashnikova.ADCI Solutions
 
Drupal 8. Movement towards. Susikov Sergey
Drupal 8. Movement towards. Susikov SergeyDrupal 8. Movement towards. Susikov Sergey
Drupal 8. Movement towards. Susikov SergeyADCI Solutions
 
Upgrade with 6 to 7. Denis Komel'kov
Upgrade with 6 to 7. Denis Komel'kovUpgrade with 6 to 7. Denis Komel'kov
Upgrade with 6 to 7. Denis Komel'kovADCI Solutions
 
Responsive website building approach. Olga Smolyankina and Kate Kalashnikova
Responsive website building approach. Olga Smolyankina and Kate KalashnikovaResponsive website building approach. Olga Smolyankina and Kate Kalashnikova
Responsive website building approach. Olga Smolyankina and Kate KalashnikovaADCI Solutions
 
Entity. Anton Shubkin and Yaroslav Ponomarev
Entity. Anton Shubkin and Yaroslav PonomarevEntity. Anton Shubkin and Yaroslav Ponomarev
Entity. Anton Shubkin and Yaroslav PonomarevADCI Solutions
 
LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.ADCI Solutions
 
Selenium. Stas Kuzminov
Selenium. Stas KuzminovSelenium. Stas Kuzminov
Selenium. Stas KuzminovADCI Solutions
 

More from ADCI Solutions (15)

Introduction to cron queue
Introduction to cron queueIntroduction to cron queue
Introduction to cron queue
 
Drupal. Advantages and disadvantages. Igor Rodionov.
Drupal. Advantages and disadvantages. Igor Rodionov.Drupal. Advantages and disadvantages. Igor Rodionov.
Drupal. Advantages and disadvantages. Igor Rodionov.
 
Drupal theming must knows. Kate Kalashnikova.
Drupal theming must knows. Kate Kalashnikova.Drupal theming must knows. Kate Kalashnikova.
Drupal theming must knows. Kate Kalashnikova.
 
Drupal. History and Future. Sergey Susikov.
Drupal. History and Future. Sergey Susikov.Drupal. History and Future. Sergey Susikov.
Drupal. History and Future. Sergey Susikov.
 
Data Import From the Server of The Central Bank of the Russian Federation: Ho...
Data Import From the Server of The Central Bank of the Russian Federation: Ho...Data Import From the Server of The Central Bank of the Russian Federation: Ho...
Data Import From the Server of The Central Bank of the Russian Federation: Ho...
 
Drupal 8: What's new? Anton Shubkin
Drupal 8: What's new? Anton ShubkinDrupal 8: What's new? Anton Shubkin
Drupal 8: What's new? Anton Shubkin
 
Contextly. Dmitry Tartynov
Contextly. Dmitry TartynovContextly. Dmitry Tartynov
Contextly. Dmitry Tartynov
 
Vagrant. Halturin Artem
Vagrant. Halturin ArtemVagrant. Halturin Artem
Vagrant. Halturin Artem
 
Must-knows and common mistakes in theming. Kate Kalashnikova.
Must-knows and common mistakes in theming. Kate Kalashnikova.Must-knows and common mistakes in theming. Kate Kalashnikova.
Must-knows and common mistakes in theming. Kate Kalashnikova.
 
Drupal 8. Movement towards. Susikov Sergey
Drupal 8. Movement towards. Susikov SergeyDrupal 8. Movement towards. Susikov Sergey
Drupal 8. Movement towards. Susikov Sergey
 
Upgrade with 6 to 7. Denis Komel'kov
Upgrade with 6 to 7. Denis Komel'kovUpgrade with 6 to 7. Denis Komel'kov
Upgrade with 6 to 7. Denis Komel'kov
 
Responsive website building approach. Olga Smolyankina and Kate Kalashnikova
Responsive website building approach. Olga Smolyankina and Kate KalashnikovaResponsive website building approach. Olga Smolyankina and Kate Kalashnikova
Responsive website building approach. Olga Smolyankina and Kate Kalashnikova
 
Entity. Anton Shubkin and Yaroslav Ponomarev
Entity. Anton Shubkin and Yaroslav PonomarevEntity. Anton Shubkin and Yaroslav Ponomarev
Entity. Anton Shubkin and Yaroslav Ponomarev
 
LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.LESS and even more. Anton Shubkin.
LESS and even more. Anton Shubkin.
 
Selenium. Stas Kuzminov
Selenium. Stas KuzminovSelenium. Stas Kuzminov
Selenium. Stas Kuzminov
 

Recently uploaded

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Drupal front-end performance

  • 2.
  • 3. ● 44 requests for anonymous user ● 60 requests for administrator
  • 4.
  • 5.
  • 6. ● 28 requests for anonymous user ● 39 requests for administrator
  • 8. ● Better user experience ● Higher conversion rate ● SEO
  • 10. ● 80-95% of performance happens in the front end ● Amazon: 100ms cost 1% of sales ● Yahoo: 400ms improvement ~9% traffic ● Firefox: 2.2s improvement ~15.4% downloads
  • 11. Tools
  • 12. ● Yslow ● PageSpeed ● Chrome DevTools ● Firebug
  • 13. ● Use fewer HTTP requests ● Use CDN ● Avoid empty src or href ● Add Expires header ● Compress components with gzip ● Put CSS at top ● Put JS at bottom ● Make JS and CSS external ● Reduce DNS lookups
  • 14. ● Minify JS and CSS ● Avoid URL redirects ● Remove duplicate CSS and JS ● Configure ETags ● Make AJAX cacheable ● Use GET for AJAX requests ● Reduce number of DOM elements ● Avoid HTTP 404 error ● Reduce cookie size
  • 15. ● Use cookie-free domains ● Avoid AlphaImageLoader filter ● Do not scale images in HTML ● Make favicon small and cacheable
  • 16. Advanced CSS/JS Aggregation ● gzip CSS/JS ● Bundler: groups files together ● CSS/JS compression ● CSS/JS validation ● JS to the footer ● lot-lot more options
  • 17. Advanced CSS/JS Aggregation ● 23.4KB vs 4.5KB gzipped CSS (~80% decrease) ● 93.9KB vs 32.3KB gzipped JS (~65% decrease) ● 23.4KB vs 4.4KB gzip + minify CSS (~81% decrease) ● 93.9KB vs 28.5KB gzip + minify JS (~70% decrease)
  • 18. CSS
  • 19. Write your styles cleverly ● SMACSS ● BEM ● Object Oriented CSS
  • 20. Write your styles cleverly ● SMACSS ● BEM ● Object Oriented CSS ● SASS / Compass ● Less ● ...
  • 22. Do not do a lot to support legacy browsers!!!
  • 25. Remove unused CSS Adaptive Theme
  • 26. Remove unused CSS Tao function tao_css_alter(&$css) { $exclude = array( 'misc/vertical-tabs.css' => FALSE, 'modules/aggregator/aggregator.css' => FALSE, 'modules/block/block.css' => FALSE, 'modules/book/book.css' => FALSE, 'modules/comment/comment.css' => FALSE, //... 'modules/update/update.css' => FALSE, 'modules/user/user.css' => FALSE, ); $css = array_diff_key($css, $exclude); }
  • 27. Use CSS sprites 3.85KB 2.5KB
  • 28. Also ● Icon Fonts ● SVG
  • 29. jQuery Update Default: 1.4.4 (2010.11.11) jQuery Update: 1.7 site’s theme + 1.5 admin pages
  • 31. Do not set 100% quality
  • 32. 100% quality Original JPEG: 640x480px, 49.38KB ● No effects: 151KB ● Rotate 360°: 151KB ● Scale 2000px x 100%, no upscaling: 151KB ● Scale & Crop 480x360px: 139KB
  • 33. 100% quality Original JPEG: 640x480px, 49.38KB ● No effects: 151KB ● Rotate 360°: 151KB ● Scale 2000px x 100%, no upscaling: 151KB ● Scale & Crop 480x360px: 139KB
  • 34. ● Image Lazyloader ● Picture + Breakpoints
  • 35. Markup ● Fences ● Views style settings
  • 36. See also ● CDN ● Magic ● Speedy ● Minify ● Core Library ● UglifyJS