This website, measured

This page reports what this website weighs, how fast it appears, how search engines read it and who can use it. Every figure about this site comes from our own measurement, and the i next to it shows when and how we took it.

  • 138 KB
    Home page, transferred
  • 1.15 s
    Largest Contentful Paint
  • 100
    Lighthouse SEO
  • 100
    Lighthouse accessibility

Light

We treat page weight as a design decision: what the content does not need stays out.

Page weight

The home page transfers 138 KB, less than a tenth of the median mobile home page with 2.56 MB (HTTP Archive, Web Almanac 2025).

  • Median site2.56 MB
  • Tüpfli138 KB
Fig.: Data transferred for one home page, mobile

Images

The 15 images of this website weigh 4.2 MB as originals. A large screen receives 335 KB, as AVIF at the width the layout needs. In our test on 24 photos at equal quality, AVIF files were about a quarter smaller than a well-optimised JPEG.

  • Originals4.18 MB
  • Delivered335 KB
Fig.: All images of this website

Compression

The text files of this website add up to 3.76 MB. The server sends them with Brotli, which brings them to 635 KB. Older clients get gzip, 745 KB.

  • Uncompressed3.76 MB
  • gzip745 KB
  • Brotli635 KB
Fig.: Text files of this website

Fonts

Three TTF files with 237 KB became one variable WOFF2 file with 45 KB. The median mobile home page loads 122 KB of fonts (HTTP Archive, Web Almanac 2025).

  • 3 × TTF237 KB
  • WOFF245 KB
Fig.: Font data of this website

Fast

Where the content allows, we build pages in advance, so the server sends a finished file instead of querying a database.

Time to main content

On a simulated phone with a slow connection, the home page shows its main content after 1.15 s. Google rates a LCPLargest Contentful Paint: the time until the largest image or text block in the first screen is rendered. Google rates 2.5 seconds or less as good.In the glossary up to 2.5 seconds as good.

  • This website1.15 s
  • Limit for good (Google)2.5 s
Fig.: Time to main content, axis in seconds

Built before the visit

All 46 pages of this Static siteA website whose pages are generated as finished HTML files before anyone visits. The server only delivers files and computes nothing per request.In the glossary are finished HTML files before the first visit, built in 2.5 s. On a visit the server only sends a file.

  • Static site. For content that changes up to a few times a week. Every page is finished before the first request.
    • Build (on our machine): Most of the work
    • Deploy (on the server): A little work
    • Visit (each visitor): No work
    • On demand (an extra): No work
  • With CMS. For teams that edit texts and images themselves. Each change builds and publishes the affected pages.
    • Build (on our machine): Some work
    • Deploy (on the server): Some work
    • Visit (each visitor): No work
    • On demand (an extra): No work
  • With backend. For sites that compute answers, such as bookings, logins or prices. Part of the work happens while the visitor waits.
    • Build (on our machine): A little work
    • Deploy (on the server): A little work
    • Visit (each visitor): Most of the work
    • On demand (an extra): A little work
  • Left of the line is the work done before the visit, right of it the work a visitor waits for.
Fig.: When a page is assembled, by type of website

Loading on demand

6 of 6 images on the home page are Lazy loadingPostponing an image, video or embed until the reader scrolls near it. Browsers do this natively with the attribute `loading="lazy"`.In the glossary: they load only when someone scrolls towards them. None sits in the first screen.

Schematic: while a visitor scrolls down, each image is loaded just before it reaches the screen. Images further down stay empty and download nothing. On the home page of this website, 6 of 6 images work this way.

Fig.: Images load when they come near

Caching

Scripts, font and images carry a fingerprint in the file name, so browsers keep them for one year. HTML is checked on every visit, so a new version shows right after publishing.

On a first visit the browser loads HTML, CSS, JavaScript, the font and images from the server. On a second visit it only checks whether the HTML has changed. CSS, JavaScript, font and images come from the browser cache, which keeps them for one year.

Fig.: First and second visit; grey comes from the server

Visible

We pay attention to what search engines and AI assistants read: titles, descriptions and structured data.

Search basics

A score of 100 means none of Lighthouse's search checks fails. Ranking depends on content, competition and links, which no audit measures.

Checked in every build

After every build a script checks all 46 pages for title, description, canonical address, structured data and exactly one <h1>. If one page fails, nothing is published.

  • <title>Tüpfli, web agency for fast websites and web apps</title>

    49 characters, allowed 10 to 65

  • <meta name="description" content="Tüpfli designs, builds and looks after websites and web apps. This website shows what we measure: weight, speed, search basics and accessibility.">

    145 characters, allowed 50 to 160

  • <link rel="canonical" href="https://beta.tuepfli.ch/">

    canonical address set

  • <h1>Websites and web apps, built for speed.</h1>

    exactly one h1

