Support » Fixing WordPress » Unimprovably slow site, overnight doubling of Media storage – Dashboard

  • Hi there

    I’ve been trying to speed up my WordPress sites for almost 2 weeks now, with only momentary impacts. I’ve added plugins like SuperCache, WPSmush, Autoptimize, ScriptsToFooter, CloudFlare, and a few others, and I also added HealthCheck which at least told me I was running an old PHP and I fixed that easily enough. Sometimes it seems like a site is loading faster, for instance, one has been a “hanger” since forever until the recent changes, and now at least it’s serving up the above-the-fold content before people get annoyed and leave (it was really. Really. REALLY bad even with just 5 pages, 3 posts, and a Twenty-seventeen theme).

    I’ve been working on both sites concurrently. When it comes to GTMetrix and pingdom, **nothing** I do is improving it. I’m consistently failing on “Defer parsing of JavaScript
    F (11)
    Serve resources from a consistent URL
    F (25)
    Leverage browser caching
    F (25)”
    And there have been other issues that have nominally improved.

    Second issue: Last night in my maintenance/dev work, I was working in my Media folder on the bigger site and reducing the size of many large images, bringing them down to 800×600. I also did a full network backup and I updated my WP to the latest version.

    This morning I logged in and my Dashboard reports my Media folder has more than doubled in size overnight. Why? And what can I possibly do about this?

    The one site with 76 blog posts and a full Media library and Cloudflare set up is https://bigcitylittlehomestead.ca

    The other site that was hanging up until recently, with basically 3-4 blog posts and just a couple (now 4-5) products in WooCommerce, is https://projectica.org

    I’m discouraged, and I need help.

