Tag: transients

WordPress Grand Rapids WordPress Perfomance Optimization

WordPress Performance Optimization: May 2014 meetup

We talked about WordPress Performance Optimization at our May 15, 2014 meetup: testing, hosting, caching, CDNs, image optimization, queries, transients, and more. Get ready! WordCamp Grand Rapids 2014 is August 15-16! Remember, you can also find us on Meetup, Twitter (@wpgrandrapids and #wpgr), and Google Groups. If I missed anything in the notes below, please leave a comment, and I’ll add to the post.

WordPress Grand Rapids WordPress Perfomance Optimization WordPress Grand Rapids WordPress Perfomance Optimization

Testing, hosting, caching, CDNs, image optimization

Chad Warner

Performance testing

Performance guide

Managed WP hosting

Note: this section contains hosting affiliate links.

  • The host is often the main determinant of performance
  • Use a host that’s optimized for WordPress
    • Speed
    • Security
    • Updates
    • Tools
  • SiteGround: fast, secure WordPress hosting
    • SiteGround is an excellent WordPress-optimized shared host. They’re fast, secure, and reliable, yet inexpensive. They’re the host I most frequently recommend to small business and nonprofit clients.  From firsthand experience, I’ve found their plans to be superior to similar hosting plans from GoDaddy, Bluehost, DreamHost, Hostmonster, HostGator, iPage, and small local hosting companies.
    • WordPress Hosting
  • For clients with larger and/or higher-traffic sites, or who need additional benefits, we recommend WP Engine, but for most smaller sites, SiteGround provides great features for relatively low cost.

Caching

  • Use managed WordPress hosting; they often handle caching. Even if you’re not using managed WordPress hosting, use the host’s caching as much as possible.
  • WP Super Cache: simpler, less problematic than W3 Total Cache
  • W3 Total Cache: more powerful but more problematic than WP Super Cache

CloudFlare’s CDN

Image optimization

Caching, queries, transients

Brian Richards

W3 Total Cache

  • Turn on all caches
  • Enable Page Cache
    • For e-commerce, don’t cache cart, checkout, my account pages

Custom queries

  • Queries are controlled by query.php in core
  • Queries use WP_Query class
  • Look at query.php and see all the filters available. You may not want to write a custom query; you may be able to modify the main query with pre_get_posts(). It’s more efficient to modify the main query that WordPress is already running than to add a new query. Be very specific about when you’re going to modify the main query; use conditionals.

Transients

Misc.

WordPress development tools

Improving WordPress Performance, June 2013

Our June 2013 meetup was Improving WordPress Performance. Topher DeRosia, Brian Richards, and Chad Warner talked about various ways to make WordPress sites load faster. Below are the video and notes from the meetup.

Also, Brian encouraged the group to get involved in WordCamp Grand Rapids 2013 by volunteering, speaking, and/or sponsoring.

Transients

  • Transients temporarily store cached data in the database
    • You can configure them to be stored in cache rather than the database, which is even faster
  • Transients are site-wide, so make sure they should apply to all users
  • You set expiration
  • Transient API
  • Mark Jaquith’s WP-TLC-Transients extends WordPress’ transients
  • Remember where you save transients so you don’t waste time troubleshooting
  • Topher wrote Storing complex queries in transients

Performance testing tools

CloudFlare

CloudFlare CDN features

  • No configuration necessary
  • Works with static and dynamic content
  • Always Online™

Web content optimization features

  • Rocket Loader
  • Reduced connections
  • AutoMinify
  • Local storage caching
  • Cache header optimization
  • Asynchronous resource loading
  • JavaScript bundling
  • Aggressive GZIP

W3 Total Cache configuration

  • Follow Installation instructions and accept defaults, then configure the following:
  • WordPress menu > Performance > General Settings > Page cache: Enable
  • Performance > General Settings > CloudFlare
  • Minification: CSS, JavaScript, and HTML
  • Performance > Browser Cache > General > enable/check Set expires header

Ways to improve WordPress performance (in order of increasing complexity)

  1. Caching plugin
  2. nginx, which is faster than Apache for serving static content
  3. Memcache and memcached
  4. APC (Advanced PHP Cache)
    1. Caches code, not content
    2. Turns interpreted code into binary and stores it

WP Super Cache

  • WP Super Cache doesn’t have as many options as W3 Total Cache
  • Topher doesn’t like W3 Total Cache because it’s “arrogant” and “rude”; it doesn’t respect other caching plugins.
  • Stores cached files in /wp-content/cache/supercache
  • Simply install and activate to start caching, but configure for better performance

Configuration: Tools > WP Super Cache

  • Advanced tab
    • Select mod_rewrite
    • Enable Don’t cache pages for known users
    • Enable Don’t cache pages with GET parameters
    • Enable Cache rebuild
    • Expiry Time & Garbage Collection
      • Settings depend on your site and preferences
    • Exceptions: configure items that should not be cached
    • Directly Cached Files: specify non-WordPress sites to cache
  • CDN tab: configure for your CDN, if necessary
  • Contents tab: lets you empty the cache
  • Preload tab: crawls site to build the cache
  • Plugins tab: configure plugins that integrate with WP Super Cache
  • Debug tab: used for debugging