Fig.: The home page as the build guard reads it.

In the search results

Title, address and description exactly as the home page declares them to search engines.

Tüpflihttps://tuepfli.ch

Tüpfli, web agency for fast websites and web apps

Tüpfli designs, builds and looks after websites and web apps. This website shows what we measure: weight, speed, search basics and accessibility.

Fig.: The home page as a search result.

Two languages

Each page exists in English and German at its own address, linked by hreflang. The sitemap lists all 44 addresses, and the site never redirects by browser language.

en

/services

We build your online presence and look after it once it is live.

de

/de/leistungen

Wir bauen deinen Online-Auftritt und betreuen ihn, wenn er live ist.

Fig.: One page, two addresses, linked by hreflang.

AI assistants

The robots.txt allows 12 crawlers by name, among them Googlebot, Bingbot and the search crawlers of OpenAI, Anthropic and Perplexity.

12 crawlers allowedAllow: /

  • Google
    • GooglebotAllow: /
  • Microsoft Bing
    • BingbotAllow: /
  • OpenAI
    • OAI-SearchBotAllow: /
    • ChatGPT-UserAllow: /
    • GPTBotAllow: /
  • Anthropic
    • Claude-SearchBotAllow: /
    • Claude-UserAllow: /
    • ClaudeBotAllow: /
  • Perplexity
    • PerplexityBotAllow: /
    • Perplexity-UserAllow: /
  • Apple
    • ApplebotAllow: /
  • DuckDuckGo
    • DuckDuckBotAllow: /
Fig.: The robots.txt: every named crawler gets Allow: /.

Accessible

We pay attention to contrast and keyboard use, and measure both against WCAG 2.2.

Automated check

Lighthouse rates the home page with 100 of 100. Such tests find only part of the barriers, so two more checks cover all 48 pages.

100of 100

Fig.: Lighthouse accessibility

Contrast

On 10 Nov 2026 we measured 6,098 texts on all 48 pages. Every reading meets the WCAG 2.2 minimum; the lowest is 5.37 to 1, against the required 4.5 to 1.

5.37 : 1

Sample text in #2B3FF5 on #E4E6EA: a contrast of 5.37 to 1. WCAG asks for 4.5 to 1 for text, 3 to 1 for large text and 7 to 1 for the stricter level AAA.

Fig.: Lowest contrast, minimum 4.5 to 1

Keyboard

A script tabbed through every page at both widths: 96 passes with 2,762 stops. Every control was reachable, showed a visible focus ring and released the focus again.

Sketch of a page. A focus ring moves with the Tab key from the logo through the menu and the link to the button.

2,762

Fig.: Tab stops

Motion and structure

If a device is set to reduce motion, the logo stays still and nothing slides or fades. Each page has exactly one h1, so a Screen readerSoftware that reads the content of a screen aloud or sends it to a braille display. It depends on headings, labels and text alternatives in the code.In the glossary can announce its structure.

Two squares. With normal settings the first slides in from the side. With reduced motion the second fades in and does not move.

Fig.: The same element, with and without reduced motion

Built with

The tools behind this site and its logo animation.

Logo animation

The wordmark folds into its dot when you scroll and unfolds again at the top. It runs on GSAP, which adds 37 KB of JavaScript.

Motion
Fig.: The logo animation, as on this site

Measurement methods

Every figure on this page: what was measured, when and with which tool.

  • Page weight

    9 Nov 2026, Lighthouse 13.6.0

  • Lighthouse scores

    9 Nov 2026, Lighthouse 13.6.0

  • Comparison values

    9 Nov 2026, HTTP Archive, Web Almanac 2025, chapter Page Weight

  • Image formats

    10 Nov 2026, sharp, mozjpeg, libwebp, libheif, cjxl, SSIMULACRA2

  • Images of this website

    10 Nov 2026, own script, sharp

  • Compression

    10 Nov 2026, gzip -9, brotli -q 11

  • Font files

    9 Nov 2026, fontTools 4.60.2

  • Contrast

    10 Nov 2026, Playwright, Chromium 158.0.8127.18

  • Keyboard

    10 Nov 2026, Playwright, Chromium 158.0.8127.18

  • Build

    10 Nov 2026, bun 1.4.4, node:zlib gzip level 6, tools/measure/measure-build.ts

These measurements for your website.

We can measure the same things on your current website. Send us its address, and you see where it stands.

Start a project