SlideShare a Scribd company logo
1 of 28
Download to read offline
Optimizing For Performance
       Make Your WordPress Blog Faster




Chris Olbekson
http://C3mdigital.com
http://Twitter.com/chris_olbekson
http://wordpress.org/support/profile/c3mdigital
Why Performance Matters?

• User Experience
• Search Engine Rankings
• Server Resources / Costs
• Digg Slashdot Effect
• Clients / Users Will Love You
1   Front End Performance

2   Caching WordPress

3   Server Optimization
Front End Performance
Basic Concepts

1.   Make Fewer File Requests
2.   Progressive Rendering
3.   Concurrent Downloads
4.   Expires Headers / Browser Caching
5.   Reduce File Size With gzip Encoding
Performance Grading
         YSlow from Yahoo
         Use a CDN
         Make fewer HTTP requests
         Add Expires headers
         Compress components with gzip
         Put CSS at top
         Put Javascript at bottom
         Avoid CSS expressions
         Make JavaScript and CSS external
         Reduce DNS lookups
         Minify JavaScript and CSS
         Avoid URL redirects
         Configure Etags
         Make Ajax cacheable
         Reduce cookie size
         Use cookie-free domains
         Do not scale images
Performance Grading
           Google Page Speed
           Parallelize Downloads Across
           Hostnames
           Specify image dimensions
           Leverage browser caching
           Minify HTML
           Minify JavaScript
           Optimize Images
           Serve Static Content from a
           cookieless domain
           Specify a Vary Accecpt-
           Encoding header
           Specify a cache validator
           Remove unused CSS
           Use efficient CSS selectors
Front End Performance
             Lets Start Optimizing
1. Make Fewer File Requests
       CSS Sprites




 http://wordcamp-houston.pastebin.com/Lcu93yjj
Front End Performance
             Lets Start Optimizing
1. Make Fewer File Requests
       CSS Sprites




 http://wordcamp-houston.pastebin.com/VLAYsFGv
Front End Performance
              Lets Start Optimizing
1. Make Fewer File Requests
       CSS Sprites

  http://spriteme.org/
  SpriteMe does all the work for you
  And renders the changes live in the
  Browser to verify it worked
Front End Performance
             Lets Start Optimizing
1. Make Fewer File Requests
       CSS Sprites
       Combine and Minify External JavaScript and CSS

           W3 Total Cache Does This For You
Front End Performance
             Lets Start Optimizing
1. Make Fewer File Requests
       CSS Sprites
       Combine and Minify External JavaScript and CSS
       Death by Share This Social Media buttons
Front End Performance
             Lets Start Optimizing
      CSS Sprites
      Combine and Minify External JavaScript and CSS
      Death by Share This Social Media Buttons
      Improving Social Media Button Performance

  Embed social media buttons in <iframe>’s to promote progressive
  rendering




http://wordcamp-houston.pastebin.com/YsEfB4hZ
Front End Performance
                Lets Start Optimizing
  Concurrent Downloads

CSS at the Top and Js at the Bottom
= “The Waterfall Effect”
JavaScript in <head> causes the white
Page effect



  Tip: Use Google CDN for jQuery




http://wordcamp-houston.pastebin.com/hWegNNeV
Front End Performance
         Lets Start Optimizing
 Leverage Browser Caching with Expires Headers and
 Public/Proxy Cache Control Headers
 Enable gzip Compression for Reduced File Sizes




                                 =
http://wordcamp-houston.pastebin.com/9C8nQNTT
Caching WordPress
             Lets Optimize Some More

Caching increases performance 10x to 1000x
Types of Caching:
  Static Page Caching
  Opcode(PHP) & Object Caching with:
     A.P.C., eAccelerator, X-Cache
  Memcached Server with PECL Memcache Extension
  WordPress Transient API
Caching WordPress
              Lets Optimize Some More
