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.
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.
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)
takes 100M of total RAM
100M per connection
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!).
For ongoing uploading of images, use the plugin WP Smush.it – will smush all future images like SmushIt! did for your initial theme.