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'm running a dedicated server which hosts one website - our WordPress install.

Currently we're getting around 400,000 pageviews per month and that will likely rise quickly over the coming month - and hopefully exponentially from there onward ;)

I want to install the W3 Total Cache plugin but after reading a few reviews/support forum posts, I'm concerned that I'll potentially slow the website down rather than speeding it up.

I've installed it, had a quick play, then uninstalled it due to a few minify problems (see #2).

My question, as such, is twofold.

  1. Knowing that my server is a good spec, good network and hosts only this website, are there any options I should consider enabling (or disabling) to get the fastest site-usage possible?
  2. How can I stop the plugin from caching my forums? Simple Press is located at /forums/ and the JS minify breaks a number of features of the forum (TinyMCE editor, profile amendments, etc). I tried adding *forum*\.php to the never cache option, but it killed my site (500 error; had to remove the W3 Cache lines from .htaccess).

Thanks in advance,

share|improve this question

3 Answers 3

I've seen many more complaints about W3TC than WP Super Cache: WordPress › WP Super Cache « WordPress Plugins. W3TC loads the .htaccess file with many directives and tends to conflict with server side settings.

With Super Cache, try PHP caching and follow the instructions to add an .htaccess file to the cache directory: http://wordpress.org/extend/plugins/wp-super-cache/installation/

Disallow /forum caching in WP Super Cache, too.

Minifying js can help with site speed, but not as much as other things, such as server caching and browser caching.

But you also need to work with your dedicated server and correctly configure apache and mysql for high loads. See http://httpd.apache.org/docs/2.0/misc/perf-tuning.html and use mysqltuner to adjust your my.cnf file https://github.com/rackerhacker/MySQLTuner-perl

And clean out your database of post and page revisions (and optimize the database after you do this):

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'

And then add define ('WP_POST_REVISIONS', 0); to wp-config.php to prevent revisions from being saved again. See http://codex.wordpress.org/Revisions

share|improve this answer

The best thing to do here is to set the Minify options to manual. The automatic mode automatically combines your javascript files - and therefor a lot of the plugins break, because of mixed document ready and basic javascript/jquery functionality.

Try this:

  • Set the minify mode to "manual"
  • Open the source Code of your site
  • Take all the Javascript ressources (You may have to skip Jquery, as it has to be loaded seperately sometimes, also the fancybox-script), and add them to the minify settings. Be sure to get your dependecies right, otherwise your Javascript functionality will break.
  • The Javascript Files from the Footer are not that hard to manage, you can just combine them in your included compressed footer javascript.
  • If something breaks (and be sure to test it when you are not logged in!) remove the javascript files that cause the error, and you should be fine.

You can also set different cachings for different templates - that should do it for your forum, too :)

share|improve this answer
5  
Most of the plugins that break because of this do so because they don't use wp_enqueue_scripts() which any plugin worth its snuff should do. In the one case minifying broke my plugin, I dropped the plugin, not W3TC. –  mrwweb May 8 '12 at 15:36
    
you are right there. absolutely. but, as you said, unfortunately not all plugin programmers do it the wordpress way. –  fischi May 8 '12 at 16:03

It seems your only trouble is Minify Javascript for now. Don't fret over as I've experienced i before and will get into that in a bit.

However, according to Google PageSpeed, Minify Javascript is only medium priority.

For your site, the higher priorities which W3 Total Cache does very well are:

  • Browser cache
  • Page cache

Once you get them right, your site's performance should be much improved.

Now, onto Minify Javascript, I there are two main cases

  • Dependency - A script requires a library e.g. Jquery and it's included before the library
  • jQuery noConflict - the $ is not accepted - you'll probably have to correct all the scripts yourself

The above problems could happend to Javascript outside of plugins, it should be easy to correct them.
Regarding the plugins' Javascript, there is no way else but to correct them and it could be tedious and difficult, you may have to use other plugins if you can't fix the ones you're using.

share|improve this answer

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.