Static Page Caching >> Fast

    Stores a WordPress page as static HTML
    Cache can be rebuilt via page loads ->> Good
    Cache can be rebuilt via WordPress cron job >> Much Better

    Always server non logged in users a static version of the page
Caching WordPress
          Lets Optimize Some More
Static Page Caching + Opcode Caching >> Much Faster


       Best Performance when running PHP as DSO(mod_php)
       Does not work as well when running mod_fcgid (cPanel)
       Better with mod_fastcgi
       Does not work with suPHP
Caching WordPress
          Lets Optimize Some More
Static Page Caching + Opcode Caching >> Much Faster
        A.P.C.
                                 Caches PHP
                                 in-memory key/value store
                                 Stable
                                 Relatively Easy to Install
                                 Easy to Configure
                                 Supports WordPress built in Object Caching API
                                 Use with Plugins
                                       W3-Total Cache >> Fastest
                                       Mark Jaquith’s APC Object-Cache Backend
                                     Plugin

                              Does not work with Zend Optimizer
Caching WordPress
            Lets Optimize Some More
Static Page Caching + Opcode Caching >> Much Faster
         A.P.C. – Compile from Source




http://wordcamp-houston.pastebin.com/XTE9Dti5
Caching WordPress
          Lets Optimize Some More
Static Page Caching + Opcode Caching >> Much Faster
        eAccelerator
                                Caches PHP
                                in-memory key/value store
                                Stable >>Most Stable
                                Easy to Install
                                Easy to Configure
                                Supports WordPress built in Object Caching API
                                      Stopped Supporting Object Cache after
                                    version.9.5.3 current version=0.9.6.1

                                    Can be used as a Zend extesion
Caching WordPress
          Lets Optimize Some More
Static Page Caching + Opcode Caching >> Much Faster
        X-Cache
                                Caches PHP
                                in-memory key/value store
                                Not as Stable
                                Easy to Install
                                Easy to Configure
                                Supports WordPress built in Object Caching API
                                Harder to Configure
Caching WordPress
          Lets Optimize Some More
Static Page Caching + Opcode Caching >> Much Faster
        Memcached + Memcached Server
                               Persist across multiple servers
                               Cache stored in memory
                               Harder to configure
                               Supports WordPress built in Transient API
                               Used across WordPress.com server infrastructure
                               Isn’t effected by web server restarts
                               Works together with Batcache and WordPress
                              Object Cache
Caching WordPress
             Lets Optimize Some More
Static Page Caching + Opcode Caching >> Much Faster
          Memcached + WordPress Transient API
    Transients are small fragments of data that you expect to expire
    that WordPress stores as cache in MySQL

    If Memcached is installed WordPress will store the cache in memory
Caching WordPress
               Lets Optimize Some More
   Static Page Caching + Opcode Caching >> Much Faster
             Memcached + WordPress Transient API

                                    Get Twitter status updates and store
                                    them as a Transient. You choose
                                    when they expire. If Transient is
                                    expired automatically returns false.




http://wordcamp-houston.pastebin.com/ndWRB0WB
Server Optimization
 LAMP Stack                             LEMP Stack
Traditional Server environment          Alternate Server environment
Linux –Apache-MySQL-PHP                 Linux-NGINX-MySQL-PHP

                    Choose Your Flavor of Linux
                   Arch Linux 2010.05 (i386 and x86_64)
                   CentOS 5.5 (i386 and x86_64)
                   Debian 5.0 (i386 and x86_64)
                   Fedora 13 (i386 and x86_64)
                   Slackware 13.1 (i386 and x86_64)
                   Ubuntu 10.04 LTS (i386 and x86_64)
                   OpenSUSE 11.0
                   Gentoo 2008.0 (i386 and x86_64)
Server Optimization
LAMP Stack
Linux –Apache-MySQL-PHP

                          Apache Web Server
                          •Why are there so many directives?
                          •Why are dynamic vhosts so darned hard?
                          •Hackers Love it!
