Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I have my multisite site up and running the main site is mikewills.me. The big problem I am having is performance. It can take several seconds before anything starts showing up. Obviously, this is unacceptable.

I have seen some tips like adding <?php flush(); ?> to the header. I am using the the delivered twenty ten theme. The back-end is also running slow. I am trying to determine if it is the host I am using or if it's something that I have configured wrong. Is there any additional things I can look at that may be needed in a shared host environment?

share|improve this question
add comment

2 Answers

up vote 3 down vote accepted

I just ran your page through the NET console on Firebug just so I could see what was loading ... and wow ... you have a lot of things loading that don't need to be.

alt text

From the looks of things, the following plug-ins are adding scripts and other collateral files to your load which are slowing things down:

  • Fancybox for WordPress
  • RecipePress
  • PowerPress
  • SHJS Syntax Hiliter

On top of that, you're loading a SWF JS object, but I don't see any Flash on your home page. Adding extra JavaScript will almost always impact your page load time and site performance.

I'm guessing that some of these extra files are hooked on to the init event, and will load on admin pages as well (slowing things down there). But you probably also have a lot of plug-ins adding additional (unnecessary?) filters and hooks that are causing the ~7s load of your page's basic HTML file.

Things you can do

  1. Turn off all but the most necessary plug-ins. If you're still using more than 5-6, reconsider how things are put together to try dumping a few more.
  2. Use a caching system to serve up HTML. W3 Total Cache is pretty good, and it will return static content for things that haven't changed (which means fewer database hits and filter calls = faster HTML return times).
  3. Use image sprites for your social media icons and other static images on the home page. There's no need to serve up 7 separate images (i.e. 7 separate requests) for social media and RSS images.
share|improve this answer
    
Is there a way to load these plugins as needed? Fancybox I use for when I have images I want to enlarge but obviously don't need all of the time. RecipePress I am just playing with (I'll disable and play with on a test site). PowerPress, I use for podcasts, but they only come out infrequently. –  Mike Wills Oct 18 '10 at 18:07
    
Really, that's dependent entirely on the plug-in and it's architecture. The fact that certain plug-ins are being loaded on the frontend rather than only when needed shows a certain amount of laziness on the developer's end of things ... so without rewriting the plug-in to make it behave, your best bet would be to contact the author, explain your situation, and hope he/she can offer a quick fix. –  EAMann Oct 18 '10 at 18:56
    
I was wondering that... thanks for the feedback! –  Mike Wills Oct 18 '10 at 19:35
add comment

I noticed a few problems with your W3 Total Cache configuration

Your browser cache settings are missing expires headers. Enabling browser caching will force your users browsers to store a cache of your static files and they won't need to be requested again when viewing another page.

Your CSS and JS are the most important to set far future expires dates.

You can also use W3TC to minify and combine your CSS and JS files. Use the help tab to find the files and scripts to combine.

For a complete guide to setting up W3 Total Cache on a shared server see my answer to a similar question.

Also do not use <?php flush(); ?> if you are using a caching plugin.

share|improve this answer
    
Thanks, I was stumbling through it, but YSlow has reported that some things are still not working. The speed is already much better. I'll look into this as time allows. Thanks! –  Mike Wills Oct 20 '10 at 13:06
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.