Support » Plugin: W3 Total Cache » [Plugin: W3 Total Cache] Still having load time issues

  • Hello,
    I’ve noticed lately that my site seems to be having load delays despite using the plugin with enhanced disk caching, minify and database caching turned on. Especially my homepage loads pretty slow sometimes. According to web page speed report I have issues with css, javascript, images, etc. Here’s a typical report about one of my pages:
    * TOTAL_HTML – Congratulations, the total number of HTML files on this page (including the main HTML file) is 1 which most browsers can multithread. Minimizing HTTP requests is key for web site optimization.

    * TOTAL_OBJECTS – Warning! The total number of objects on this page is 52 which by their number will dominate web page delay. Consider reducing this to a more reasonable number. Above 20 objects per page the overhead from dealing with the actual objects (description time and wait time) accounts for more than 80% of whole page latency. See Figure II-3: Relative distribution of latency components showing that object overhead dominates web page latency in Website Optimization Secrets for more details on how object overhead dominates web page latency. Combine, refine, and optimize your external objects. Replace graphic rollovers with CSS rollovers to speed display and minimize HTTP requests. Consider using CSS sprites to help consolidate decorative images. Using CSS techniques such as colored backgrounds, borders, or spacing instead of graphic techniques can reduce HTTP requests. Replace graphic text headers with CSS text headers to further reduce HTTP requests. Finally, consider optimizing parallel downloads by using different hostnames or a CDN to reduce object overhead.

    * TOTAL_IMAGES – Warning! The total number of images on this page is 39 , consider reducing this to a more reasonable number. Recommend combining, replacing, and optimizing your graphics. Replace graphic rollover menus with CSS rollover menus to speed display and minimize HTTP requests. Consider using CSS sprites to help consolidate decorative images. Use CSS techniques such as colored backgrounds, borders, or spacing instead of graphic techniques to reduce HTTP requests. Replace graphic text headers with CSS text headers to further reduce HTTP requests. Finally, consider optimizing parallel downloads by using different hostnames to reduce object overhead.

    * TOTAL_CSS – Warning! The total number of external CSS files on this page is 6 , consider reducing this to one or two external files. Combine, refine, and optimize your external CSS files. Ideally you should have one (or even embed CSS for high-traffic pages) on your pages. You can optimize CSS files using shorthand properties, grouping, and then minify and GZIP compress them to reduce their footprint. Remember to place CSS files in the HEAD and JavaScript files at the end of the BODY to enable progressive display.

    * TOTAL_SIZE – Warning! The total size of this page is 466139 bytes, which will load in 103.30 seconds on a 56Kbps modem. Consider reducing total page size to less than 100K to achieve sub 20 second response times on 56K connections. Pages over 100K exceed most attention thresholds at 56Kbps, even with feedback. Consider optimizing your site with Website Optimization Secrets, Speed Up Your Site or contacting us about our optimization services.

    * TOTAL_SCRIPT – Warning! The total number of external script files on this page is 6 , consider reducing this to a more reasonable number. Combine, refactor, and minify to optimize your JavaScript files. Ideally you should have one (or even embed scripts for high-traffic pages) on your pages. Consider suturing JavaScript files together at the server to minimize HTTP requests. Placing external JavaScript files at the bottom of your BODY, and CSS files in the HEAD enables progressive display in XHTML web pages.

    * HTML_SIZE – Congratulations, the total size of this HTML file is 15541 bytes, which less than 50K. Assuming that you specify the HEIGHT and WIDTH of your images, this size allows your HTML to display content in under 10 seconds, the average time users are willing to wait for a page to display without feedback.

    * IMAGES_SIZE – Warning! The total size of your images is 340842 bytes, which is over 100K. Consider switch graphic formats to achive smaller file sizes (from JPEG to PNG for example). Finally, substitute CSS techniques for graphics techniques to create colored borders, backgrounds, and spacing.

    * SCRIPT_SIZE – Warning! The total size of external your scripts is 90544 bytes, which is over 20K. Consider optimizing your JavaScript for size, combining them, and using HTTP compression where appropriate for any scripts placed in the HEAD of your documents. You can substitute CSS menus for JavaScript-based menus to minimize or even eliminate the use of JavaScript.

    * CSS_SIZE – Caution. The total size of your external CSS is 19212 bytes, which is above 8K and less than 20K. For external files, ideally keep them less than 1160 bytes to fit within one higher-speed TCP-IP packet (or an approximate multiple thereof). Consider optimizing your CSS and eliminating features to reduce this to a more reasonable size.

    * MULTIM_SIZE – Congratulations, the total size of all your external multimedia files is 0 bytes, which is less than 10K.

    What especially troubles me that it tells me to minify and compress – I thought that the minify option in w3 already takes care of that? Does that mean I can and should compress/minify even further? Do you have any advice how I can do that? Maybe gzip compression? Are there any plugins for compression that are compatible with w3?

    Also, how come I get this report even the second and third time of analyzing the same page? I thought w3 cache should do its magic at least the second time the page loads.

    I really want to optimize my site so I greatly value anyones input. Thanks!

    p.s: My images need to remain self-hosted.

