November 18, 2017

WordCamp ATX: Jason Cohen

Jason Cohen
Optimizing WordPress (or, how we made http://balsamiq.com 7x faster)

There are lots of techniques and tools to make things faster. Optimization == less. Static files rather than PHP. Fewer database queries.

How fast your page loads (and this includes all links, including all images, etc.) impacts your SEO. So the faster your load time, the better Google will like your page.


Plugin: W3TotalCache

Page cache: when someone hits something on your site (page, post, search, image, etc.), it goes into the page cache. Let’s not recompute everything for the homepage every single time, not hit the database each time. Use ‘Disk Enhanced’ option to refine what is cached, when. It tells the server how to check to see if a page is cached. The Apache server can return a page without WordPress or PHP even getting involved, so speed is enhanced immediately.

Every page has a feed for comments and updates, even if you don’t use them. No reason to cache them for bots who DO use the feeds because Google hits it so infrequently, and you want it to be fresh.

Advanced: Garbage collection interval – can be high number (length of time between refreshing) if you have a low-traffic site.

Nothing from WP-admin, WP-login, WP-chron should be cached.

Cache preload: when cache is purged, this will reload certain pages immediately so that you don’t get a spike when all pages need to be reloaded for visitors.

Minify: each plugin generates a stylesheet. Browser also has to get javascript for theme, plugins. Minify allows you to enter all the javascript links (go to your source code to find them) and make one giant javascript file at the top so it’s all loaded once; it also removes extra space, programming comments. Same with the CSS.

Using Object Cache doesn’t help for most websites.

Content Delivery Network: The more we can get static content that never changes away from the server, the better. Third-party server takes over the static content – if content is in their cache, they serve it and it never hits your own server, from a server closer to the person viewing your site. MaxCDM – a huge amount of bandwidth (around a terabyte) for $40/month.


¡nginx (Engine X)

¡nginx:
takes 100M of total RAM
2400 hits/second

Apache:
100M per connection
50-500 hits/sec

But ¡nginx doesn’t run WordPress or PHP. But it can work together with Apache! It takes all the traffic between browser and Apache and serves as a buffer.

(Insert Jason talking about lots of server configuration stuff I can’t reproduce here… but it’s great stuff. Contact him if you have questions!).


YSlow – Firefox extension with Yahoo! SmushIt!

Optimizes images for you – great for themes. Choose “All SmushIt”.

For ongoing uploading of images, use the plugin WP Smush.it – will smush all future images like SmushIt! did for your initial theme.

Download (PPT, 120KB)

Speak Your Mind

*