

How I reduced Page Load Time by 75% - WordPress Optimization - kadavy
http://www.kadavy.net/blog/posts/wordpress-optimization-dreamhost-rackspace/

======
mdolon
If your problem is CPU usage rather than bandwidth overage, consider switching
from Apache to nginx. I found my LAMP WordPress blog (hosted on a small VPS
and using W3 Total Cache) was having trouble with concurrent users - traffic
spikes would make my CPU usage skyrocket.

I've since switched to nginx and the results have been great under moderate to
high traffic, and without the use of any caching plugin.

~~~
kadavy
I heard that advice about nginx, but was concerned about lack of a mod_rewrite
module for smart URL structure. Is there a way to have search-engine-friendly-
urls easily with nginx?

~~~
patio11
Nginx configuration is about as powerful as Apache, and personally easier for
me to grok, but you have to be able to get past the lack of documentation.

Here's the configuration file from my new project -- with the domain name
removed. I've marked the magic bits that gets you Wordpress pretty URL
compatibility. If you're actually asking about more complicated rewrites,
those are all possible too -- look at the Nginx rewrite module docs.

<http://www.pastie.org/929223>

~~~
kadavy
That's a much more attractive configuration file than an Apache one.

I see that you're using FastCGI. Something I didn't mention was that I
attempted to use FastCGI, but gave up because my memory usage kept snowballing
until I had to reboot my server over and over again. I don't know for sure
whether it would have made things any faster.

~~~
jf
David, Nginx is awesome.

~~~
kadavy
No, _you're_ awesome, Jöel

------
WillyF
W3 Total Cache really is a fantastic plug-in. It's significantly reduced my
server load, and hasn't caused any problems as far as I can tell.

~~~
pavs
Yup, I have been using it with maxcdn (PULL) and other custom optimization;
was able to go from ~8sec load time to less than 2 second load time on
average.

------
thedevelopment
What an excellent post, and easy enough for someone without tech experience to
follow. This will definitely be forwarded to friends wanting to get into the
more serious side of web publishing.

------
MichaelApproved
Great tips. The most useful one for me is to put images and script files on a
subdomain.

Doesn't adding CSS and JavaScript inline hurt your google rank?

~~~
moultano
>Doesn't adding CSS and JavaScript inline hurt your google rank?

Why would it do that?

~~~
kadavy
As I talked about in the post, I have some pages that are popular with search
engine visitors. They generally come to the page, read, and then leave. I
serve CSS and Javascript in <style> and <script> tags on those pages so it's
fewer HTTP requests, and loads faster.

Unless someone has a reason I should do otherwise?

UPDATE: From Yahoo:
[http://developer.yahoo.net/blog/archives/2007/07/rule_8_make...](http://developer.yahoo.net/blog/archives/2007/07/rule_8_make_jav.html)

"The key factor, then, is the frequency with which external JavaScript and CSS
components are cached relative to the number of HTML documents requested. This
factor, although difficult to quantify, can be gauged using various metrics.
If users on your site have multiple page views per session and many of your
pages re-use the same scripts and stylesheets, there is a greater potential
benefit from cached external files."

------
jusob
"A single-user client SHOULD NOT maintain more than 2 connections with any
server or proxy". In reality, it is 6 in IE 8, 8 in FF 3.x, Safari and Opera

~~~
kadavy
Thanks for that. I heard something similar but couldn't find records of
specifics. I suppose that means that its 6 in Chrome as well.

And of course, there is IE7, which is still what many of my visitors use.

------
volomike
<http://wordpress.org/extend/plugins/chennai-central/>

FTW

~~~
wanderr
What does that actually do? All the description says is that it saves you
bandwidth.

~~~
jleader
The "FAQ" link below the description leads to:

"Chennai Central is a bandwidth saver plugin that makes your wordpress site
support conditional GETs by search engine crawlers , feed readers and more."

(followed by more detail about what conditional GETs are, and why they help)

~~~
wanderr
For me the FAQ was empty, maybe a compatability problem with Android's
browser. I'll check it out on a real computer.

~~~
kree10
Never mind the FAQ, the "Download Now!" link is a 404.

I'm kind of surprised that in 2010 stock Wordpress would not have this kind of
cache-friendliness built in.

------
c00p3r
Moving to Xen-based VPS with fast connection from dedicated server. Big deal.

For me it looks much better to rent a dedicated server and divide it into
several KVMs and resell them. =)

