How can I figure out why my Wordpress pages load so slowly?

Yet my site pages load very slowly. Usually there's a 2-3 second lag before the page renders, and I cannot figure out why.

  • My site is powered by Wordpress v3.4.2.

  • I'm on a dedicated virtual server with plenty of resources and bandwidth.

  • There are no huge images loading.

  • My CSS files load before JS scripts.

I've spent a lot of time trying to optimize the site within the constraints of the platform (Wordpress + plugins, etc). I don't expect my site to be SUPER fast, but I need it to not be SO slow.

I'm using Chrome's developer tools to audit my site but the suggestions do not appear to explain the long load time (unused CSS rules, etc). When I look at the timeline, I see a 2.7x second load time initially but I can't figure out why. Can anyone help me get to the bottom of this?

My site is located here. The homepage has some extra scripts, so it may be more helpful to look at this page.

Answers


I found this superb guide which really helped me fight through the mire of optimising Apache for use with WordPress:

http://thethemefoundry.com/blog/optimize-apache-wordpress/

You said you have a virtual server so chances are it's currently set up to load EVERY module - you'll find a great speed boost here if you eliminate unnecessary modules. Keep a backup of your config file in case you screw it up.

Also - use the TOP command through SSH to see how much memory PHP is using. Probably a lot currently. This will all be improved through eliminating modules as per above link. You don't mention how much memory you have on your VPS but there's a good chance your performance issues are coming from memory thrashing which will be mitigated significantly by reducing how much memory each PHP instance consumes using the link above.

Also, it matters to find out where your performance issues are actually coming from – a great little plugin called WP Tuner helps me locate performance bottlenecks. The original plugin is incompatible but someone else has written an upgrade:

http://www.wwvalue.com/tuts/tut-wp/wordpress-profiler-tuner-revised.html

That will help you identify which specific parts of the page are taking the longest to load so you will immediately find your performance bottleneck.

In addition, a cool plugin called Debug Queries is useful for tracking down performance issues although the wordpress profiler above actually does track queries too.

Finally – I can’t recommend highly enough this WordPress.org discussion on performance, and specifically on W3 Total Cache vs Super Cache (both are excellent).

It’s a fantastic read for anyone looking for split-second response times: http://wordpress.org/support/topic/wp-super-cache-vs-w3-total-cache

I use W3 total cache on one of my sites and WP Super Cache on another. Both are great. I used both so I could learn about both. I would say use WP Super cache plus all the other tools the guy at the link above recommends if you're looking for extreme performance, but if you're looking to get immediate performance W3 total cache is more comprehensive in its initial setup.

Hope that helps.


  • use caching plugin,
  • put JS files at the bottom,
  • try different webhost (DB server may be slow sometimes)
  • minify css and JS,
  • make fewer HTTP requests
  • make sure external services (like FB and others) are not slowing down (remove them and see if it helps)
  • run Yslow or similar test
  • try to use typekit or google font instead of cufon

Need Your Help

a additional BarButtonItem

ios objective-c uibutton uibarbuttonitem uitoolbar

I just got a little problem. I found this code:

Calling a private-package method from main after calling the constructor

java scjp

I am studying the SCJP, and while studying I have found an exercise that seemed very simple at first, but I failed resolving it, and I do not understand the answer. The exercise (taken from OCP Jav...