SlideShare a Scribd company logo
23 Ways To Speed Up WordPress
1. Minify css & js
2. Cache everything
3. Reduce external service calls
4. Replace “heavy” plugins
5. Reduce number of plugins
6. Don’t use “Super Themes”
7. Compress images
8. Use lazy loading
9. Use image sprites in your theme
10. Use a CDN
11. Disable image hotlinking
12. Use expires header
13. Reduce post revisions
14. Turn off pingbacks & trackbacks
15. Upgrade server hosting plan
16. Tune Apache
17. Replace Apache with NGINX
18. Add server cache
19. Optimise database (DB)
20. Move MySQL DB server
21. Replace MySQL with MariaDB
22. Upgrade to PHP 7
23. Load Balancing
Google likes fast sites = higher rankings
People don’t like to wait = they will go elsewhere
Fast sites can serve more visitors = better
conversion for you
Slow sites just plain suck!
How fast (or slow) do your web pages load?
Use: Pingdom Website Speed Test or Google PageSpeed
Tools
Make sure you test landing and popular pages and not
just the homepage!
23 Ways To Speed Up WordPress
Strips out whitespaces from CSS and JavaScript files.
= files are smaller = faster download
Better WordPress Minify
https://wordpress.org/plugins/bwp-minify/
Note: not all JavaScript files like to be minified. You can
also specify exclusion files to get around this issue.
Stores a “built” html web page & serves that to visitors
rather than dynamically build PHP page each time.
Caching can fit into different infrastructure layers:
• Browser Caching
Sending correct expiry headers on your web pages/elements
Browsers can then store and use already downloaded pages
• Server Caching
Usually a built-in web server module or an executable running
interacting with web server process. Or use caching plugins.
WP Super Cache - https://wordpress.org/plugins/wp-super-cache/
• Good introductory method of caching
• Minimal options – easy interface
W3 Total Cache - https://wordpress.org/plugins/w3-total-cache/
• Does a lot more than just caching: Minify, CDN, WP-
CLI support etc.
• Interface has a lot of options
• Needs to be set up properly
• Better for Nginx
Reduce external service calls as much as possible.
e.g. Facebook Likes, Twitter Feeds, RSS, Instagram Pics
Pages stop loading and wait until the external service
(server) responds.
Do you really need them all in a sidebar? On all pages?
You don’t have any control over the external service!
If you’re a WordPress developer, consider using or
developing a plugin which caches the external API data.
Do you really need to ask Twitter ever second for your
latest 3 Tweets? How often do you Tweet?
Think caching. Think WordPress transients.
Which plugins are using the most server resources?
Use P3 (Plugin Performance Profiler) to find out!
Consider each plugin you “need”.
Every plugin
– comes with libraries (files) that need to be loaded from the
web server (for each page you use them on)
– calls the database (many times)
Does your plugin do one job or 30 different things?
Try to reduce the number of plugins you have or replace
bloated ones.
Super themes do everything but walk the dog these
days = lots of scripts & styles to load in = slow slow slow
What % of the super theme features do you use/need?
Can featured be turned on/off or are they loaded on
every page?
Can you replace with a simpler theme & specific
plugins?
Cameras and image editing software embed Meta Data
in images
– Colour Depth, Algorithm, Watermark, Geo & EXIF Data, …
Website visitors don’t need this = get rid of it!
Plugin: WP Smush.it
Developers: grunt-smushit, grunt-contrib-imagemin
PC: PNGGauntlet, Caesium Mac: ImageOptim
Note: JPGs compress better than PNGs
Loading data (images) inside screen area (viewport)
only. Images outside viewport are not loaded = fast
Easy for a developer to implement or use a plugin
e.g. BJ Lazy Load
Page only loads data that is needed by the viewport.
This can drastically decrease initial page load time!!
Sprite = 1 large mosaic image made up of smaller images
Use CSS to position image in place.
Sprites can be cached by browser = super fast!
CDNs are located world wide. Data is downloaded from
the CDN server closest to your geo location = faster
CDN
Plugin: Jetpack – contains FREE Photon CDN for images
*** FREE! ***
Others (not free): MaxCDN, CloudFlare, WPPronto
Note: W3 Total Cache can connect to CDNs
Hotlinking is when an external site links directly to an
image on your website server 
Can also be considered copyright theft!
Add to .htaccess (replace your-domain.com)
Note: you may have to add an exception for your external RSS feed
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?your-domain.com/.*$ [NC]
RewriteRule .(gif|jpe?g|png)$ - [F]
Static images that don’t change often can be cached
safely in the browser by using an Expires header
Add to .htaccess
Note: A2592000 is 1 month in seconds
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/jpeg A2592000
WordPress stored unlimited post revisions = database
bloat.
Large databases = slower website
Use the Revision Control to limit post revisions to 2 or 3
or whatever number makes you comfortable.
Turn these off!
Every time another blog mentions you, it notifies your
site, which in turn updates data on the post, slowing
down your site with processing.
Don’t worry! You won’t lose backlink SEO juice.
There’s a lot you can do to increase the speed of the
server.
Some solutions are quite technical to implement but you
need to analyse server data first.
First you need to find out what’s eating up all your
server resources.
Which server resources are being hammered?
Use New Relic (free version is fine)
23 Ways To Speed Up WordPress
23 Ways To Speed Up WordPress
On shared hosting  Upgrade to a VPS or managed
hosting
– Managed: Pagely, WPEngine, WPHosting
– Some restrictions on using certain plugins
Have a VPS? Upgrade CPU and/or RAM (memory)
Invest in SSD’s (solid state drives: like a USB stick)
Use ApacheBench – measures Apache performance by
simulating server loads (number of visitors & page hits)
How to tune? Depends..
Single site? Multiple Sites? How many clients is Apache
configured to use? How much RAM per httpd process
is allocated?
Great basic Apache tuning resource: http://bit.ly/123lscP
More advanced Apache tuning: http://bit.ly/1t8tZFl
Apache is very resource hungry.
It loads heaps of modules you may never need.
Replace with Nginx + PHP-FPM
( Pronounced “engine-x” )
Nginx is immensely faster than Apache, scales better
and has a lower memory footprint.
Varnish cache works really well with Nginx and PHP
Nginx
(web server for SSL)
Varnish
(server cache)
Nginx
(web server to pass to PHP)
PHP
(application stack)
Reason for Nginx up front is Varnish doesn’t handle SSL
termination requests (decryption & passing plain-text)
All WordPress post content (except for images) are kept
in the database.
Keep database size to a minimum with WP-Sweep.
“WP-Sweep allows you to clean up unused, orphaned
and duplicated data in your WordPress. It also
optimizes your database tables.”
Stick your MySQL DB on another server
First steps in “scaling out” (vertical scaling).
– Scaling up is adding more memory & CPU power to same
machine. You will hit a physical limit.
– Scaling out is adding more servers. Limitless.
VPS 1 VPS 2
NGINX MYSQL
MariaDB is a community-developed fork of the MySQL
relational database management system intended to
remain free under the GNU GPL.
MySQL owned by Oracle who acquired Sun
Microsystems.
Written by the original developer of MySQL Michael
"Monty" Widenius.
Direct replacement for MySQL
Performance: MariaDB 10.1 (green) vs MySQL 5.7.4 (red)
Ref: http://www.zend.com/en/resources/php7_infographic
Ref: http://php.net/manual/en/migration70.php
Load balancers try to send traffic to least busy server.
Use HAProxy for true scaling out.
MYSQL
HAProxy
VARNISH
NGINX
PHP
NGINX
PHP
NGINX
[Front Cover] wikimedia.org
[4] tools.pingdom.com
[5] tools.pingdom.com
[11] zeropointdevelopment.com
[16] w3schools.com
[17] wikimedia.org
[24] zeropointdevelopment.com
[25] zeropointdevelopment.com
[26] zeropointdevelopment.com
[29]nginx.org
[34] mariadb.org
[35] zend.com
[Back Cover] zeropointdevelopment.com
 20+ years in IT: Dev & SysOps
 WordPress Developer since 2008
 Plugins, APIs, Security & Systems Integrations
 Organiser WPSyd & WordCamp Sydney