Server Optimization
                           LEMP LEAP Stack
                     Insanely Fast WordPress
                     Linux-NGINX (Reverse Proxy)-Apache-PHP
Nginx is a lightweight, high-performance Web server/reverse proxy that does
one thing really well and that is to serve content at insanely fast speeds.

Nginx listens for http connections on port:80 and serves static content
directly while passing off the PHP to the Apache backend. Apache vhost must
be changed to listen on alternate port.
Server Optimization
       LEAP Stack Benchmark Results

       # ab –n 1000 –c 100 http://mywpsite.com/

       1000 Requests carried out 100 at a time

       Result:
       1712.33 Requests completed per second

        The Server:
        XEN VPS w/ Debian Lenny 1000M Ram

        WordPress Environment:
        W3-Total Cache using Memcached Object
        Cache and enhanced disk page cache

More Related Content

What's hot

High performance WordPress
High performance WordPressHigh performance WordPress
High performance WordPressMikel King
 
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Hostway|HOSTING
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!WordCamp Cape Town
 
How to Install Magento on Google Cloud Engine (GCE)
How to Install Magento on Google Cloud Engine (GCE)How to Install Magento on Google Cloud Engine (GCE)
How to Install Magento on Google Cloud Engine (GCE)Cloudways
 
High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010Barry Abrahamson
 
The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)Venugopal Gummadala
 
WordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineWordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineNGINX, Inc.
 
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014Vlad Lasky
 
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012eballisty
 
High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPressBarry Abrahamson
 
ServerBeach and WordPress BlogWorldExpo 2007
ServerBeach and WordPress BlogWorldExpo 2007ServerBeach and WordPress BlogWorldExpo 2007
ServerBeach and WordPress BlogWorldExpo 2007Barry Abrahamson
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAndrew Khoury
 
High Performance WordPress II
High Performance WordPress IIHigh Performance WordPress II
High Performance WordPress IIBarry Abrahamson
 
Configuring Apache Servers for Better Web Perormance
Configuring Apache Servers for Better Web PerormanceConfiguring Apache Servers for Better Web Perormance
Configuring Apache Servers for Better Web PerormanceSpark::red
 
Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Alan Lok
 
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...OVHcloud
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetAchieve Internet
 
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016Vlad Lasky
 

What's hot (19)

High performance WordPress
High performance WordPressHigh performance WordPress
High performance WordPress
 
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
Tuning the Performance of Your ColdFusion Environment to Racecar Specs!
 
Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!Anthony Somerset - Site Speed = Success!
Anthony Somerset - Site Speed = Success!
 
S903 palla
S903 pallaS903 palla
S903 palla
 
How to Install Magento on Google Cloud Engine (GCE)
How to Install Magento on Google Cloud Engine (GCE)How to Install Magento on Google Cloud Engine (GCE)
How to Install Magento on Google Cloud Engine (GCE)
 
High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010High Performance WordPress - WordCamp Jerusalem 2010
High Performance WordPress - WordCamp Jerusalem 2010
 
The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)
 
WordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineWordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngine
 
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014Make WordPress Fly With Virtual Server Hosting  - WordCamp Sydney 2014
Make WordPress Fly With Virtual Server Hosting - WordCamp Sydney 2014
 
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
 
High Performance WordPress
High Performance WordPressHigh Performance WordPress
High Performance WordPress
 
ServerBeach and WordPress BlogWorldExpo 2007
ServerBeach and WordPress BlogWorldExpo 2007ServerBeach and WordPress BlogWorldExpo 2007
ServerBeach and WordPress BlogWorldExpo 2007
 
Adobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office HoursAdobe AEM Maintenance - Customer Care Office Hours
Adobe AEM Maintenance - Customer Care Office Hours
 
High Performance WordPress II
High Performance WordPress IIHigh Performance WordPress II
High Performance WordPress II
 
