Judge.me is the lightest review app when comparing to Yotpo, Loox, Stamped, and some other review apps on Shopify.
- our own jQuery (this accounts for half of our file's size but we find jQuery too useful to be removed)
- our special lightweight font for rating stars
Our JS file is 77.9KB after compression (before compression it's 210KB, but for network loading performance, the size prior to compression is irrelevant), and the CSS file is smaller than 10KB.
Other review apps usually make 4 separate requests for the above items (some even unnecessarily load the whole FontAwesome library). Most apps also make database requests to fetch their review content. Judge.me stores review content inside Shopify metafields, embedded in your page in order not to make extra database requests. Loading review content from Shopify metafields has been part of the Free plan since the Judge.me widget version 1.0.
Other related questions
1. Why do you prefer one large request to multiple small requests?
One large request outperforms many small requests (e.g. 1 request of 50KB is faster than 5 requests of 10KB) because most of the time spent for a request is for overhead procedures, such as looking for a server, initiating SSL handshake, server processing.
2. Does Google PageSpeed deduct points for large JS files?
Google PageSpeed does not deduct any point just because our JS file is large. It only does so if the JS file is not compressed, or not minified, or not loaded asynchronously, or not cached. However, our JS file does not have any of those issues.
3. Why is jQuery added to the Judge.me JS file?
We add jQuery for multiple reasons:
- Make sure we use this particular version of jQuery
- Control the quality of jQuery. Some themes overwrite portions of the jQuery they load and sometimes they may not even load it completely.
- Make sure jQuery is loaded before our JS and that it does not have any errors. We don't want to depend on the theme developer for this.
4. I have further questions/ideas/concerns about page speed optimization
Please reach out to us via email@example.com, we are willing to discuss how to improve our users' shop performance.