zeropointdevelopment.com
@DeveloperWil
♥ Pizza & Craft Beer
23 Ways To Speed Up WordPress

More Related Content

PDF
WordCamp RVA 2011 - Performance & Tuning
PDF
High Performance - Joomla!Days NL 2009 #jd09nl
PPT
PPTX
Presentation1
PPTX
Drupal performance optimization Best Practices
PPT
Roy foubister (hosting high traffic sites on a tight budget)
PPT
Configuring Apache Servers for Better Web Perormance
PPT
Implementing High Performance Drupal Sites
WordCamp RVA 2011 - Performance & Tuning
High Performance - Joomla!Days NL 2009 #jd09nl
Presentation1
Drupal performance optimization Best Practices
Roy foubister (hosting high traffic sites on a tight budget)
Configuring Apache Servers for Better Web Perormance
Implementing High Performance Drupal Sites

What's hot (20)

PDF
WordPress At Scale. WordCamp Dhaka 2019
PPTX
Improving Drupal Performances
PPTX
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
PPTX
WordPress + NGINX Best Practices with EasyEngine
PPTX
Caching 101
PPTX
Caching in Drupal 8
PPTX
How to reduce database load using Memcache
PDF
Building faster websites: web performance with WordPress
PPTX
Wordpress optimization
PPTX
Stress Test Drupal on Amazon EC2 vs. RackSpace cloud
PDF
Optimizing wp
PPTX
Joomla! Performance on Steroids
KEY
Performance Tuning - MuraCon 2012
PPTX
Html Optimization for SEO
KEY
Memcached: What is it and what does it do?
PDF
High Performance Drupal
PPT
Make Drupal Run Fast - increase page load speed
PPTX
Drupal 8 and NGINX
PPT
Make Drupal Run Fast - increase page load speed
PDF
Memcached: What is it and what does it do? (PHP Version)
WordPress At Scale. WordCamp Dhaka 2019
Improving Drupal Performances
Speed Up WordPress Websites - Part 1 - WordPress Cairo Meetup
WordPress + NGINX Best Practices with EasyEngine
Caching 101
Caching in Drupal 8
How to reduce database load using Memcache
Building faster websites: web performance with WordPress
Wordpress optimization
Stress Test Drupal on Amazon EC2 vs. RackSpace cloud
Optimizing wp
Joomla! Performance on Steroids
Performance Tuning - MuraCon 2012
Html Optimization for SEO
Memcached: What is it and what does it do?
High Performance Drupal
Make Drupal Run Fast - increase page load speed
Drupal 8 and NGINX
Make Drupal Run Fast - increase page load speed
Memcached: What is it and what does it do? (PHP Version)
Ad