Configuring Apache Servers for Better Web Perormance
Configuring Apache Servers for Better Web PerormanceConfiguring Apache Servers for Better Web Perormance
Configuring Apache Servers for Better Web Perormance
 
Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015
 
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
Web agencies: An analysis of the OVH infrastructure to optimise your web proj...
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
 
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
Tips for Fixing a Hacked WordPress Site - WordCamp Sydney 2016
 

Viewers also liked

Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimizationpaudelvinay
 
Optimizing WordPress for Speed and Conversions by David Vogelpohl
Optimizing WordPress for Speed and Conversions by David VogelpohlOptimizing WordPress for Speed and Conversions by David Vogelpohl
Optimizing WordPress for Speed and Conversions by David VogelpohlAffiliate Summit
 
Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization Strangeloop
 
The Dark Side of the WordPress Speed Optimizations
The Dark Side of the WordPress Speed OptimizationsThe Dark Side of the WordPress Speed Optimizations
The Dark Side of the WordPress Speed OptimizationsSiteGround.com
 
Wordpress horsepower
Wordpress horsepowerWordpress horsepower
Wordpress horsepowerRoss Johnson
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerRoss Johnson
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it worksIlya Grigorik
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecturerohitnayak
 

Viewers also liked (8)

Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
 
Optimizing WordPress for Speed and Conversions by David Vogelpohl
Optimizing WordPress for Speed and Conversions by David VogelpohlOptimizing WordPress for Speed and Conversions by David Vogelpohl
Optimizing WordPress for Speed and Conversions by David Vogelpohl
 
Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization Marrying CDNs with Front-End Optimization
Marrying CDNs with Front-End Optimization
 
The Dark Side of the WordPress Speed Optimizations
The Dark Side of the WordPress Speed OptimizationsThe Dark Side of the WordPress Speed Optimizations
The Dark Side of the WordPress Speed Optimizations
 
Wordpress horsepower
Wordpress horsepowerWordpress horsepower
Wordpress horsepower
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress Horsepower
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
 
Selenium Architecture
Selenium ArchitectureSelenium Architecture
Selenium Architecture
 

Similar to Make Your WordPress Blog Faster with Performance Optimization

Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPressJosh Highland Giese
 
wordpress-performance-presentation
wordpress-performance-presentationwordpress-performance-presentation
wordpress-performance-presentationArun Janarthanan
 
I Can Haz More Performanz?
I Can Haz More Performanz?I Can Haz More Performanz?
I Can Haz More Performanz?Andy Melichar
 
Understanding Web Cache
Understanding Web CacheUnderstanding Web Cache
Understanding Web CacheProdigyView
 
Rock Solid WordPress
Rock Solid WordPressRock Solid WordPress
Rock Solid WordPressErik Osterman
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesExove
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sitesdrupalcampest
 
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfWordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfcodearachnid_test
 
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfWordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfcodearachnid_test
 
Sofia WP User Group Presentation
Sofia WP User Group PresentationSofia WP User Group Presentation
Sofia WP User Group PresentationDaniel Kanchev
 
Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariJoseph Scott
 
Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on WindowsJosh Holmes
 
Roshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sitesRoshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic siteswpnepal
 
Scaling wordpress for high traffic
Scaling wordpress for high trafficScaling wordpress for high traffic
Scaling wordpress for high trafficRoshan Bhattarai
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimizationAlmog Baku
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningTimothy Wood
 
Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeDanilo Ercoli
 

Similar to Make Your WordPress Blog Faster with Performance Optimization (20)

Caching 101
Caching 101Caching 101
Caching 101
 
Optimizing the performance of WordPress
Optimizing the performance of WordPressOptimizing the performance of WordPress
Optimizing the performance of WordPress
 
wordpress-performance-presentation
wordpress-performance-presentationwordpress-performance-presentation
wordpress-performance-presentation
 
