Live data from Hacker News

How I reduced Page Load Time by 75% - WordPress Optimization

kadavy.net

11–20 of 29 posts

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#11
post #7

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.

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?

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#12

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?

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

Why would it do that?

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#13

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?

>Doesn't adding CSS and JavaScript inline hurt your google rank? Why would it do that?

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 and 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...

"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."

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#14
post #10

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?

I'm not sure about that inline issue - I hadn't heard that. I actually got that advice from Yahoo, I think. The inline Javascript and CSS makes the page load faster, so in theory it would help.

That is true if you have a one page site. Bundling all the JavaScript and HTML in with the CSS means downloading one HTTP resource instead of three. This is good for sites like the "Yahoo Homepage" - basically just one big page, Netvibes, Facebook.

But if you have multiple pages sharing the same styles, yes for once off load times, having the CSS and JavaScript inpage is better, but for a visit of more than one page, having the CSS and JavaScript as separate cacheable resources is far better, since the differences are now the page size of the pure HTML plus images, saving at least the packet sizes needed to transfer the same CSS and JavaScript on each page.

So the major multi-page properties of Yahoo use primarily one external CSS and one external JavaScript file on each property.

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#15
post #11
post #7

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.

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?

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

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#16
post #10

Earlier quoted context omitted.

I'm not sure about that inline issue - I hadn't heard that. I actually got that advice from Yahoo, I think. The inline Javascript and CSS makes the page load faster, so in theory it would help.

That is true if you have a one page site. Bundling all the JavaScript and HTML in with the CSS means downloading one HTTP resource instead of three. This is good for sites like the "Yahoo Homepage" - basically just one big page, Netvibes, Facebook. But if you have multiple pages sharing the same styles, yes for once off load times, having the CSS and JavaScript inpage is better, but for a visit of more than one page,…

Thanks for that explanation. Based on what you said, I think I'm approaching it okay. On a few posts that have really high bounce rates, I use the Custom Post Template to serve CSS and JS inline on those pages (amongst other customizations). The rest of the site, I load them from external files.

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#17
post #15
post #11

Earlier quoted context omitted.

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?

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…

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.

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#18
post #6
post #4

http://wordpress.org/extend/plugins/chennai-central/ FTW

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

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)

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#19
post #18
post #6

Earlier quoted context omitted.

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

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)

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

Re: How I reduced Page Load Time by 75% - WordPress Optimization

#20
post #17
post #15

Earlier quoted context omitted.

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…

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.

Use php-fpm with enginx and you're golden. I ran a website getting millions of requests daily and it worked a treat on a small EC2 instance.
Post reply on HN