Viewers also liked (7)

PDF
Scaling WordPress for High Traffic - Server Architecture
PDF
Setting up a local WordPress development environment
PDF
Understanding Open Source & GPL
PDF
Choosing the best hosting package for WordPress
PDF
Monetising WordPress
PPTX
WordPress Security Best Practices
PDF
WordPress Theming 101
Scaling WordPress for High Traffic - Server Architecture
Setting up a local WordPress development environment
Understanding Open Source & GPL
Choosing the best hosting package for WordPress
Monetising WordPress
WordPress Security Best Practices
WordPress Theming 101
Ad

Similar to 23 Ways To Speed Up WordPress (20)

PDF
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
PDF
Introduction to Optimizing WordPress for Website Speed
PPTX
Speed up your site! #wcmtl2015 by Meagan Hanes
PDF
WordCamp RVA
PDF
WordCamp RVA
PDF
WordCamp RVA 2011 - Performance & Tuning.pdf
PDF
WordCamp RVA 2011 - Performance & Tuning.pdf
PPTX
Word press sites maintenanace
PPTX
wordpress-performance-presentation
ODP
WordPress optimization
PDF
Wordpress optimization
PPTX
Optimizing Your WordPress Site: Why speed matters, and how to get there
PDF
Optimizing WordPress for Performance - WordCamp Houston
PDF
Optimizing the performance of WordPress
PPTX
Performance Optimization in Drupal 8
PPTX
Ctrl+F5 Bangalore 2017: Super charge you word press website by Justin Thomas
PPTX
I Can Haz More Performanz?
PDF
Website optimization
PPT
Tips for a Faster Website
PPTX
Understanding Web Cache
The 5 most common reasons for a slow WordPress site and how to fix them – ext...
Introduction to Optimizing WordPress for Website Speed
Speed up your site! #wcmtl2015 by Meagan Hanes
WordCamp RVA
WordCamp RVA
WordCamp RVA 2011 - Performance & Tuning.pdf
WordCamp RVA 2011 - Performance & Tuning.pdf
Word press sites maintenanace
wordpress-performance-presentation
WordPress optimization
Wordpress optimization
Optimizing Your WordPress Site: Why speed matters, and how to get there
Optimizing WordPress for Performance - WordCamp Houston
Optimizing the performance of WordPress
Performance Optimization in Drupal 8
Ctrl+F5 Bangalore 2017: Super charge you word press website by Justin Thomas
I Can Haz More Performanz?
Website optimization
Tips for a Faster Website
Understanding Web Cache