I Can Haz More Performanz?
I Can Haz More Performanz?I Can Haz More Performanz?
I Can Haz More Performanz?
 
Understanding Web Cache
Understanding Web CacheUnderstanding Web Cache
Understanding Web Cache
 
Rock Solid WordPress
Rock Solid WordPressRock Solid WordPress
Rock Solid WordPress
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sites
 
Drupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance SitesDrupalcamp Estonia - High Performance Sites
Drupalcamp Estonia - High Performance Sites
 
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfWordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdf
 
WordCamp RVA
WordCamp RVAWordCamp RVA
WordCamp RVA
 
WordCamp RVA
WordCamp RVAWordCamp RVA
WordCamp RVA
 
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdfWordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdf
 
Sofia WP User Group Presentation
Sofia WP User Group PresentationSofia WP User Group Presentation
Sofia WP User Group Presentation
 
Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to FerrariSite Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
 
Wordpress on Windows
Wordpress on WindowsWordpress on Windows
Wordpress on Windows
 
Roshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sitesRoshan Bhattarai: Scaling WordPress for high traffic sites
Roshan Bhattarai: Scaling WordPress for high traffic sites
 
Scaling wordpress for high traffic
Scaling wordpress for high trafficScaling wordpress for high traffic
Scaling wordpress for high traffic
 
Wordpress optimization
Wordpress optimizationWordpress optimization
Wordpress optimization
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
 
Improve WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of codeImprove WordPress performance with caching and deferred execution of code
Improve WordPress performance with caching and deferred execution of code
 

More from Chris Olbekson

Magical WordPress Development with Vagrant
Magical WordPress Development with VagrantMagical WordPress Development with Vagrant
Magical WordPress Development with VagrantChris Olbekson
 
Managing themes and server environments with extensible configuration arrays
Managing themes and server environments with extensible configuration arraysManaging themes and server environments with extensible configuration arrays
Managing themes and server environments with extensible configuration arraysChris Olbekson
 
The Query the Whole Query and Nothing but the Query
The Query the Whole Query and Nothing but the QueryThe Query the Whole Query and Nothing but the Query
The Query the Whole Query and Nothing but the QueryChris Olbekson
 
WordPress Houston Meetup - Using WordPress as a CMS
WordPress Houston Meetup - Using WordPress as a CMSWordPress Houston Meetup - Using WordPress as a CMS
WordPress Houston Meetup - Using WordPress as a CMSChris Olbekson
 
Cognac gautier presentation
Cognac gautier   presentationCognac gautier   presentation
Cognac gautier presentationChris Olbekson
 
Theme frameworks & child themes
Theme frameworks & child themesTheme frameworks & child themes
Theme frameworks & child themesChris Olbekson
 

More from Chris Olbekson (6)

Magical WordPress Development with Vagrant
Magical WordPress Development with VagrantMagical WordPress Development with Vagrant
Magical WordPress Development with Vagrant
 
Managing themes and server environments with extensible configuration arrays
Managing themes and server environments with extensible configuration arraysManaging themes and server environments with extensible configuration arrays
Managing themes and server environments with extensible configuration arrays
 
The Query the Whole Query and Nothing but the Query
The Query the Whole Query and Nothing but the QueryThe Query the Whole Query and Nothing but the Query
The Query the Whole Query and Nothing but the Query
 
WordPress Houston Meetup - Using WordPress as a CMS
WordPress Houston Meetup - Using WordPress as a CMSWordPress Houston Meetup - Using WordPress as a CMS
WordPress Houston Meetup - Using WordPress as a CMS
 
Cognac gautier presentation
Cognac gautier   presentationCognac gautier   presentation
Cognac gautier presentation
 
Theme frameworks & child themes
Theme frameworks & child themesTheme frameworks & child themes
Theme frameworks & child themes
 

