Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Theme performance

What makes a design fast or slow: request count and size of CSS and JS, render-blocking files, fonts, images, fetches in templates, cache-blocks and the view cache, with a short budget and how to measure.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/designers/theme-design/theme-performance.md

On this page

Theme performance

This page is for designers who want a design that feels instant. Performance is decided in two places: the browser (what it has to download and draw) and the server (what templates fetch and render). The page lists the levers on both sides.

Contents

  1. In the browser
  2. On the server
  3. A simple budget
  4. Measuring

In the browser

LeverHow
Fewer requestsone ezcss_load and one or two script bundles, packed (The packer)
Less render blockingstylesheets in the head, scripts at the end of the body or with defer (the media design splits critical and deferred scripts)
Fontsself-hosted, font-display: swap, few weights, unicode-range subsets (Fonts in a design)
Imagesaliases at the displayed size, srcset, loading="lazy" below the fold, width and height set (Image performance)
No third parties by defaultExternal resources and CDNs
Page-specific CSS and JS only where usedezcss_require / ezscript_require from the view template
Stable layoutreserved space for images, ads, embeds (Measuring CLS and LCP)

On the server

LeverHow
The view cachekeep full views cacheable; nothing user-specific in them (Caching for designers)
Cache-blockswrap menus and footers with the right keys
Fewer fetchesfetch once in the pagelayout, pass the result to parts; prefer content_info values (Fetch performance)
Limitsalways a limit on list fetches; paginate
No fetch in a loopfetch the children once, not a fetch per item

A simple budget

For a public content page, aim for:

  • one stylesheet request and at most two script requests from the design;
  • no request to a third-party host before consent;
  • the largest image of the first screen served in an alias near its displayed size;
  • layout shift (CLS) at most 0.05, the target the project uses for its own pages.

Measuring

  • The browser's network panel: count requests, check sizes, look for render-blocking files.
  • The browser's performance or Lighthouse panel for Largest Contentful Paint and Cumulative Layout Shift.
  • On the server, the debug output (DebugOutput=enabled for your address) shows timing and the number of database queries of a page; templates with many fetches show up there.
  • Measure signed out and with a cold and a warm cache: the first visitor after a publish sees the uncached page.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x