The great WP-Optimize Debacle

The great WP-Optimize Debacle

Gijo accused WP-Optimize of cheating the Google Page Score. It wasn't true, but the news about WP-Optimize cheating reached many people.

In case you missed it - some time ago Gijo published a Tweet in which he accused WP-Optimize of using quite shady practices in their plugin.

Also, WP Tavern published two articles about that:

  • WP-Optimize Plugin Accused of Cheating PageSpeed and Other Performance Testing Tools

  • WP-Optimize Denies Allegations of Cheating Performance Tools

Of course, WP-Optimize also published a response to those allegations.

As you can see - a lot happened. So, why did I decide to publish it now? Because I had enough time to test everything myself and I could analyze everything having all the opinions from all sides.

My initial opinion

I won't lie, when Gijo published his tweet I thought that it was not the first time some company does something like this. I even read an article from Filip Rakowski, where he mentioned a similar case. So, it was possible that WP-Optimize was doing the same.

Who messed up?

Well - everyone.

Gijo

While Gijo was right that in some cases WP-Optimize does hide some scripts from Google Page Speed, he did forget to mention that it's not the default behavior, but it only happens when you'll select the Defer all the JavaScript files option. At some point, he did mention it later on, but this should be stated from the beginning.

Hiding this information really changes a lot.

WP-Optimize team

They also messed up, but mostly thanks to poor UI.

There are two options in their plugin:

  • Defer selected JavaScript files where they stated clearly "Use this if you have a completely independent script or would like to exclude scripts from page speed tests (PageSpeed Insights, GTMetrix...) "

  • Defer all the JavaScript files together with the Defer using JavaScript option, where they didn't mention the effect on PageSpeed

In my opinion, adding those few words would solve the problem. Another way would be to remove this if when using the Defer using JS.

<script>if (!navigator.userAgent.match(/x11.*fox\/54|oid\s4.*xus.*ome\/62|x11.*ome\/62|oobot|ighth|tmetr|eadles|ingdo/i)){
    loadAsync('http://my.domain/wp-content/cache/wpo-minify/1662539833/assets/wpo-minify-footer-a1cb0a1d.min.js', null);
}</script>

But do WP-Optimize cheat? No, I don't think so.

Did they cause the whole situation thanks to a lack of one sentence? Yes, they did. Thanks to better UI they could just respond with a simple "Read the... manual" and end the whole thing.

A totally different thing is the fact, if a possibility to exclude some scripts from page speed is needed? From my experience, I can say that "yes" sometimes it's quite useful. But only the variant where we can pick the scripts.

WP Tavern

WP Tavern wasn't the only medium that wrote about it, but they are the medium that appears in every WordPress dashboard. This means that for a while many users could see one or both article titles about WP-Optimize cheating the PageSpeed score.

WP Tavern could do at least one of the things better:

  • just test it and see if they can replicate the problem. After 5 minutes they should see that something is off in that accusation

  • try to question Gijo too and give a bit longer deadline for WP-Optimize developers as they were having a public holiday

In general, with great power comes great responsibility and this time this power was misused. Waiting some time more and providing a better article would be much more valuable for everyone.

I hope next time we'll all do better

As you see, all the involved parties did something wrong. I really hope that during the next debacle like this we'll start with more fact-checking.