Make a plan
… and follow it!
Benchmark loading times
Pinpoint performance issues
Benchmark and find issues
… completely unordered!
Too many posts on the homepage
Too many social widgets
Too many external fonts used
Themes with too many unused features
Too much CSS/JS code
No static content compression
Sort performance issues by their severity
Sort them by the time you need to ﬁx them
Cross-reference the two lists
Make a scroll map test ( crazyegg.com )
Reduce the number of posts per page
Progressive page loading (inﬁnite scroll)
Social media widgets/plugins
… use them wisely!
Try not to use “Share on 100 social networks” services
Avoid using more than one social plugin
… trust me, you don’t need 8 fonts on your site!
Include only fonts you use, on the pages you use them
Put fonts on your local server and include locally
Sacriﬁce the usage of a font for a better site performance
… the right size and the right quality
Use images with the right size and specify their dimensions
Smush your images: http://wordpress.org/plugins/wp-smushit/
Use sprites in your themes
Avoid bloated themes
… really, cut the fat!
Avoid themes that support every possible website idea
Don’t use all theme features on the same page
Minify your CSS and JS
… the smaller the size, the better!
Try using WP Minify: http://wordpress.org/plugins/wp-minify/
If you’re already using it, enable minify options in W3 Total Cache
Enable gZIP compression
Use .htaccess rules instead of plugins:
Leverage browser caching
… whatever that means!
The .htaccess rules:
Move your JS code to the
footer in WordPress
The functions.php code:
Remove WordPress transient
records from the database
DELETE FROM `wp_options` WHERE `option_name` LIKE ('_transient_%');
Use a CDN service
… but do it wisely!
Measure if your site is working faster
Even local business can take advantage by the CDN
Bonus: “Always Online ” service
Cache your content
… if you don’t cache your content that’s bad and you should feel bad!
Use object caching - Memcached, Redis
Use opcode caching - АPC, xCache
Use reverse proxies - Varnish, nGinx
WordPress Interaction with
First request goes
to the database
First request goes to the
Objects are also stored in
All consecutive requests are
forwarded to the Memcached server
How PHP Works