That’s true, but images are not really a problem when it comes to website speed I believe. That’s because they are not render blocking, can be compressed with services like Kraken.io or Tinypng.com, and are (read: should) not that big to begin with if done properly for a blog.
(I’m assuming here that a typical blog has no need for 1000px+ big images. )
I’ve taken the liberty to look up what’s probably the website we’re talking about – www.jennystampsup.com.
I’ve performed a webpagetest here to look for possible areas for improvement. Based on that test and what I see in my browser, I’d look into improving the following:
- Reducing the amount of CSS files. I figure that at least a couple of CSS files are unneeded for certain pages. For instance, the homepage loads the
plugins/pdf-print/css/style.css file, which seems to be something for blog posts.
- You might want to defer load the CSS files that are not necessary for the webpage to begin rendering. (Google for several ways in which you can defer CSS.)
- Your images (in
/wp-content/uploads/) have a max-age cache control header of 4 hours. This can easily and safely be much, much higher – like 6 months or higher.
- Your images can be compressed to be much smaller. For instance, the
May-2017-thanks-for-your-order.png file is 96kb big, but is after compression with Kraken only 31kb big (-67%). Best yet, this has no visual effect on the image itself.
- There are several resources loaded that have a redirect (see the bottom half of the webpagetest). I can’t quickly see what causes that, but you might look into the plugin that does so.
- There are also a lot of requests for the page. And while you use HTTP/2, combining your 200+ requests into fewer increases the speed at which a file can be downloaded and the overall compression.
- Your website references 54 other domains (see here). This is quite a lot because each domain needs to be looked up by the browser before the files can be downloaded. If possible, less external resources make your website quicker.
- I see that your website assets (like HTML, CSS, and JS) have the
x-proxy-cache: MISS header added to them. This seems to be a header from Nginx, which is what I assume is what SiteGround uses. You might want to look into why the Nginx caching over at SiteGround doesn’t seem to work. If files are cached properly on your webserver, files can be accessed quicker by Cloudflare (if it hasn’t been cached by Cloudflare yet).
- You’re referencing several external fonts (Lato, Roboto, Merriweather) from Google Fonts. While custom fonts can make a website more pretty, they also need to be loaded (the regular font but also its italic and bold variants) and processed by the browser. This reduces the website speed, both for desktops and mobile devices. If possible, I’d look into reducing the number of webfonts used or just use plain fonts – which can often be just as pretty and readable, but require much less downloading and processing.
There are more things you can do, but to summarise my advice and suggestions: focus on ‘less is more’ and removing clutter from the website. This also fits nicely with the shop’s tagline (“Clean and Simple”).
(I’m not a WordPress user but did use that platform extensively in the past. Anyway, I’m hoping that people more knowledgeable about WordPress also jump into this thread!)