Why Performance Matters:
- User Experience
- Search Rankings
- Server Resources/Costs
- Digg/Slashdot Effect
Front End Performance
- Fewer Requests
- Progressive Rendering
- Concurrent Downloads
- Expires Headers
- Reduce cookie size or use cookieless subdomains.
Performance Grading
Use YSlow and Google PageSpeed to grade performance, figure out expires headers to use, find opportunities to make fewer HTTP requests and DNS lookups. Lots of other things to check, each service has strengths.
Use CSS Sprites
Uses fewer file requests. Spriteme does a lot of work for you; renders changes in browsers and gives you changes to CSS.
Combine and Minify External JS and CSS
W3 Total Cache does this for you. Be careful of JS that needs to load in order.
Death by Social Media Buttons
Most are going to kill performance because of page waiting to load external buttons/javascript.
Waterfall Effect
CSS at top and JS at the bottom. JS in <head> causes page redraw issues on slow downloads.
jQuery
Use Google CDN for jQuery needs.
.htaccess
Leverage browser caching with Expires Headers and Proxy Cache Control Headers. Enable gzip compression for reduced file sizes. Set Expires times farther ahead when possible.
Caching WordPress
- Static Page Caching – not good for dynamic content
- OpCode and Object Caching with APC, eAccelerator, X-Cache – Best Performance, not for shared hosts, works best with mod_fastcgi (cPanel uses older style)
- Memcached Server with PECL memcache
- WordPress Transient API – small snippets stored in DB that will frequently expire
Static Page Caching + Opcode with W3-Total Cache and APC Object-Cache plugins. Does not work with Zend Optimizer.
eAccelerator – Most stable. Easy to install, easy to configure, Caches PHP and can be used as Zend extension.
Memcached + Memcached server – Persists across multiple servers. Cache stored in memory. Good to quickly scale hardware.
Memcached + WordPress Transient API – WordPress will store the cache in memory if Memcache is installed. Stores small fragments of data that should expire quickly in MySQL. Good for things like social plugin streams.
Server Optimization
Traditional LAMP Stack – old, reliable, but slow.
Linux-nGinix(reverse proxy)-Apache-PHP (LEAP) – Fast, lightweight. Sends static content from nginix, lets Apache/PHP do the heavy stuff.
Matt – “Almost every blog can be fast enough with built-in WP-Cache plugin.”
Leave a Reply