Starting of today I’m moving all my sites to a new server with a WordPress network installation. First reason is that the current server runs Apache with Directadmin but I wanted to have full control over what I install on the server.
Current implementation
The current implementation is a Debian (testing) distribution with nginx 1.3.5 as server with SPDY installed. I don’t yet need SPDY but I do have some plans coming where secure connection is needed. Also I installed APC
Caching
Since I switch to nginx I stopped using W3 Total Cache. It’s a really powerful plugin but I want something that I can control with hooks instead of a settings. Also a lot of option can’t really be used when running nginx. Browser cache is something nginx already take care off.
For object caching I use for APC Object Cache Backend from Mark Jaquith.
At this moment I only minify the HTML with a custom script what is mostly borrowed from WP-HTML-Compression with some tweaks. I’m now looking into how other plugins minify their Javascript/CSS and will build my own one and borrow some of their code. What I want to do is only minify CSS/Javascript when a plugin got activated/deactivated or a theme got switched. Not sure what the best way is to implement this but it doesn’t make sense to regenerate CSS/Javascript when there is not change at all.
Another thing is the CDN. I don’t really need to store my files on another server. I do however want to have a cookieless domain. So I rewrite all the needed urls to another domain what still get the images from my server.
Last thing is page caching. This is something I’m unsure about. I will look into WP Super Cache and Batcache. It’s most likely I will end up with file caching since my host has SSD caching so reading those files will hopefully be really fast. Who knows I try to combine something together so switching over to Batcache is possible then.
Plugins
For almost everything my site will use I will write the code myself. A lot of plugins do stuff I don’t need or break when you minify the CSS/Javascript. In the other situations I will modify their code and put it on github as a reference to the changes I made.