Recently uploaded (20)

PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
DOCX
Unit-3 cyber security network security of internet system
PPTX
Introuction about WHO-FIC in ICD-10.pptx
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PDF
SASE Traffic Flow - ZTNA Connector-1.pdf
PDF
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
PDF
The New Creative Director: How AI Tools for Social Media Content Creation Are...
PPTX
presentation_pfe-universite-molay-seltan.pptx
PPTX
Introduction to Information and Communication Technology
PDF
Testing WebRTC applications at scale.pdf
PPTX
E -tech empowerment technologies PowerPoint
PDF
The Internet -By the Numbers, Sri Lanka Edition
PPTX
international classification of diseases ICD-10 review PPT.pptx
PDF
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PPTX
PptxGenJS_Demo_Chart_20250317130215833.pptx
PPTX
Module 1 - Cyber Law and Ethics 101.pptx
PDF
Introduction to the IoT system, how the IoT system works
PDF
Tenda Login Guide: Access Your Router in 5 Easy Steps
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
Unit-3 cyber security network security of internet system
Introuction about WHO-FIC in ICD-10.pptx
Decoding a Decade: 10 Years of Applied CTI Discipline
RPKI Status Update, presented by Makito Lay at IDNOG 10
Unit-1 introduction to cyber security discuss about how to secure a system
SASE Traffic Flow - ZTNA Connector-1.pdf
Best Practices for Testing and Debugging Shopify Third-Party API Integrations...
The New Creative Director: How AI Tools for Social Media Content Creation Are...
presentation_pfe-universite-molay-seltan.pptx
Introduction to Information and Communication Technology
Testing WebRTC applications at scale.pdf
E -tech empowerment technologies PowerPoint
The Internet -By the Numbers, Sri Lanka Edition
international classification of diseases ICD-10 review PPT.pptx
Vigrab.top – Online Tool for Downloading and Converting Social Media Videos a...
PptxGenJS_Demo_Chart_20250317130215833.pptx
Module 1 - Cyber Law and Ethics 101.pptx
Introduction to the IoT system, how the IoT system works
Tenda Login Guide: Access Your Router in 5 Easy Steps