Viewing 15 replies - 1 through 15 (of 27 total)
  • Chris Olbekson


    Level 12 Bug Squasher & Forum Moderator

    It’s really hard to provide a useful answer without a link. Also I believe the test you are using dumps its cache after every run. Try this test: and post a link to your results.

    Ooops, youre right. The page that Im using as an example is:

    Here’s the result from the link you gave me:

    Looks like this tells me as well that minify and gzip isnt working very well. How can that be when I have most of the “best” options set in the minify and cashing tab of W3? Also, what is this “Cache static”?
    Thanks a lot!

    from the source of your page it looks like you haven’t done everything needed to get the CSS and JavaScript minified and combined.

    You need to enable the minification on the first tab for W3TC, and also to select the files you want minified and combined in the minify tab, and remember to ‘export’ the final settings you’ve chosen (I can’t remember what the phrase actually used in the button to commit your changes to the site was – I got so confused as to what I had or hadn’t fully enabled that I disabled the two phase approach). There’s a link for a ‘help’ wizard near the beginning of the page which gives you a list of the files you might want include, and their most appropriate page types.

    similarly for browser caching there are things to set on the browser caching page as well as on the first page.

    I hope that makes sense!

    Chris Olbekson


    Level 12 Bug Squasher & Forum Moderator

    @dennis8 Your site actually loads pretty fast for me (1.743s) but there are some settings you need to fix.

    Cache Settings: Turn off database caching and just use page caching with disk enhanced and minify with disk(your on a shared hosting and db caching with disk can slow your site down)

    Gzip: Your host (HostGator) has mod_deflate turned off on its shared servers so nothing you can do

    Minify settings: Use the help wizard and combine and minify your css and js and make sure you set js to embed before </body>

    Browser Cache settings: for css, js, and media files set expires headers lifetime to at least 3 months (7776000s) and for cache control policy use: cache with max-age

    Get the yslow plugin for Firebug and test everything yourself to make sure it’s working.

    Also make sure your logged out of your site when evaluating performance because that is how your visitors will be viewing your site.

    Plugin Author Frederick Townes


    Great support guys. @dennis8 you can try to enable HTTP compression for minified files on the browser cache settings file and see if it works out.

    Thanks so much for the support guys! I’m not sure if I fully understand where exactly I should put these recommendations into action so please allow me to paste in my W3 settings I currently have. Please tell me where I should change something, especially regarding the time/interval settings.

    General settings:
    Everything enabled except CDN. Page caching is enhanced disk. Minify is disk. DB caching is disk.
    *** I’m only able to use disk because the other options (Dedicated/Virtual Server, Multiple server) don’t seem to be available to me. However, I am on a level 3 VPS plan with hostgator.

    Page cache settings:
    Enabled: Don’t cache pages for logged in users
    Enabled: Cache the home page
    Enabled: Cache RSS / Atom feeds (site, categories, tags, comments).
    HTTP compression: Gzip and deflate.
    Maximum lifetime of cache objects: 6600 sec.
    Garbage collection interval: 6600 sec.
    Rest is default.

    Minify Settings:
    Enabled: Rewrite URL structure.
    Enabled: Automatically upload modified files.
    HTTP compression: Gzip and deflate.
    HTML minify settings: Enabled + Don’t minify HTML for logged in administrators
    JS minify settings: Enabled
    JS file management: Default
    CSS minify settings: Enabled
    CSS file management: Default
    Maximum lifetime of cache objects: 86400 sec
    Update external files every: 86400 sec
    Garbage collection interval: 86400 sec

    Database Caching Settings:
    Enabled: Don’t cache queries for logged in users
    Maximum lifetime of cache objects: 180 sec
    Garbage collection interval: 3600
    Ignored query stems: gdsr_

    Again, I’m on a VPS level 3 with hostgator so I’m a bit mystified why c3mdigital says I’m on a shared server? How can you tell? Are their VPS plans actually on shared servers? (Well, I guess thats the whole point of VPS, huh…) So does that mean some settings just dont go into effect even though I have them enabled? (db disk caching, deflate)

    Also, I notice when Im logged in as an admin and browse around my site or actually edit things in WordPress the site often loads pretty slow. Sometimes forever, like its “hanging”. I had this even before I had any W3 installed. Is there anything I can do about that? I know I had contacted hostgator about that a few times and they changed some settings for me (increase of process limit and server memory) but it didnt seem to do much. Maybe I should contact them again about the deflate option.

    Once again thanks, I really appreciate it!

    minify still seems not to be working well from looking at your source and the output
    From both its clear that the js and css files have not been combined – given the number of such files that you have, getting this right should give significant benefits.
    What do you mean by ‘JS file management: Default’ and ‘CSS file management: Default’? The initial state for both these is that no files are combined, and you need to combine the files into groups for each page type; there’s a help wizard that will indicate for you which files appear to belong in each group for your template. (and gets it right for me! 🙂 )
    The button for ‘help’ is near the top of the minify page.

    (I don’t know about db or object caching – I haven’t bothered to try either of these as I’m using shared hosting)

    Ok, an update. I just opened a ticket with hostgator and they denied that Im on a shared server, like I said. Im on a VPS.

    However, they did confirm that gzip is turned off (and gzip test tool states so too) but they offered me to recompile the Apache webserver for my VPS to enable it. From what I understand the benefits of using gzip are quite dramatic so I guess I should let them do that, huh? He said though it would take a couple of hours to recompile so it would need to be done during low traffic hours.

    They also confirmed that I should turn off database caching as a VPS Level 3 does not have enough RAM memory to really make effective use of that. Im wondering though if that memory couldn’t be increased? What would be a necessary size?

    Btw, I was till on version so I upgraded to the latest and thus was able to enable these recommendations and some more enhancements (after reading the FAQ). I still have a few questions after ploughing though that FAQ but will post these later.

    As I’m still familiarizing myself with the new version Im trying to figure out what the best minify settings from the help button are. It detects 7 javascripts and 5 CSS on my site.

    On the js, it sets some of them as “all templates” and some of them as “single”. One (addthis widget) as “index”. Is that ok? And should I embed all of these before </body>, as non-blocking? And if I do that do I also still need to enable “Combine only before </body>” in the general minify JS settings?

    As for the CSS, they are all detected for “all templates”. Im not sure if I should minify my WordBay CSS because as you may know that plugin pulls and displays current Ebay listings. Could minification cause any problems here?

    Sorry, but I feel like this is all a bit over my head…but I would really like to learn and understand. Thank you for your help and time!

    Its much easier to set up the minify stuff on 0.9.x than the 0.8.5.x series, and it can make a big difference in performance. (It was for this potential that I switched over to W3TC.)
    I’d say yes to getting gzip enabled, but have no experience of VPS systems – not currently needed for my small blogs!

    For configuring JavaScript, I just include them all before </head>. Technically some might be able to be put in the footer, but that requires knowledge of exactly what they do, and (in my opinion) little gain unless all can be moved there, or you have lots of large JS files. Use ‘combine only’ only if things don’t work without it! (Its a compromise for poorly written js.)
    I don’t know about WordBay, sorry.

    So efkim says to embed them before </head> whereas c3mdigital says before </body>. What is really better?

    </head> is safe!, </body> is better if they can be safely deferred until then. I don’t know which can be safely left til the end of the page and which can’t, and can’t be bothered to try to test! Probably most can be left, so for optimal performance c3mdigital is probably right!
    I just go for the ‘easy’ wins!

    Plugin Author Frederick Townes


    So @dennis8 are you fully optimized now?

    Yes and no. Hostgator turned on mod_deflate this morning for my VPS though it still says “gzip not detected” when I do the compatibility check in W3. I will do more testing about that later.

    I still need help with the settings regarding what templates to choose for the CSS and JS detected. Does W3 automatically give the right one to choose? (See my third last post or 5th from top) Thank you!

    Plugin Author Frederick Townes


    If you use the help wizard it will discover the files for you and you can prune the settings.

Viewing 15 replies - 1 through 15 (of 27 total)
  • The topic ‘[Plugin: W3 Total Cache] Still having load time issues’ is closed to new replies.