Speed Tests and Easy Image Optimizer
Running speed tests (like GTmetrix, Google's PageSpeed Insights, WebPageTest, Pingdom, etc.) on your site can be a good way to waste days of your life. There, I said it, now let's move on...
First, to be absolutely clear, Easy Image Optimizer was built to solve all the image-related problems that speed tests identify. More importantly, it was built to make your site faster and let you get on with your business.
But you're here, so you must have some problem(s) still, right? So let's look at a few potential issues that we've seen.
There are various recommendations, but most of them come down to these four things:
- Compress/optimize images (efficient encoding)
- Properly size/scale images
- Defer offscreen images (lazy load)
- Serve images in next-gen formats (like WebP)
First of all, the Easy IO service optimizes your images "on the fly". This is done via a CDN (content distribution network) that has image optimization built-in. Our CDN, just like all CDNs, has a lot of servers, and each one of those has to fetch a copy of your images. That only happens as quickly as real people view your page (from the location nearest each of those servers). We call this process "filling the cache".
Reload your page 4-5 times, and you should then have the full effect of image optimization in place. If it's still slow on a testing site, see the section below on running speed tests.
Secondly, if you're using a lazy load function besides ours, turn it off and use our Lazy Load feature instead. Our lazy loader is customized to allow Easy IO to automatically scale your images to the size of your visitor's device/screen, and it allows you to tackle Google's recommendation to "defer offscreen images".
The most common source of problems is when image URLs are included via external CSS/JS or in a separate CSS block within your page code. You may need to contact the support folks for a particular plugin/theme if it is not allowing Easy IO to rewrite the image URLs properly. You can also direct third-party developers to this resource.
Running Speed Tests (the right way)
If you really insist on using a speed test to check your site speed, don't use PageSpeed to measure your page speed. Crazy, eh? We have nearly a hundred servers in 40+ locations, Google has hundreds of testing servers, probably in even more locations than us, and the combinations are pretty endless there. To get a consistent speed test, use GTmetrix:
- GTmetrix lets you choose the test location. This means you can consistently test your site from the same location, and it will build up the CDN cache for that location quickly.
- When you go to the Waterfall tab, you can actually see if GTmetrix is getting cached results, or if the cache is still being filled up. What? How? Tell me quick! Alright, alright, slow down :) Scroll down the waterfall view, and look for files that were loaded from Easy IO (the ones with .exactdn.com in the URL). Click on one, and look for "Cache:" in the Response Headers. If it says MISS, run the test again. If it says HIT, check a few others. If you find any MISSes, run the test once more.
- You can get a free GTmetrix account to view some useful stats on the Timings tab (these are now shown on the Speed Visualization of the Summary tab). Fully Loaded means EVERYTHING has finished loading, it is not the same as when the page has loaded for your visitors. Lot's of plugins use clever ways to defer resources, especially things like ads, so the fully loaded time might paint a dismal picture. But never fear, check the Contentful Paint and Time to Interactive to see when the page actually shows up for the visitor.
Even better, go load the page yourself. Of course, make sure you logout of your site first, so you get the same experience as your visitors. Do it on a laptop, on a tablet, on a phone, any device you have, do some real tests and see how it feels.
Ultimately, Easy IO is supposed to be "hands free", so if something isn't working the way you think it should, let us know (contact form below).