23 Ways To Speed Up WordPress

  • 2. 1. Minify css & js 2. Cache everything 3. Reduce external service calls 4. Replace “heavy” plugins 5. Reduce number of plugins 6. Don’t use “Super Themes” 7. Compress images 8. Use lazy loading 9. Use image sprites in your theme 10. Use a CDN 11. Disable image hotlinking 12. Use expires header 13. Reduce post revisions 14. Turn off pingbacks & trackbacks 15. Upgrade server hosting plan 16. Tune Apache 17. Replace Apache with NGINX 18. Add server cache 19. Optimise database (DB) 20. Move MySQL DB server 21. Replace MySQL with MariaDB 22. Upgrade to PHP 7 23. Load Balancing
  • 3. Google likes fast sites = higher rankings People don’t like to wait = they will go elsewhere Fast sites can serve more visitors = better conversion for you Slow sites just plain suck!
  • 4. How fast (or slow) do your web pages load? Use: Pingdom Website Speed Test or Google PageSpeed Tools Make sure you test landing and popular pages and not just the homepage!
  • 6. Strips out whitespaces from CSS and JavaScript files. = files are smaller = faster download Better WordPress Minify https://wordpress.org/plugins/bwp-minify/ Note: not all JavaScript files like to be minified. You can also specify exclusion files to get around this issue.
  • 7. Stores a “built” html web page & serves that to visitors rather than dynamically build PHP page each time. Caching can fit into different infrastructure layers: • Browser Caching Sending correct expiry headers on your web pages/elements Browsers can then store and use already downloaded pages • Server Caching Usually a built-in web server module or an executable running interacting with web server process. Or use caching plugins.
  • 8. WP Super Cache - https://wordpress.org/plugins/wp-super-cache/ • Good introductory method of caching • Minimal options – easy interface W3 Total Cache - https://wordpress.org/plugins/w3-total-cache/ • Does a lot more than just caching: Minify, CDN, WP- CLI support etc. • Interface has a lot of options • Needs to be set up properly • Better for Nginx
  • 9. Reduce external service calls as much as possible. e.g. Facebook Likes, Twitter Feeds, RSS, Instagram Pics Pages stop loading and wait until the external service (server) responds. Do you really need them all in a sidebar? On all pages? You don’t have any control over the external service!
  • 10. If you’re a WordPress developer, consider using or developing a plugin which caches the external API data. Do you really need to ask Twitter ever second for your latest 3 Tweets? How often do you Tweet? Think caching. Think WordPress transients.
  • 11. Which plugins are using the most server resources? Use P3 (Plugin Performance Profiler) to find out!
  • 12. Consider each plugin you “need”. Every plugin – comes with libraries (files) that need to be loaded from the web server (for each page you use them on) – calls the database (many times) Does your plugin do one job or 30 different things? Try to reduce the number of plugins you have or replace bloated ones.
  • 13. Super themes do everything but walk the dog these days = lots of scripts & styles to load in = slow slow slow What % of the super theme features do you use/need? Can featured be turned on/off or are they loaded on every page? Can you replace with a simpler theme & specific plugins?
  • 14. Cameras and image editing software embed Meta Data in images – Colour Depth, Algorithm, Watermark, Geo & EXIF Data, … Website visitors don’t need this = get rid of it! Plugin: WP Smush.it Developers: grunt-smushit, grunt-contrib-imagemin PC: PNGGauntlet, Caesium Mac: ImageOptim Note: JPGs compress better than PNGs
  • 15. Loading data (images) inside screen area (viewport) only. Images outside viewport are not loaded = fast Easy for a developer to implement or use a plugin e.g. BJ Lazy Load Page only loads data that is needed by the viewport. This can drastically decrease initial page load time!!
  • 16. Sprite = 1 large mosaic image made up of smaller images Use CSS to position image in place. Sprites can be cached by browser = super fast!
  • 17. CDNs are located world wide. Data is downloaded from the CDN server closest to your geo location = faster CDN
  • 18. Plugin: Jetpack – contains FREE Photon CDN for images *** FREE! *** Others (not free): MaxCDN, CloudFlare, WPPronto Note: W3 Total Cache can connect to CDNs
  • 19. Hotlinking is when an external site links directly to an image on your website server  Can also be considered copyright theft! Add to .htaccess (replace your-domain.com) Note: you may have to add an exception for your external RSS feed RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www.)?your-domain.com/.*$ [NC] RewriteRule .(gif|jpe?g|png)$ - [F]
  • 20. Static images that don’t change often can be cached safely in the browser by using an Expires header Add to .htaccess Note: A2592000 is 1 month in seconds ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/png A2592000 ExpiresByType image/jpg A2592000 ExpiresByType image/jpeg A2592000
  • 21. WordPress stored unlimited post revisions = database bloat. Large databases = slower website Use the Revision Control to limit post revisions to 2 or 3 or whatever number makes you comfortable.
  • 22. Turn these off! Every time another blog mentions you, it notifies your site, which in turn updates data on the post, slowing down your site with processing. Don’t worry! You won’t lose backlink SEO juice.
  • 23. There’s a lot you can do to increase the speed of the server. Some solutions are quite technical to implement but you need to analyse server data first. First you need to find out what’s eating up all your server resources.
  • 24. Which server resources are being hammered? Use New Relic (free version is fine)
  • 27. On shared hosting  Upgrade to a VPS or managed hosting – Managed: Pagely, WPEngine, WPHosting – Some restrictions on using certain plugins Have a VPS? Upgrade CPU and/or RAM (memory) Invest in SSD’s (solid state drives: like a USB stick)
  • 28. Use ApacheBench – measures Apache performance by simulating server loads (number of visitors & page hits) How to tune? Depends.. Single site? Multiple Sites? How many clients is Apache configured to use? How much RAM per httpd process is allocated? Great basic Apache tuning resource: http://bit.ly/123lscP More advanced Apache tuning: http://bit.ly/1t8tZFl
  • 29. Apache is very resource hungry. It loads heaps of modules you may never need. Replace with Nginx + PHP-FPM ( Pronounced “engine-x” ) Nginx is immensely faster than Apache, scales better and has a lower memory footprint.
  • 30. Varnish cache works really well with Nginx and PHP Nginx (web server for SSL) Varnish (server cache) Nginx (web server to pass to PHP) PHP (application stack) Reason for Nginx up front is Varnish doesn’t handle SSL termination requests (decryption & passing plain-text)
  • 31. All WordPress post content (except for images) are kept in the database. Keep database size to a minimum with WP-Sweep. “WP-Sweep allows you to clean up unused, orphaned and duplicated data in your WordPress. It also optimizes your database tables.”
  • 32. Stick your MySQL DB on another server First steps in “scaling out” (vertical scaling). – Scaling up is adding more memory & CPU power to same machine. You will hit a physical limit. – Scaling out is adding more servers. Limitless. VPS 1 VPS 2 NGINX MYSQL
  • 33. MariaDB is a community-developed fork of the MySQL relational database management system intended to remain free under the GNU GPL. MySQL owned by Oracle who acquired Sun Microsystems. Written by the original developer of MySQL Michael "Monty" Widenius. Direct replacement for MySQL
  • 34. Performance: MariaDB 10.1 (green) vs MySQL 5.7.4 (red)
  • 36. Load balancers try to send traffic to least busy server. Use HAProxy for true scaling out. MYSQL HAProxy VARNISH NGINX PHP NGINX PHP NGINX
  • 37. [Front Cover] wikimedia.org [4] tools.pingdom.com [5] tools.pingdom.com [11] zeropointdevelopment.com [16] w3schools.com [17] wikimedia.org [24] zeropointdevelopment.com [25] zeropointdevelopment.com [26] zeropointdevelopment.com [29]nginx.org [34] mariadb.org [35] zend.com [Back Cover] zeropointdevelopment.com
  • 38.  20+ years in IT: Dev & SysOps  WordPress Developer since 2008  Plugins, APIs, Security & Systems Integrations  Organiser WPSyd & WordCamp Sydney zeropointdevelopment.com @DeveloperWil ♥ Pizza & Craft Beer