How does it work?

EcoIndex helps raising awareness on Internet environmental footprint and offers practical solutions.

This analysis is free, automatic and helps you quickly identify websites and online services to review in priority. This does not exempt you from the additional analysis of an expert to have a complete and reliable operational report.

To put it simply


You enter an URL in EcoIndex, which then calculates performance and environmental footprint of the tested webpage.

  • Environmental performance is depicted by a score out of 100 and a grade from A to G (the higher the grade, the better!).
  • Environmental footprint is materialized by greenhouse gases emissions and water consumption generated by the webpage.

Several criteria are taken into account by our calculation method:

  • Page complexity: the DOM (Document Object Model) is the representation of the structure and elements of an HTML webpage. The more elements the DOM contains, the more complex the page is to decipher, therefore more complexe to display for the browser. Concretely, all this means your computer processor provides a greater effort to display the page, which decrease your device lifespan.
  • Size of data transferred: before appearing on your screen, a webpage is a set of data stored on a server. When you access a webpage, your browser sends a request to the server in order to communicate this set of data, format it and display it on your screen. Here’s the problem: bigger data require more energy to be transported from the server to the browser. Please note that in this version of EcoIndex, calculation is based on a Wi-Fi via ADSL type of internet connection. Next version will take different types of internet connections into account, particularly 4G. Indeed, 4G connection requires up to 23 times more energy than ADSL to transport the same amount of data.
  • number of HTTP requests: this criterion allows us to take into account servers effort necessary to display the tested webpage. The greater the number of requests for one page, the more servers will be needed to render this page.

Compare like-for-like


EcoIndex.fr was designed to compare URL of the same type, for example: comparing the “article page” of several news websites, or homepages of different institutional websites. Our calculation engine is not able to automatically detect the type of page or URL analyzed. Some types of websites usually tend to have higher impact than others. Therefore, we must compare what is comparable, for example: it would make no sense to put Amazon’s homepage side-by-side with an article page published on the New York Times website.

Criteria’s choice


Each criteria described above (DOM complexity, data size and HTTP requests number) was chosen to represent each third of a digital service architecture:

  • the Internet user and their equipment => number of DOM elements;
  • the network => transferred data;
  • the server => number of HTTP requests.

EcoIndex calculation


These three criteria are injected into our algorithm to calculate the EcoIndex of the tested page. We associate them via a weighted average of:

  • 3 for DOM complexity
  • 2 for HTTP requests
  • 1 for data transferred size

Various micro and macro analyzes underline the overriding importance of the “Internet user” regarding environmental impacts, especially during the manufacture of connected devices. This is why the “DOM complexity” criteria is “overweighted” compared to the others.

x = one hundred minus one sixth of (three times the DOM quantile + two times the Http quantile + one time the data quantile, in kilobytes}

In order to consider the disparity in these 3 indicators measure, we place the value observed for each criterion in a quantile, taking into account its proximity to lower/upper limits of the quantile. Limits of EcoIndex scale (0 to 100) were determined and validated analyzing The HTTP Archive database (500,000 URLs).

Score calculation


Once we get the EcoIndex, we rank this value in relation to other values available in EcoIndex.fr database. We then obtain a rank. Ranks are dispatched on a scale from A to G (European standard). So you are given a second information: the URL performance compared to other URLs tested. Therefore, it’s a performance relative to the sample studied.

Environmental footprint


Physical footprint

The webstite’s physical footprint is characterized, notably, by the amount of Random Access Memory (RAM) and the number of processor (CPU) cycles consumed by the process of the browser displaying the analysed URL. Analysing physical footprint over time - evolution of RAM consumption and CPU load - allows us to identify correlations and treshold effects: CPU blocking, RAM overconsumption…

A webpage environmental footprint is depicted by its equivalence in terms of greenhouse gases emissions and water consumption for a given number of visitors. It is calculated according to the website’s ecodesign level. We start from an average impact in terms of GHG emissions and fresh water consumption, stemming from several models carried out by GreenIT.fr: this average impact is 2g CO2e and 3cl blue water per webpage. Calculation of this value is based on the results of a LCA (Life Cycle Analysis), from end-to-end (from terminal to server), accounting for the complete life cycle (manufacture and usage) of a webpage (processing, transporting and displaying). This average value is nuanced according to the tested webpage ecodesign level, meaning that, depending on the EcoIndex score obtained, we overvalue or undervalue the average value. These results have been verified by third parties and are consistent with results obtained by other independent models. In this first version, the analysis is based on an ADSL connection from a landline.

Analysis methodology


The ecoindex.fr website uses the ecoindex_api API to run page analyses. The ecoindex_api project embeds a chrome driver for selenium.

When an analysis is launched, the requested page is loaded in a real Chrome browser and play the following scenario:

  1. Launch a headless Chrome browser with no-sandbox, disable-dev-shm-usage options and goog:loggingPrefs capabilities at {"performance": "ALL"}
  2. Open the page without local data (cache, cookies, localstorage…) with a resolution of 1920x1080px
  3. Wait 3 seconds
  4. Scroll down
  5. Wait 3 seconds again
  6. Close the page

If the page is indeed an html page (content type text/html) which does not encounter an error (HTTP code 200), then we proceed to analyze the metrics of the session:

  • The number of Network.loadingFinished type logs indicates the number of requests made to external resources
  • The sum of all the encodedDataLength of these same requests + size of the html of the page itself allows to calculate the weight of the page
  • The count of all the DOM nodes of the page excluding the child nodes of the svg elements tells us the number of DOM elements of the page

Error codes


In some cases, the analyzes can fall into error. Here are some possible explanations:

  • Code 403: The ecoindex site tries to circumvent antibot protections such as Datadome, Imperva… However, this feature is not infallible. In case an antibot system detects ecoindex as a bot, it will return a 403 error code
  • Code 429: As explained here, we voluntarily limit analyzes to 10 per day for the same domain name. If you want to do more, you can deploy your own API instance or use the command line analyzer tool

Important


Unlike other analysis services using a headless browser, with EcoIndex.fr, page loading, creation and display in the browser are not simulated. There is no difference with what actually happens in your browser.

Tests are limited to 10 per day for the same domain name. This limits usage abuse, avoids server overload, and makes EcoIndex.fr accessible to everyone, at any time. However, if you’d like to run more frequent tests, you can use other tools available on GitHub

Disclaimer


EcoIndex does not provide any information on the efforts made in terms of eco-design. Like radar, which measures instantaneous speed, EcoIndex measures instantaneous environmental performance. Further analysis is required to assess the maturity/level of eco-design of the URL studied. The figures provided by EcoIndex are orders of magnitude. They tell you whether your site is efficient or not, and whether its environmental footprint is low or high. Generally speaking, an in-depth analysis of your site’s performance and environmental footprint requires the intervention of an expert. This version of EcoIndex is imperfect. We are aware of this. We’re already working on the next version. Help us improve this service by contributing to it!

Sources and use


You can find the sources and contribute on our GitHub repositories: the website and the backend. The EcoIndex algorithm, the EcoIndex.fr service and other associated tools, as well as the results provided by the algorithm are offered under the following licence Creative Commons CC-By-NC-ND. This means that anyone can can use the algorithm, the tools and the results, as long as they cite the source of the figures obtained. EcoIndex.fr and a link to the service http://ecoindex.fr. It is not possible to make any commercial use. For further information, see legal notice.