Viewing 6 replies - 1 through 6 (of 6 total)
  • Hello!

    Your websites are not that poorly optimized, but they could do better.

    Before pointing out some issues that I’ve noticed, please note that speed testing tools calculate the time it takes for every resource on your website to load, not when the content starts to render / appear.

    So, if you see a 5-second loading time, for example, it doesn’t mean that the users will stay with a blank page in front of them for 5 seconds until some piece of content finally starts to appear.

    Now, let’s get to the issues that I noticed.

    1. I think you have some plugin bloat.

    Don’t start adding a lot of optimization plugins in order to try to fix every warning a speed tool throws your way.

    This goes for other plugins as well, not just those that handle optimization. The fewer plugins you have, the better.

    Plugins are like apps, they consume resources. The more you have, the more resources they’ll consume, the greater the impact on your site will be, especially on shared environments and web hosts that are not so well optimized.

    2. Your First Byte time is kind of high, around 600+ ms. Here’s more info on what First Byte refers to – https://en.wikipedia.org/wiki/Time_to_first_byte.

    This is a web host related issue, and the web host you’re using right now is not… ideal, let’s say it like that.

    3. You have some browser caching issues.

    I recommend using W3 Total Cache, or WP Rocket, if you don’t mind paying for it. WP Rocket also has some built-in features that will allow you to use less plugins, since it can handle database optimization, lazy load for images and videos, and other things.

    Or you can manually add this in your .htaccess file:

    ## EXPIRES CACHING ##
    <IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access 1 year"
    ExpiresByType image/jpeg "access 1 year"
    ExpiresByType image/gif "access 1 year"
    ExpiresByType image/png "access 1 year"
    ExpiresByType text/css "access 1 month"
    ExpiresByType application/pdf "access 1 month"
    ExpiresByType application/javascript "access 1 month"
    ExpiresByType application/x-javascript "access 1 month"
    ExpiresByType application/x-shockwave-flash "access 1 month"
    ExpiresByType image/x-icon "access 1 year"
    ExpiresDefault "access 2 days"
    </IfModule>
    ## EXPIRES CACHING ##

    Note that you will still see some browser caching warnings, since you will still have external resources that you can’t do anything about, since they come from 3rd party websites.

    For example, MailChimp scripts:

    https://downloads.mailchimp.com/js/signup-forms/popup/1.0/popup.js
    https://downloads.mailchimp.com/css/signup-forms/popup/1.0/common.css
    https://downloads.mailchimp.com/css/signup-forms/popup/1.0/banner.css
    https://downloads.mailchimp.com/css/signup-forms/popup/1.0/layout-2.css
    https://downloads.mailchimp.com/css/signup-forms/popup/1.0/modal-slidein.cs

    4. Your page size is too big, because your images are too big.

    For example, this image is around 152 KB, and it’s just one image.

    It would have been better if it was .PNG as well, instead of .JPG.

    The images on Projectica’s homepage occupy 40.8% (769 KB) of the entire page size, which is too much.

    Try improving some of these points, and your speed should improve too.

    Thank you, Blade.

    Since I just started using Hustle, which is not perfect but more configurable than the Mailchimp plugin/forms page, I’m thinking of getting rid of the Mailchimp plugin. This would be easy to do on Projectica once I’ve finally gotten Hustle to work on it (IDK why, but it’s like I have an “old” hustle on my Projectica, and a new one on my other site, when they’re the exact same plugin!).

    I can put up a png, and reduce the file sizes on Projectica. However, it was on bigcitylittlehomestead that I had the overnight doubling in size of my media folder – after I reduced many image sizes (heuristic: if over 400 Kb, change dimensions).

    W3 Total Cache, when I first tried it, was causing an exception to be thrown each time I saved something in my wp-admin! This is why I went with WP Super Cache.

    Do you see any other plugins worth getting rid of? I posted the 25 I use in this thread: https://wordpress.org/support/topic/is-there-a-known-plugin-that-strips-a-space-from-text-before-or-after-a/

    I just used Atom to change my .htaccess file. In my research on optimization so far, the recommended time-to-expire was shorter – what’s the shortest reasonable time to expire you recommend – exactly what you put above?

    I can talk to my host about other issues.

    I appreciate the help!

    Anything that’s connected to an external website will have external resources that will load on your website. Some will have more, some less. It’s not just MailChimp.

    Having external resources is normal nowadays, and as long as you don’t have too many, or poorly optimized ones, you shouldn’t worry.

    In the end, all that matters is the actual loading time. If your loading time doesn’t affect SEO or user experience, you can have 200 external requests and grade F on Pingdom. User and search engines don’t care about speed grades, they care about the actual loading time.

    Don’t know exactly what’s with the doubling of the media file, but keep in mind that every time you add an image, WordPress, as well as certain plugins and themes, create additional thumbnails of different sizes for that same image.

    Yes, W3 Total Cache can cause some issues sometimes.

    You can also edit your .htaccess with Yoast, unless you have that feature disabled. Go to SEO -> Tools -> File Editor.

    I do recommend to try and access and edit files on your FTP, via cPanel or other 3rd party software, in case something happens and you need to undo the changes. You can also back the files up before editing them, which is safer.

    As for the plugins, I’d get rid of:

    For extra safety, create a site backup before removing the plugins, or some of them. I don’t know which you’ll remove or not.

    1. AMP, especially since Google said that they will come up with something else, better, based on AMP. AMP wasn’t such a big hit anyway.

    2. Autoptimize. One caching / speed plugin is enough. Stick with WP Super Cache.

    3. Broken Link Checker. Although very useful, it can stress the server too much, especially if the server is a shared one.

    I recommend using an online tool from time to time, like http://www.brokenlinkcheck.com/.

    4. Check and Enable GZIP. WP Super Cache should have this already, no? Haven’t used it for years.

    Or add this to your .htaccess again (back up your file or website before):

    <IfModule mod_deflate.c>
      # Compress HTML, CSS, JavaScript, Text, XML and fonts
      AddOutputFilterByType DEFLATE application/javascript
      AddOutputFilterByType DEFLATE application/rss+xml
      AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
      AddOutputFilterByType DEFLATE application/x-font
      AddOutputFilterByType DEFLATE application/x-font-opentype
      AddOutputFilterByType DEFLATE application/x-font-otf
      AddOutputFilterByType DEFLATE application/x-font-truetype
      AddOutputFilterByType DEFLATE application/x-font-ttf
      AddOutputFilterByType DEFLATE application/x-javascript
      AddOutputFilterByType DEFLATE application/xhtml+xml
      AddOutputFilterByType DEFLATE application/xml
      AddOutputFilterByType DEFLATE font/opentype
      AddOutputFilterByType DEFLATE font/otf
      AddOutputFilterByType DEFLATE font/ttf
      AddOutputFilterByType DEFLATE image/svg+xml
      AddOutputFilterByType DEFLATE image/x-icon
      AddOutputFilterByType DEFLATE text/css
      AddOutputFilterByType DEFLATE text/html
      AddOutputFilterByType DEFLATE text/javascript
      AddOutputFilterByType DEFLATE text/plain
      AddOutputFilterByType DEFLATE text/xml
    </IfModule>

    5. Cloudflare. You don’t need a Cloudflare plugin to set it up or handle settings, so there’s no real use for it.

    Use your Cloduflare Dashboard on their website.

    6. Glue for Yoast SEO & AMP Version, if you decide to get rid of AMP.

    7. Gravatar Enhanced hasn’t been updated for over 2 years.

    8. Health check. You could remove it now if you fixed whatever warnings it pointed out.

    9. Jetpack is pretty “heavy” and usually causes a lot of conflicts.

    10. Loginizer – use iThemes Security instead. It’s a really, really good security plugin, and it covers a ton of security features. You won’t need any other security plugin. An alternative could be WordFence. Having a security plugin is a must.

    11. Clearfy – if you have Yoast and WP Super Cache, I think you can get rid of this, unless it has some features that you really need and others don’t provide.

    The other plugins are ok, or they handle customization or analytics for your website, so I didn’t mention them.

    I believe that those standard expires headers are good in the vast majority of cases.

    The minimum should be one month. You can read more here – https://gtmetrix.com/leverage-browser-caching.html.

    quick remark: WP Super Cache does page caching, Autoptimize does CSS/ JS optimization, so they actually are _very_ complementary 🙂

    frank (ao dev)

    Hi again!

    Though I was quiet yesterday, it’s because I consciously said “no web dev rabbit hole until later in the day” and then I did some work.

    I found the cause of the bloat of my Storage folder: that was where my Backups plugin was storing backups. I’ve deleted all but the latest backup.

    I’ve turned off several plugins. I will try the iThemes security plugin. I have NOT yet added the new htaccess that you have recommended, but I will…

    My load time on BCLH is 5.9s with a page speed grade of C. My load time on projectica is 3.4 seconds with the same grade. BOTH give me an F on the “Add expires headers” even though I added your expires code to htaccess 🙁 I’m afraid I’m going to have to take this up with my host.

    I did get rid of Clearfy and a few of the plugins. SuperCache does NOT do gzip compression (if they do it doesn’t say so). Since I got rid of the Cloudflare plugin (IDK if this was different before, either), GTMetrix says I’m not using a CDN even though I am using Cloudflare at my host AND jetpack also has a CDN for images. (This is so frustrating, when you use what is supposed to help, what they tell you to use, and it doesn’t register, and makes no difference!)

    Finally, Frank from AO, maybe you have some insight, but since I started doing all this optimizing, something happened to the rendering of my CSS and I now have to go in and put an   before and after every Strong, Em, and A in my text. With 76 blog posts on BCLH, I’m not going to do that, and I need a work around. You can literally see the double spaces on some browsers, but if I do not do this, then the rendering of the HTML strips out the space between the styled/linked and unstyled text. Since AO is about compressing CSS, maybe you could advise me here: https://wordpress.org/support/topic/is-there-a-known-plugin-that-strips-a-space-from-text-before-or-after-a/
    Let me know if I should delete my Caches when you take a look at this.

    Hello!

    I got B A A A A for Projectica on WebPageTest. B is for that first byte that’s still high.

    So, it’s well-optimized.

    Indeed, it shows that you don’t have a CDN in place, but if you have set up Cloudflare via plugin, but then deleted it, you’ll have to set it up again through their website.

    For BCLH I got A A A A C. It got an A for the first byte, but it’s still a bit high.

    It got C for Cache Static Content (Leverage browser caching), but, like I said in the previous post, those are for external resources, which you have no power over, since they’re coming for 3rd party websites.

    Same goes for expires headers. The code I gave you did work, since no internal resources appear anymore, only external, from Google, Facebook, and so on. You can’t cache those.

    Nevertheless, the sites start to render around 1.5 seconds, which is good, since that’s when the content starts to appear for the user, that’s what’s important.

    Users and search engines don’t care about grades, they care about the actual loading time.

    Submit your websites to Google’s Search Console, and when you get warnings regarding speed there, then you should start worrying.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Unimprovably slow site, overnight doubling of Media storage – Dashboard’ is closed to new replies.