Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Here you can find the Sustainability Best Practices listed by the Umbraco Sustainability Community Team.
As a global society, we should be making an effort to be on track with the necessary changes. These changes are needed to keep global temperature increases below 1.5°C compared to pre-industrialised times. According to the studies, the temperature will likely be breached in 2023. This will have additional impacts on the warming weather pattern, for example, more extreme weather events driven by El Niño.
The severe disruption to society will also extend to businesses with physical and digital infrastructure suffering damage, affecting employee’s ability to work.
The 2023 Edelman Trust Barometer found that business is the most trusted institution, above NGOs, governments, and media. Therefore, businesses need to live up to that trust on issues like climate and ecological emergencies.
Digital industry organizations have a part to play in meeting the challenge of reducing emissions:
Since the Paris Agreement, the average web page size has increased by 64% on desktop and 132% on mobile.
This is worsening because more people are consuming heavier-weight software; internet users have increased by 60%, while internet traffic has increased by 440%.
Given the above, this documentation describes some of the best practices that can be applied when developing digital experiences. The recommendations are given by a group of Umbraco Community members in the Sustainability Team.
We have decided to target our best practices to specific roles. As a result, we have grouped the documentation into four categories: Infrastructure, Backend, Frontend, and Editor. You can dive into one of the categories that interests you the most.
Use a robots.txt
file to block parts of your site you don’t want bots to access. But also monitor access from bots using your logs and other tooling. They’ll be using up precious computing resources by browsing your site. If you see lots of traffic coming from unknown and obvious bots, block them.
Distributed Denial of Service (DDoS) attacks range from annoying to planetary in terms of volume. They should be blocked as early up the chain as possible. Use services like Cloudflare, Akamai, Azure Distributed Denial of Service protection, and similar. Such services can blackhole these types of quests before they get anywhere near your application stack. If you don’t, they’ll be using up precious bandwidth and computation resources - all of which use energy.
Here you can find some basic considerations for a sustainable infrastructure.
In this section, you can find topics to operationalize infrastructure sustainability:
Choose SaaS providers using renewable energy. Embrace Cloud practices, utilize autoscaling, and turn off resources during idle times ensuring efficient and reliable infrastructure.
Boost performance, optimize data transmission, and embrace serverless functions for short-lived, scalable tasks like API endpoints.
Monitor and restrict bot access to save computing resources. Use protection services to intercept and neutralize DDoS attacks.
Here you can find the Sustainability Best Practices with focus on backend techniques.
These topics help you to enhance System Sustainability through different practices:
Utilizing asynchronous calls, often referred to as "fire and forget", presents substantial benefits from the perspective of sustainable systems design.
Implementing background tasks or batching up requests to run in sustainable cloud regions and during off-peak hours of power consumption.
Caching in backend development plays a pivotal role in sustainable system design reducing the need for repeated processing and resource-intensive database queries.
Conducting thorough performance testing and optimization of backend services holds great merit from the standpoint of sustainable system design.
The adoption of JAMstack architecture, Static Site Generation (SSG), and Content Delivery Network (CDN) distribution stands as a commendable choice for sustainable system design.
When assessing the sustainability of architectural choices, the distinction between monolithic and service-based architectures takes center stage.
Conducting thorough performance testing and optimization of backend services holds great merit from the standpoint of sustainable system design.
Viewing APIs through the lens of sustainable development reveals crucial considerations for optimizing their efficiency.
Efficient SQL optimization, particularly in the precise utilization of joins, carries significance within the framework of sustainable system design.
Learn about how you can optimize assets, implement a mobile-first strategy and other suggestions.
Staying up-to-date with the latest software versions ensures that the system benefits from enhanced performance, security, and efficiency.
All major cloud providers have committed to using renewable energy sources for their power needs. Some providers are going further and committing to more responsible utilization/recycling of water. This is a big deal, given the cooling requirements of data centers. Using a hosting provider that is powered by renewable will make a difference.
The Green Web Foundation has a published list of green hosts.
Using Software as a Service (SaaS) services means you are offloading responsibility for a service to a third party so choose wisely. Use providers who can show they are using renewable energy and have committed to using renewable energy and other sustainability best practices. The best providers will balance the load on the underlying infrastructure so that overall utilization is high and they don’t have idle servers.
Infrastructure as a Service (IaaS) is another option, typically in the form of Virtual Machines (VM) and other infrastructure in the cloud. This option means you have to deal with the overhead of running a VM, including patching and other operational concerns. This way, it can be difficult to ensure that hardware
is fully utilized. Idling or non-efficient use of hardware means energy being used that isn’t doing effective work. Considering technology like Kubernetes may help with this.
On-prem should be avoided unless necessary as you do not benefit from the economy of scale of using a cloud provider. You are entirely responsible for operational maintenance (including patching, hardware, networking, fire suppression, cooling, security, etc). You also have the same problem of maximizing utilization as you do with IaaS. Some use cases may mandate/require on-prem - but if yours doesn’t, avoid it.
Cloud Native is an important topic. The focus is on using cloud services and modern tools and approaches to enable you to deliver services with speed and agility. A happy byproduct is that it will likely make efficient use of the resources you employ (lowering your footprint). And as we’ve already covered, leveraging cloud services is highly likely to be consuming renewable energy.
Don’t overprovision your systems. Use metrics/telemetry/tooling to identify if you’re massively oversized for your use cases. Do you need that cloud service to be running at 20% capacity all the time? Make use of autoscaling, serverless technology, and SaaS services.
If you’ve got provisioned infrastructure sitting around at the weekend and your teams don’t work at the weekend then remove it. It’s a good excuse to adopt practices such as infrastructure-as-code. You will have repeatable, more reliable infrastructure, and you’ll be able to create and remove new environments with ease.
Content Delivery Networks can deliver a significant performance boost by serving assets from nodes physically near users. This is particularly beneficial for services that have users that are spread out geographically.
There can be challenges, particularly for highly dynamic/personalized websites. However all modern content delivery networks support ‘edge computing’ which enables a degree of dynamism while still retaining the big performance advantages.
HTTP2 is a much more efficient way of transmitting data between servers and users, including parallel transmission of data, header compression, and binary transmission. It will make your website faster for users, and reduce the bandwidth required - better for the planet.
Serverless functions are great as they abstract away the underlying infrastructure from you and let you focus on the code itself. They’re designed to be short-lived and scalable. And they’re a good fit for things like API endpoints, processing tasks, and that kind of thing. It’s another example of technology where you don’t have to be worrying about maintaining servers/VMs.
The cloud provider can worry about balancing the load behind the scenes - and they’re probably better at that than you are.
Implementing upgrades and patches, such as migrating to Umbraco 10+, is highly advantageous from the standpoint of sustainable system design.
Staying up-to-date with the latest software versions ensures that the system benefits from enhanced performance, security, and efficiency.
Regular updates often include optimizations that reduce resource consumption and streamline processes, aligning with the principles of sustainable design by maximizing resource efficiency. Additionally, newer versions typically integrate eco-friendly features and improved coding practices, contributing to reduced energy consumption and minimized environmental impact.
By proactively embracing upgrades and patches, organizations not only secure their systems against vulnerabilities. They also foster a more resilient, energy-efficient, and ecologically conscious technology landscape, which ultimately supports the long-term sustainability of their operations.
Caching in backend development plays a pivotal role in sustainable system design. By storing frequently accessed data in a cache, the system can respond to user requests more swiftly. This means reducing the need for repeated processing and resource-intensive database queries.
This efficiency optimization aligns with the principles of sustainable design by decreasing the strain on hardware and minimizing energy consumption. With cached data readily available, the system can reduce its reliance on constant data retrieval, resulting in shorter response times and improved user experiences.
By mitigating unnecessary resource usage and enhancing overall system responsiveness, caching contributes to a more sustainable software ecosystem. The result will be software ecosystem that operates efficiently and conserves resources, while still delivering high-quality user experiences.
With Umbraco's Delivery API it is possible to use output caching to increase a website's performance. You can read more about this in the Output caching article.
Tackling common pitfalls in implementing an Umbraco solution is integral within the realm of sustainable system design.
Addressing the common pitfalls stands as a cornerstone for crafting systems that not only excel in functionality but also uphold environmental consciousness.
By sidestepping common errors and inefficiencies, developers proactively ensure the optimal use of resources, curbing energy consumption, and extending the system's lifespan.
Such an approach seamlessly aligns with the tenets of sustainable system design, which prioritizes efficiency and waste reduction for long-term system viability.
Navigating these challenges not only fine-tunes performance but also advances the cause of a more sustainable digital ecosystem. In doing so, software solutions effortlessly complement the broader goal of environmental preservation.
Conducting thorough performance testing and optimization of backend services holds great merit from the standpoint of sustainable system design.
By meticulously evaluating and enhancing the efficiency of backend operations, organizations can streamline resource consumption and reduce the system's overall energy footprint.
This proactive approach ensures the system operates optimally, using only the necessary resources to deliver high-quality performance.
By minimizing resource wastage and avoiding over-provisioning, performance testing, and optimization directly contribute to a more sustainable software ecosystem.
Moreover, an efficiently performing backend service requires less hardware infrastructure, translating to reduced operational costs and a diminished carbon footprint.
This practice aligns seamlessly with the principles of sustainable system design. It supports fostering a technology landscape that is not only high-performing but also environmentally conscious, thus preserving resources for the long term.
Sustainable design patterns are instrumental in crafting eco-conscious and efficient solutions. These patterns prioritize enduring efficiency, optimal resource utilization, and minimized negative impacts. A notable example is the "circuit break" pattern, which originates from software engineering but has far-reaching applications.
Similar to an electrical circuit breaker that prevents surges, the circuit break design pattern enhances resilience by swiftly detecting and mitigating faults. This prevents wasteful resource usage during system failures and streamlines recovery. For an in-depth understanding of the circuit break pattern, you can explore Microsoft's Azure Architecture Patterns documentation.
Integrating such sustainable patterns, whether through load balancing, refined database queries, or efficient caching, reduces energy consumption while improving system responsiveness. By incorporating these patterns, we pave the way for a sustainable digital landscape that coexists harmoniously with ecological considerations.
Viewing APIs through the lens of sustainable development reveals crucial considerations for optimizing their efficiency.
In modern cloud applications, where asynchronous transactions between services are prevalent, the format used for encoding payload data becomes pivotal.
Evaluating the necessity of communication volume and reducing unnecessary chatter emerges as a priority. This perspective aligns well with the principles of the Green Software Foundation, particularly energy efficiency. By taking proactive steps, applications can operate in a more resource-conscious manner.
An effective approach encompasses multiple recommendations. Understanding the implications of the chatty I/O antipattern is essential to grasp how excessive requests impact performance. To enhance reliability and reduce undue stress on systems, implementing advanced request throttling via API Management is crucial.
Additionally, optimizing the data returned from requests by selective encoding and utilizing message encoding considerations helps minimize unnecessary load. Employing response caching minimizes redundant processing of identical data from the backend, further aligning with the goal of resource efficiency.
The concept of sustainable development in application design, as highlighted by Microsoft's Azure Well-Architected framework, underscores the importance of these practices. It emphasizes the creation of systems that not only fulfill their intended function but also do so with minimal ecological impact.
In addition, comparing Simple Object Access Protocol (SOAP), REST (Representational State Transfer), and GraphQL APIs accentuates the advantages of GraphQL. Particularly in terms of reducing HTTP requests and optimizing data aggregation.
GraphQL's ability to request precisely the needed data for a specific function minimizes unnecessary data transfer, contributing to an ecologically conscious approach.
This streamlined querying aligns with the principles of sustainable development, demonstrating a commitment to resource efficiency and optimal system performance.
When assessing the sustainability of architectural choices, the distinction between monolithic and service-based architectures takes center stage.
Monolithic architectures encompass tightly integrated components within a single application, whereas service-based architectures, like microservices, emphasize modular, loosely coupled services.
From a sustainable development perspective, service-based architectures hold a clear advantage. By allowing services to scale independently, microservices ensure efficient resource utilization. This agility translates into reduced energy consumption and optimal performance, as resources are allocated precisely where needed.
Monolithic architectures often suffer from overprovisioning, which can lead to unnecessary resource usage and increased carbon footprint.
In contrast, the ability of microservices to scale only the necessary components contributes to a more ecologically conscious approach.
The service-based paradigm aligns closely with the principles of sustainable development. It does this by facilitating leaner resource consumption, promoting efficient scaling, and ultimately fostering a software ecosystem that operates in harmony with environmental preservation.
Efficient SQL optimization, particularly in the precise utilization of joins, carries significance within the framework of sustainable system design.
Employing the correct joins can enhance database performance, leading to reduced resource consumption, minimized processing time, and ultimately, a more sustainable system.
By crafting queries that make optimal use of joins, developers can avoid data redundancy, eliminate unnecessary processing, and ensure efficient data retrieval.
This streamlined approach aligns seamlessly with sustainable design principles, where resource efficiency and reduced strain on infrastructure are vital for long-term system viability.
A well-optimized SQL schema with appropriate joins contributes not only to faster response times and enhanced user experiences. But it also minimizes the system's energy requirements. Thus, investing in proper SQL optimization practices, specifically focusing on the judicious use of joins, is a pivotal step.
A pivotal step towards creating a software ecosystem that operates harmoniously with the ideals of environmental preservation and resource efficiency.
Here you can learn about how to optimize assets, implement a mobile-first strategy and other suggestions.
In this section, you can find some tips to optimize your website's performance and reduce its carbon footprint:
Minimize the data transfer to access your web page as it has a big impact on carbon emissions.
Optimize images before uploading to a web page and make use of different file formats.
Improve website performance by optimizing fonts, minifying assets and cache static assets.
To avoid excessive HTTP requests and potential data sharing, limit the use of third-party resources on websites.
Optimize the loading of web pages by using Lazyload resources.
Prioritize mobile-first design experiences focusing on a clean and efficient design. It can help reduce website energy consumption and promote sustainability.
Implementing background tasks or batching up requests to run in sustainable cloud regions and during off-peak hours of power consumption is a commendable sustainable system design practice.
Implementing background tasks or batching up requests to run in sustainable cloud regions and during off-peak hours of power consumption is a commendable practice.
By strategically scheduling resource-intensive tasks in regions powered by renewable energy sources, organizations can minimize their carbon footprint. The same effect will be seen by scheduling intensive tasks during times of reduced energy demand.
This approach not only optimizes the use of available resources but also aligns with the broader objectives of sustainable development.
By harnessing the power of cloud computing in an environmentally responsible manner, businesses can make substantial strides toward creating more energy-efficient systems. And these systems can operate in harmony with eco-conscious principles, reducing their overall environmental impact.
Utilizing asynchronous calls, often referred to as "fire and forget", presents substantial benefits from the perspective of sustainable systems design.
By employing this approach, tasks are dispatched for execution without necessitating immediate waiting for their completion. This mechanism enhances system efficiency and responsiveness. It does it because it enables the system to continue processing other tasks while awaiting the completion of the asynchronous task.
This strategy aligns closely with the principles of sustainable design by optimizing resource utilization.
Rather than idling or blocking resources, the system can allocate them to other tasks, minimizing wastage and conserving energy. This proves especially advantageous in scenarios where processing times might vary or when tasks don't require immediate feedback.
Asynchronous calls not only enhance overall system performance. They also contribute to a more ecologically conscious software ecosystem, where resource efficiency is a cornerstone of sustainable systems design.
The adoption of JAMstack architecture, Static Site Generation (SSG), and Content Delivery Network (CDN) distribution stands as a commendable choice for sustainable system design.
JAMstacks decoupled approach separates the frontend from the backend, allowing for efficient resource allocation and reduced server-side processing. When combined with Static Site Generation (SSG), which pre-generates static content at build time, this results in decreased server load and faster loading times.
CDN distribution further amplifies these benefits by delivering content from geographically distributed edge servers, minimizing data transfer distances and latency. This holistic approach not only optimizes user experiences but also reduces energy consumption by minimizing server processing needs and data transmission over long distances.
By prioritizing resource efficiency and performance, JAMstack, Static Site Generation (SSG), and Content Delivery Network (CDN) distribution align seamlessly with sustainable design principles. They create web systems that operate in an ecologically responsible manner while delivering exceptional user experiences.
Page weight represents the amount of data transferred to access the web page (based only on HTTP requests). In short, the bigger the number, the more carbon emissions.
It is recommended to keep this metric as low as possible so setting a page weight budget can help you stay on top of this. As mentioned in the Web Almanac, 1 MB should be a maximum when you get started, with 500 kB as the ultimate threshold.
Images typically make up 42% of the Largest Contentful Paint element for websites, being responsible for the largest over-the-wire transfer rates. We can reduce their size and deliver them with optimization in mind.
We must optimize these before uploading them to our website. This results in a smaller footprint for a user to download, but will also use less computing to upload. Tools such as Squoosh or resizing to an appropriate maximum expected size can be used for optimizing. Then the images displayed on the website will help reduce the overall emissions during the website's lifetime.
We can make use of better image formats. It could be AV1 Image File Format (AVIF) and WebP to see 50% and 26% smaller file sizes than JPEGs respectively. AVIF is less well supported than WebP so it’s important to use a <picture>
tag to ensure compatibility. You can read more about this in the Using Modern Image Formats: AVIF And WebP article.
The other benefit of using a <picture>
tag is that we can denote which images to use based on screen size. This helps us to provide the most appropriate image to the user, avoiding unnecessary downloads of larger images.
There is a package available for Umbraco called Slimsy that makes setting this up easier. This is done by using the GetCropUrl
method to match the crop settings that can be configured within Umbraco with Image Cropper.
For icons or illustrations, these would be better suited to be included as an SVG than raster outputs (PNG, JPEG, WebP, AVIF, etc). These can also be optimized and you can include them directly in the HTML to avoid additional requests. There is a tag helper <our-svg>
for this included in a community package for Umbraco. It reads the file contents of an SVG file and outputs it as an inline SVG in the DOM.
However, if your SVG is complex, then it would still likely be a smaller size in another image format. It's important to test for your use case to ensure the smallest file size.
Other options when it comes to image optimization could be to use external services. It could be to provide a Content Delivery Network (CDN) to deliver images at the edge with good optimization and caching in place. Cloudflare and Cloudinary are examples of these.
For Cloudflare specifically, there is a package available for Umbraco called CloudflareImageUrlGenerator . It offloads image format conversion of AVIF and WebP formats to Cloudflare Image Resizing. This can also be combined with Slimsy.
The fonts that we choose from a design point of view, can have an impact on the downloads required. If we opt for custom fonts, then these will need to be requested before rendering. The more custom fonts that we introduce the bigger the carbon impact. Therefore, it is recommended to use system fonts by default.
If you wish to use custom fonts, then we need to think about how these are loaded. WOFF2 is supported by all modern browsers and is the best format in terms of compression, resulting in better file sizes. You could also use only certain subsets and opt for self-hosting, reducing the dependency on a 3rd party and extra HTTP requests. Whilst Google Fonts is widely used, there are General Data Protection Regulation (GDPR) concerns too.
For a production build, we should be packaging up our assets. This way we can ensure these are minified to reduce their file size and number of requests needed from the user. We can also compress these using Gzip or Brotli to get them as optimized as possible.
Once we’ve ensured our assets are minified and compressed, we can also help the user by ensuring that these are denoted as cacheable assets. That can be done by using ‘Cache-Control’ headers. These will then be cached by the browser on follow-up requests, reducing the downloads needed.
We can go one step further and introduce service workers. That will opt to use these files first reducing the need for a network request and providing the added benefit of offline access.
It’s possible that the assets that are within the context of your web page are not even visible to the user. It's therefore wasteful to load these resources. A technique is to add a lazy loading flag to images, videos, or iframes that are below the fold
. They are only loaded when they enter the browser's viewport.
We can further expand this technique by loading assets based on user interaction. For example, if the video is visible but the user hasn't chosen to play it, there's no need to load its resources. By using onclick
events, we can load only what’s needed when the user clicks the play button. This approach can also be applied to implementations like chatbots or external maps.
Third-party requests account for 45% of all requests, with 94% of mobile websites having at least one identifiable third-party resource.
While third parties can enhance the functionality of your website, they will introduce more HTTP requests. Potentially this will add other undesirable outcomes for the user such as sharing data. Before adding any third party, assess their purpose and ensure they don't increase the page weight. It’s also possible that these 3rd parties are not using green hosting providers.
When it comes to design, we should be making sustainable choices from the outset. Consider the use of images and large graphics that could contribute to page weight. If possible, remove the use of stock images that provide little to no value.
Choose more efficient colors and provide a dark mode by default, which could reduce energy usage even further. Switching from light mode to dark mode at 100% brightness can save an average of 39%-47% battery power. Dark mode support has existed on the web since 2019 and should be taken into account.
Start with mobile-first and scale up if necessary, introducing design tweaks at bigger viewports. The Lowww Directory provides some real-world examples of sustainable design in practice without compromising on the design quality.
Implement energy-saving toggles to activate a low-carbon website design during peak grid intensity. By highlighting these options to the user, we can inform them and help them to make more sustainable choices. Boohoo and Herning.dk have both introduced this recently. There are tools such as the Carbon Intensity API and the Carbon Aware Software Development Kit (SDK). These tools allow you to pull information about the intensity of the grid in your location.
Action: Prioritize text over other forms of content.
Why: Text consumes the least amount of energy and bandwidth.
Action: Use images only when they add value. Opt for compressed formats like WebP or Scalable Vector Graphics (SVG).
Why: It reduces bandwidth and energy consumption.
Action: Limit the use of videos and never set them to autoplay.
Why: Videos are bandwidth-heavy and can be intrusive to the user.
Here you can find the Sustainability Best Practices for an editor.
As an editor, you can play a role in reducing the environmental impact of websites and digital services. Below, you can find some options to do so:
Prioritize text, use compressed images, and limit video autoplay for a smoother user experience.
Regularly review and audit content for ongoing relevance.
Opt for custom illustrations. Use card sorting and UX reviews for simpler, energy-efficient, and user-friendly paths.
Collect only essential data and clean up inactive members.
Analyze and remove unused media and content. Additionally, try to promote eco-conscious choices.
Action: Use analytics to identify and remove unused media and low-traffic content.
Why: Keeps the site lightweight and efficient.
Action: Add a note at the bottom of pages and PDFs, "Think before you print. Save trees, keep it digital."
Why: It encourages users to think twice before using paper.
Action: Review forms and only ask for essential information.
Why: Less data means less storage and energy use, plus it's General Data Protection Regulation (GDPR)-friendly.
Action: Regularly remove users who haven't logged in for 365 days and prune mailing lists based on engagement.
Why: It improves email deliverability and reduces storage needs.
Action: Use custom illustrations instead of stock photos where possible.
Why: Illustrations are often lighter and add a unique touch.
Action: Use card sorting, UX reviews to streamline user paths.
Why: Fewer steps mean less energy consumption and a happier user.
Last year, around this time, we released our first telemetry report. However, most of all, it was a disclaimer because we only had a few sites, that opted into detailed telemetry. We asked for your help and hoped to also count your project next year - which is now this year. And you did opt in! The number of responses has increased by 7000%, and there is now no reason for a disclaimer. #H5YR
Be aware though, that the telemetry data does not cover V7 sites at all. However, it includes only basic data for V8 (from v8.10+), as detailed telemetry was first introduced with v9.5.
One of the things we at HQ are curious about is, how the adoption of new features is going. In v11 we introduced the Block Grid (also added to v10.4+). We now see that it is used in 21% of all projects although the BlockList outshines it with 59%.
Another new feature is the Content Delivery API. We see this enabled on 6% of all projects. However, we also see that 27% have disabled public access. This number shouldn't be higher than the number of elements, as the Content Delivery API is disabled by default. A takeaway from this is that it is important to know that the Content Delivery API is disabled by default.
Since the last telemetry report, we've also started counting the number of External Login Providers. Here, UmbracoID seems to be the primary provider. However, there are still 5% that use other external providers and 1% that have implemented more than one.
What is an average project? Based on average calculations, we'll see that such a project has 1023 content items based on 58 document- and element types. It has 925 media items, 8 users, 2,5 nodes in the root and 1,7 languages. However, this average hides the fact, that there are some big projects and a lot of smaller ones. That goes hand in hand with our vision. To be the "preferred CMS for partners and mid-market to lower enterprise" but still grow in the actual number of Umbraco installations.
Looking at the average "smaller" projects, we see:
63% have less than 100 content nodes
58% have less than 100 media items
68% have only one language
44% have only one root node
85% don't have any members
This is similar to what we saw last year. But this year, with a much bigger dataset, we can also say more about the bigger projects. What we see is that:
4% have more than 5000 content nodes
3% have more than 5000 media items
8% have more than 200 document types
2% have more than 5 languages
3% have more than 250 members
Besides the detailed telemetry data behind the numbers above, we also collect the basic telemetry that has been reported since version 8.10. In the chart below, we see that there still are a few V8 sites running (45%). But we also see, that the Long Term Supported (LTS) versions are popular. Although V13 hasn't been public for more than a couple of months, it's adopted by 13%. Only surpassed by the V10 Long Term Supported (19%) and V8.
This behaviour is aligned with how we hoped our release schedules would work. Adopt new Standard Term Supported (STS) versions if you can make use of the latest functionality. Or stay on Long Term Supported (LTS) versions if you want minimal work related to upgrades.
And, as last year, the two most installed packages outside HQ are uSync (24%) and Contentment (9%).
We've only counted projects AspEnvironment set to Production, as we believe this is the best indicator for only counting production sites. Among the responses, there are some pretty wild outliers. Especially, when it comes to the number of languages, media, content, macros, domains, users, examine indexes, members, root nodes and pretty much everything. However, these individual outliers are not mentioned in this blog post.
As the last word on this article: Thank you, for opting in. I'm sure it will help us build an even better Umbraco CMS in the future.
Here you can find some insights based on the collected telemetry.
The Telemetry Data dashboard is a consent screen that is used for collecting system and usage information from your installation. Here, you can see what type of data is being collected and even adjust the level of reporting. Currently, there are three levels available: Minimal, Basic, and Detailed. You can read more about this in the Settings Dashboard article.
Here you can find articles summing up the insights we've got through the detailed telemetry we've collected.