Recently uploaded

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Recently uploaded (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Make Your WordPress Blog Faster with Performance Optimization

  • 1. Optimizing For Performance Make Your WordPress Blog Faster Chris Olbekson http://C3mdigital.com http://Twitter.com/chris_olbekson http://wordpress.org/support/profile/c3mdigital
  • 2. Why Performance Matters? • User Experience • Search Engine Rankings • Server Resources / Costs • Digg Slashdot Effect • Clients / Users Will Love You
  • 3. 1 Front End Performance 2 Caching WordPress 3 Server Optimization
  • 4. Front End Performance Basic Concepts 1. Make Fewer File Requests 2. Progressive Rendering 3. Concurrent Downloads 4. Expires Headers / Browser Caching 5. Reduce File Size With gzip Encoding
  • 5. Performance Grading YSlow from Yahoo Use a CDN Make fewer HTTP requests Add Expires headers Compress components with gzip Put CSS at top Put Javascript at bottom Avoid CSS expressions Make JavaScript and CSS external Reduce DNS lookups Minify JavaScript and CSS Avoid URL redirects Configure Etags Make Ajax cacheable Reduce cookie size Use cookie-free domains Do not scale images
  • 6. Performance Grading Google Page Speed Parallelize Downloads Across Hostnames Specify image dimensions Leverage browser caching Minify HTML Minify JavaScript Optimize Images Serve Static Content from a cookieless domain Specify a Vary Accecpt- Encoding header Specify a cache validator Remove unused CSS Use efficient CSS selectors
  • 7. Front End Performance Lets Start Optimizing 1. Make Fewer File Requests CSS Sprites http://wordcamp-houston.pastebin.com/Lcu93yjj
  • 8. Front End Performance Lets Start Optimizing 1. Make Fewer File Requests CSS Sprites http://wordcamp-houston.pastebin.com/VLAYsFGv
  • 9. Front End Performance Lets Start Optimizing 1. Make Fewer File Requests CSS Sprites http://spriteme.org/ SpriteMe does all the work for you And renders the changes live in the Browser to verify it worked
  • 10. Front End Performance Lets Start Optimizing 1. Make Fewer File Requests CSS Sprites Combine and Minify External JavaScript and CSS W3 Total Cache Does This For You
  • 11. Front End Performance Lets Start Optimizing 1. Make Fewer File Requests CSS Sprites Combine and Minify External JavaScript and CSS Death by Share This Social Media buttons
  • 12. Front End Performance Lets Start Optimizing CSS Sprites Combine and Minify External JavaScript and CSS Death by Share This Social Media Buttons Improving Social Media Button Performance Embed social media buttons in <iframe>’s to promote progressive rendering http://wordcamp-houston.pastebin.com/YsEfB4hZ
  • 13. Front End Performance Lets Start Optimizing Concurrent Downloads CSS at the Top and Js at the Bottom = “The Waterfall Effect” JavaScript in <head> causes the white Page effect Tip: Use Google CDN for jQuery http://wordcamp-houston.pastebin.com/hWegNNeV
  • 14. Front End Performance Lets Start Optimizing Leverage Browser Caching with Expires Headers and Public/Proxy Cache Control Headers Enable gzip Compression for Reduced File Sizes = http://wordcamp-houston.pastebin.com/9C8nQNTT
  • 15. Caching WordPress Lets Optimize Some More Caching increases performance 10x to 1000x Types of Caching: Static Page Caching Opcode(PHP) & Object Caching with: A.P.C., eAccelerator, X-Cache Memcached Server with PECL Memcache Extension WordPress Transient API
  • 16. Caching WordPress Lets Optimize Some More Static Page Caching >> Fast Stores a WordPress page as static HTML Cache can be rebuilt via page loads ->> Good Cache can be rebuilt via WordPress cron job >> Much Better Always server non logged in users a static version of the page
  • 17. Caching WordPress Lets Optimize Some More Static Page Caching + Opcode Caching >> Much Faster Best Performance when running PHP as DSO(mod_php) Does not work as well when running mod_fcgid (cPanel) Better with mod_fastcgi Does not work with suPHP
  • 18. Caching WordPress Lets Optimize Some More Static Page Caching + Opcode Caching >> Much Faster A.P.C. Caches PHP in-memory key/value store Stable Relatively Easy to Install Easy to Configure Supports WordPress built in Object Caching API Use with Plugins W3-Total Cache >> Fastest Mark Jaquith’s APC Object-Cache Backend Plugin Does not work with Zend Optimizer
  • 19. Caching WordPress Lets Optimize Some More Static Page Caching + Opcode Caching >> Much Faster A.P.C. – Compile from Source http://wordcamp-houston.pastebin.com/XTE9Dti5
  • 20. Caching WordPress Lets Optimize Some More Static Page Caching + Opcode Caching >> Much Faster eAccelerator Caches PHP in-memory key/value store Stable >>Most Stable Easy to Install Easy to Configure Supports WordPress built in Object Caching API Stopped Supporting Object Cache after version.9.5.3 current version=0.9.6.1 Can be used as a Zend extesion
  • 21. Caching WordPress Lets Optimize Some More Static Page Caching + Opcode Caching >> Much Faster X-Cache Caches PHP in-memory key/value store Not as Stable Easy to Install Easy to Configure Supports WordPress built in Object Caching API Harder to Configure
  • 22. Caching WordPress Lets Optimize Some More Static Page Caching + Opcode Caching >> Much Faster Memcached + Memcached Server Persist across multiple servers Cache stored in memory Harder to configure Supports WordPress built in Transient API Used across WordPress.com server infrastructure Isn’t effected by web server restarts Works together with Batcache and WordPress Object Cache
  • 23. Caching WordPress Lets Optimize Some More Static Page Caching + Opcode Caching >> Much Faster Memcached + WordPress Transient API Transients are small fragments of data that you expect to expire that WordPress stores as cache in MySQL If Memcached is installed WordPress will store the cache in memory
  • 24. Caching WordPress Lets Optimize Some More Static Page Caching + Opcode Caching >> Much Faster Memcached + WordPress Transient API Get Twitter status updates and store them as a Transient. You choose when they expire. If Transient is expired automatically returns false. http://wordcamp-houston.pastebin.com/ndWRB0WB
  • 25. Server Optimization LAMP Stack LEMP Stack Traditional Server environment Alternate Server environment Linux –Apache-MySQL-PHP Linux-NGINX-MySQL-PHP Choose Your Flavor of Linux Arch Linux 2010.05 (i386 and x86_64) CentOS 5.5 (i386 and x86_64) Debian 5.0 (i386 and x86_64) Fedora 13 (i386 and x86_64) Slackware 13.1 (i386 and x86_64) Ubuntu 10.04 LTS (i386 and x86_64) OpenSUSE 11.0 Gentoo 2008.0 (i386 and x86_64)
  • 26. Server Optimization LAMP Stack Linux –Apache-MySQL-PHP Apache Web Server •Why are there so many directives? •Why are dynamic vhosts so darned hard? •Hackers Love it!
  • 27. Server Optimization LEMP LEAP Stack Insanely Fast WordPress Linux-NGINX (Reverse Proxy)-Apache-PHP Nginx is a lightweight, high-performance Web server/reverse proxy that does one thing really well and that is to serve content at insanely fast speeds. Nginx listens for http connections on port:80 and serves static content directly while passing off the PHP to the Apache backend. Apache vhost must be changed to listen on alternate port.
  • 28. Server Optimization LEAP Stack Benchmark Results # ab –n 1000 –c 100 http://mywpsite.com/ 1000 Requests carried out 100 at a time Result: 1712.33 Requests completed per second The Server: XEN VPS w/ Debian Lenny 1000M Ram WordPress Environment: W3-Total Cache using Memcached Object Cache and enhanced disk page cache