What is eCom Index and how does it work?

eCom Index has been developed for UK retailers to measure and compare their website technical ability and performance against other large eCommerce sites. The report lists the top UK retailers who were honoured to be on the latest, prestigious IRUK 500 list - each ranked on 5 core metrics: performance and speed, progressive web app validation, accessibility and UX, best practices of code and SEO factors.

Developed by the SaaS agency Remarkable.net, the eCom Index report was created as an unbiased view on how UK eCommerce websites technically perform. The report is generated using Google's Chrome Lighthouse tool, which independently scores each URL on a basic set of factors and allows for a quick and useful comparison.

The index is updated every Monday, overriding the previous week's results. Any user can subscribe to receive a browser notification for any ranking changes reported, providing immediate knowledge of fluctuations.

Each metric the report displays is calculated using a wide range of tests, each scored and summed with a total score of 100 per metric.

Performance Checks


  1. Consistently Interactive
  2. Critical Request Chains
  3. Defer used CSS
  4. Enable Text Compression
  5. Estimated Input Latency
  6. First Interactive
  7. First Meaningful Paint
  8. Has Enormous Network Payloads
  9. Has multiple page redirects
  10. JavaScript Bootup Time is Too High
  11. Keep Server Response Times Low
  12. Minify CSS
  13. Offscreen Images
  14. Optimize Images
  15. Oversized Images
  16. Perceptual Speed Index
  17. Preload key requests
  18. Reduce Render-Blocking Scripts
  19. Reduce Render-Blocking Stylesheets
  20. Serve Images in Next-Gen Formats
  21. Time to Interactive
  22. Unoptimized Images
  23. User Timing Marks and Measures
  24. Uses An Excessive DOM Size
  25. Uses in-efficient cache policy on static assets

PWA Checkes


  1. Address Bar Matches Brand Colors
  2. Cache Contains start_url from Manifest
  3. Configures For A Custom Splash Screen
  4. Contains Some Content When Its Scripts Are Not Available
  5. Content Sized Correctly for Viewport
  6. Has a Viewport Meta Tag with width or initial-scale
  7. Manifest contains Icons at Least 192px
  8. Manifest Contains background_color
  9. Manifest Contains name
  10. Manifest Contains short_name
  11. Manifest Contains Start URL
  12. Manifest Exists
  13. Manifest's display Property is Set
  14. Page Load is Fast Enough on 3G
  15. Redirects HTTP Traffic to HTTPS
  16. Registers A Service Worker
  17. Responds With a 200 When offline
  18. User Can be Prompted to Install The Web App
  19. Uses HTTPS

Accessibility checks


  1. Buttons Have An Accessible Name
  2. Documents Doesn't have a Title Element
  3. Element aria-* Attributes Are Allowed For This Role
  4. Element aria-* Attributes Are Valid and Not Misspelled Or Non-Existent
  5. Element aria-* Attributes Have Valid Values
  6. Elements With ARIA Roles have the Required aria-* Attributes
  7. Every Form Element Has a Label
  8. Every Image Has An alt Attribute
  9. No Element Has A tabindex Attribute Greater than 0

Best practice checks


  1. Avoids Application Cache
  2. Avoids consoletime()
  3. Avoids Date.now()
  4. Avoids Deprecated APIs
  5. AVoids document.write()
  6. Avoids Mutation Events In Its Own Scripts
  7. Avoids Old CSS Flexbox
  8. Avoids Requesting The Geolocation Permission On Page Load
  9. Avoids Requesting The Notification Permission on page Load
  10. Avoids Web SQL
  11. Displays Images With incorrect Aspect Ratio
  12. Includes Front-End Javascript Libraries With Known Security Vulnerabilities
  13. Manifest's short_Name Won't be Truncated When Displayed on Homescreen
  14. Opens External Anchors Using rel=”noopener”
  15. Prevents Users From Pasting Into password Fields
  16. Some Insecure Pre-Resources Can be Upgraded to HTTPS
  17. Uses HTTPS
  18. Uses HTTP/2 For Its Own Resources
  19. Uses Passive Event Listeners to Improve Scrolling Performance

SEO Checks


  1. Document does not have a Meta Description
  2. Document does not have a Title Element
  3. Document does not have a valid hreflang
  4. Document does not have a valid rel=canonical
  5. Document does not use legible font sizes
  6. Links do not have descriptive text
  7. Page has unsuccessful HTTP status code
  8. Page is blocked from indexing