Stand
Gemessen am 9. September 2026 gegen die live ausgelieferte Seite unter julianweisel.de, nicht gegen einen lokalen Ordner. Punktzahlen sind der Median aus drei Lighthouse-Läufen im Handy-Modus (Einzelläufe der Ladezeit: 92 · 94 · 94). Die übrigen Werte stammen aus einem eigenen Prüflauf im echten Browser bei 390 px Breite.
01Warum es hier kein Vorher gibt
Bei einem Mandat steht in diesem Bericht links die alte Seite und rechts die neue. Diese Seite hat keine alte Fassung — sie wurde nie umgebaut, sie ist gewachsen. Ein Vorher-Nachher wäre also erfunden, und erfundene Zahlen sind genau das, was wir sonst anderen ankreiden.
Also steht hier der Ist-Stand mit seinen Schwellen: was die Seite heute leistet, wo die Grenze liegt, ab der es gut heißt, und was sie nicht schafft. Vier Befunde sind rot. Drei davon haben dieselbe Ursache.
02Was gemessen wurde
Die Balken sind gezeichnet, nicht getippt: Jede Zahl steht als Text daneben und wird von Vorlesewerkzeugen genauso vorgelesen — der Balken ist nur die Abkürzung fürs Auge.
Punktzahlen — mehr ist besser
Lighthouse, Handy, Median aus 3 Läufen0 bis 100
Ladezeit94 / 100
Barrierefreiheit100 / 100
Technik73 / 100
Auffindbarkeit100 / 100
Der senkrechte Strich markiert 90 — ab dort gilt ein Wert bei Google als gut. Warum die Technik bei 73 steht, steht unter Befund 1 und 2; die Ursache liegt nicht im Code dieser Seite.
Ladeverhalten — weniger ist besser
Jede Zeile hat ihre eigene SkalaStrich = Schwelle
Bis der Hauptinhalt stehtSkala 0–5 s · Schwelle 2,5 s2,15 s
Springt das Layout beim LadenSkala 0–0,25 · Schwelle 0,10,001
Blockierte BedienzeitSkala 0–600 ms · Schwelle 200 ms191 ms
Server-AntwortzeitSkala 0–600 ms · Schwelle 200 ms66 ms
Seitengewicht, alles zusammenSkala 0–600 KB · 19 Dateien261 KB
Die blockierte Bedienzeit liegt mit 191 ms nur neun Millisekunden unter der Schwelle — das ist die Zeile, die als nächste kippt. Die 66 ms sind am Server gemessen. Sechs Abrufe von einem Wohnanschluss aus streuten dagegen zwischen 59 und 609 ms — das ist die Leitung dorthin, nicht der Server. Deshalb steht hier der Median und nie ein Einzelwert: Wer den schlechtesten Abruf zitiert, schickt einen Betrieb wegen der eigenen WLAN-Qualität zum Hoster-Wechsel.
Was die 261 KB ausmacht
| Art | Dateien | Größe | Anmerkung |
| Schriften | 4 | 63 KB | Selbst gehostet, deshalb kein fremder Server |
| Skripte | 7 | 60 KB | Der größte Hebel, wenn wir kürzen wollen |
| Bilder | 2 | 57 KB | Porträt und Logo — mehr sind es nicht |
| Stile | 2 | 48 KB | Ein Stylesheet für 123 Seiten |
| Das HTML selbst | 1 | 28 KB | Komprimiert ausgeliefert |
Daraus gerechnet (SWDM3): rund 0,13 g CO₂ je Aufruf. Kein Selbstzweck — ein Nebenertrag des geringen Gewichts.
04Die Befunde, mit Beleg
Jeder Befund steht hier mit der Stelle, an der er sichtbar wird — Konsolenmeldung, Quelltextzeile oder Messwert. Ohne Beleg ist ein Befund eine Behauptung.
Handeln
Befund 1 · der teuerste
Die Zugriffsmessung läuft seit dem Einschalten nicht
Cloudflare fügt sein Analyse-Skript automatisch am Rand in jede ausgelieferte Seite ein — es steht dafür nicht im Quelltext. Unsere eigene Sicherheitsrichtlinie erlaubt Skripte aber nur von einer festen Liste, und static.cloudflareinsights.com steht nicht darauf. Der Browser weist das Skript ab, bevor es startet.
Beleg · Browser-Konsole beim Messlauf
Loading the script 'https://static.cloudflareinsights.com/beacon.min.js/…'
violates the following Content Security Policy directive:
"script-src 'self' 'unsafe-inline' https://challenges.cloudflare.com
https://www.googletagmanager.com https://*.google-analytics.com
https://app.cal.com"
Zwei Seiten, die beide recht haben, und niemand hat sie miteinander bekannt gemacht: Der Schalter im Cloudflare-Konto ist an, die Regel in _headers ist streng — und beides zusammen ergibt eine Messung, die nie eine Zahl geliefert hat.
Was es kostet
Keine Zugriffszahlen aus dieser Quelle — und in der Technik-Wertung zwei von drei Abzügen. Das ist der Unterschied zwischen 73 und 100.
Handeln
Befund 2
Drei veraltete Schnittstellen — keine davon aus unserem Code
Lighthouse zieht in der Technik-Wertung fünf Gewichtspunkte für veraltete Browser-Schnittstellen ab. Alle drei Meldungen stammen aus derselben Datei — und die gehört Cloudflares Bot-Erkennung, nicht dieser Seite.
Beleg · Lighthouse, Abschnitt „Uses deprecated APIs“
The Shared Storage API is deprecated …
StorageType.persistent is deprecated …
The Protected Audience API is deprecated …
Quelle (alle drei):
/cdn-cgi/challenge-platform/scripts/jsd/main.js
Warum das trotzdem hierher gehört
Ein Besucher merkt nichts davon, und der Code lässt sich nicht ändern — er kommt vom Netzbetreiber. Änderbar ist nur der Schalter, der ihn einspielt. Genau deshalb steht er unten in der Maßnahmenliste und nicht in der Ablage.
Handeln
Befund 3
Ein Cookie wird vor der Einwilligung gesetzt — und es ist nicht unseres
Beim bloßen Aufruf der Startseite, ohne jeden Klick, liegt genau ein Cookie im Browser — in fünf von fünf Aufrufen mit frischem Browserprofil nachgestellt. Es kommt aus derselben Ecke wie Befund 2.
| Name | Gesetzt von | Läuft bis | Zweck |
cf_clearance | Cloudflare, am Rand | 09.09.2027 | Merkt sich, dass der Besucher die Bot-Prüfung bestanden hat |
Das ist kein Tracking. Es misst nichts, es folgt niemandem über Seiten hinweg, und als Sicherheitsfunktion ist es nach § 25 Abs. 2 TDDDG ohne Einwilligung zulässig. Der Fehler liegt woanders: In der Datenschutzerklärung kommt es nicht vor — null Treffer. Wer ein Cookie setzt, muss es benennen, auch ein notwendiges.
Der Zusammenhang
Befund 1, 2 und 3 haben dieselbe Wurzel: Schalter im Cloudflare-Konto, die jemand einmal angehakt und nie wieder angesehen hat. Das ist der eigentliche Befund dieser Messung — und es ist derselbe Fall, den wir bei Mandanten regelmäßig finden.
Handeln
Befund 4
16 zu kleine Antippflächen — davon elf echte
Gemessen bei 390 px Breite: 16 bedienbare Elemente sind schmaler oder flacher als 44 px. Der Rohwert ist aber nicht der Befund — fünf davon sind Verweise mitten im Satz, und dafür gibt es in WCAG 2.5.8 eine ausdrückliche Ausnahme. Bleiben elf.
| Element | Anzahl | Gemessen | Einordnung |
| Menüpunkte im Ausklapper | 4 | 33 × 36 px | Der eigentliche Befund — beide Maße zu klein |
| Rechtszeilen im Menüfuß | 2 | 63 × 21 px · 38 × 21 px | Halbe Höhe — der zweite Befund |
| „Analyse starten“ im Menü | 1 | 42 × 47 px | 2 px zu schmal — kosmetisch |
| „Alle 13 Rechner ansehen“ | 1 | 193 × 42 px | 2 px zu flach — kosmetisch |
| Knöpfe im Cookie-Hinweis | 2 | 126 × 40 px | 4 px zu flach — und ausgerechnet hier zählt der Fehlgriff |
| „Zum Inhalt springen“ | 1 | 139 × 40 px | Erscheint nur bei Tastaturbedienung |
| Verweise mitten im Satz | 5 | 16–17 px hoch | Ausnahme nach WCAG 2.5.8 — kein Befund |
Der Punkt, an dem es wehtut
Vergrößert wird die Fläche, nicht die Schrift. Und die vier Menüpunkte mit 33 × 36 px sind der Weg durch die ganze Seite — wer dort danebentippt, landet auf einer Seite, die er nicht wollte.
Beobachten
Befund 5
87 % — was eine KI von der Startseite sieht
GPTBot, ClaudeBot und PerplexityBot führen kein JavaScript aus. Sie lesen das rohe HTML und kommen kein zweites Mal wieder. Was erst im Browser entsteht, existiert für sie nicht. Gemessen wird das, indem man die tragenden Wörter der sichtbaren Seite im ausgelieferten HTML sucht.
Die fehlenden 13 % haben zwei Ursachen, und die erste ist die ärgerliche: Das Zitatband oben auf der Startseite wird vom Browser zusammengesetzt. Aus 30 hinterlegten Fragen werden bei jedem Aufruf acht gemischt eingesetzt — im HTML steht keine einzige.
Beleg · Gegenprobe an der ausgelieferten Startseite
$ curl -s --compressed https://julianweisel.de/ | grep -c "händisch"
0
$ curl -s --compressed https://julianweisel.de/ | grep -c "Entschuldigung"
0
Im Browser sichtbar, im HTML nicht auffindbar:
„Warum machen wir Dinge noch händisch, die Software längst kann?“
„Verschicke ich den Link mit Stolz oder mit einer Entschuldigung?“
„Geben wir Rabatte nur, um den Auftrag nicht zu verlieren?“
Die zweite Ursache ist harmlos: Auch der Cookie-Hinweis wird im Browser gebaut. Dass „Ablehnen“ und „Akzeptieren“ nicht im HTML stehen, ist keinem Leser und keiner Maschine ein Verlust.
Ehrlich dazugesagt
Der Wert schwankt von Lauf zu Lauf, weil das Band jedes Mal andere acht Fragen zieht. 87 % ist eine Momentaufnahme, kein Fixpunkt — die Ursache dahinter ist es sehr wohl.
Beobachten
Befund 6
Zwei geprüfte Profile — der Anker ist dünn
Im Betriebs-Schema stehen zwei bestätigte Profile. Daran erkennt eine Antwortmaschine, dass Google-Eintrag, Netzwerkprofil und Website denselben Menschen meinen.
Beleg · aus dem ausgelieferten HTML
"sameAs": [
"https://www.linkedin.com/in/hijulian/",
"https://www.google.com/maps/place/?q=place_id:ChIJtUwQtWhtd2oRsZ5pcgvQkPw"
]
Zwei ist wenig, aber jeder weitere Eintrag muss ein echtes, erreichbares Profil sein. Ein Link auf eine Plattform-Startseite ohne Profilnamen zählt nicht — er macht die Angabe schlechter, nicht länger. Und ein Kanal kommt hier nie dazu: Es gibt kein Twitter/X, also steht auch keines drin.
Entschieden
Befund 7
Keine antippbare Telefonnummer — weil es keine gibt
Die Prüfung sucht einen tel:-Verweis und findet keinen. Bei einem Handwerksbetrieb wäre das der teuerste Einzelbefund überhaupt — hier ist es eine Entscheidung: Auf dieser Seite steht nirgends eine Telefonnummer, auch nicht im Impressum. Erreichbar sind wir per E-Mail und über das Formular, und § 5 DDG verlangt einen schnellen elektronischen Weg, keine Rufnummer.
Warum es trotzdem rot gemessen wird
Eine Messung kann „fehlt“ nicht von „so gewollt“ unterscheiden. Genau dafür steht neben jeder Zahl ein Mensch, der sie einordnet — sonst produziert ein Bericht Maßnahmen gegen Entscheidungen.
Messfehler
Befund 8 · gegen uns selbst
„FAQ nicht ausgezeichnet“ war falsch — der Prüfer sah nur eine Seite
Der Lauf meldete: keine ausgezeichneten Frage-Antwort-Paare. Das stimmt für die Startseite — dort gibt es keine. Nachgesehen, wo die Fragen tatsächlich stehen:
Beleg · /fragen, im ausgelieferten HTML
"@type": "FAQPage" → vorhanden
"@type": "Question" → 12 Stück
Sichtbare Aufklapper → 12 Stück
────────────
12 von 12 ausgezeichnet
Die Prüfung hat also nicht die Seite bewertet, sondern sich selbst — sie schaute nur auf die Startseite und nannte das Ergebnis einen Befund. Der Prüfer ist nachgeschärft, er sieht jetzt auch die Unterseiten an. Frage-Antwort-Paare haben von allen Schema-Arten die höchste Zitierwahrscheinlichkeit; ein falscher Alarm an dieser Stelle hätte teuer werden können.
Beobachten
Befund 9 · diese Seite hier
Beim ersten Laden springt diese Seite — die Startseite tut es nicht
Beim Nachmessen der fertigen Seite kam heraus: 0,110 Layoutsprung (Median aus drei Läufen), Schwelle ist 0,1. Die Startseite liegt bei 0,001. Der Unterschied ist der Aufbau: Dort steht jeder Abschnitt in einer bildschirmhohen Fläche, hier läuft der Text durch. Wenn die Seite kurz nach dem Zeichnen die Sprache tauscht, ändert der lange Absatz oben seine Zeilenzahl — und alles darunter rutscht.
Beleg · Lighthouse, größter Einzelsprung
0,1044 section.rep „AS OF · Measured on 9 September 2026 …"
0,0049 .stand-banner p
0,0003 .analyse-cta-float
─────────────────────────────────────────────
0,110 gesamt · Schwelle 0,1 · Startseite 0,001
Zwei Drittel des Sprungs waren vorher schon weg: Die Startseite lädt ihre beiden Hauptschriften vor, diese Seite tat es nicht — bis der Tausch von Ersatz- auf echte Schrift jeden Absatz umbrach (0,283 vor dem Vorladen, 0,110 danach). Der Rest ist der Sprachtausch.
Warum das hier steht und nicht stillschweigend verschwindet
Ein Bericht, der Sprünge als Befund abbildet und den eigenen verschweigt, ist keiner. Der saubere Weg ist, die Sprache festzulegen, bevor gezeichnet wird — das betrifft jede zweisprachige Seite hier und ist deshalb keine Änderung an dieser einen. Sie steht auf der Liste.
05Gefunden werden, wenn niemand mehr sucht
Immer mehr Menschen tippen ihre Frage nicht bei Google ein, sondern fragen eine KI. Die Antwort nennt zwei, drei Betriebe — und wer nicht dabei ist, taucht gar nicht auf. Vier Dinge entscheiden darüber, und drei davon erklärt sonst niemand.
Eine Auskunft statt zwölf
Jede Seite trägt maschinenlesbar, wer hier arbeitet. Steht das auf zwölf Seiten zwölfmal ohne gemeinsame Kennung, sieht eine Antwortmaschine zwölf verschiedene Betriebe und zitiert im Zweifel keinen. Hier gibt es eine Definition mit fester Kennung, alle Unterseiten verweisen darauf. Über die Bestandsprojekte gemessen ist das die Ausnahme, nicht die Regel — eine Seite im Portfolio kam auf zehn Definitionen und null Kennungen.
KI-Crawler führen kein JavaScript aus
Das ist der Satz, an dem die meisten modernen Seiten scheitern: Was erst der Browser zusammenbaut, sieht ein KI-Crawler nie. Er liest rohes HTML und kommt nicht wieder. Deshalb ist die Kennzahl aus Befund 5 die zentrale — und deshalb ist ein hübscher Rechner, der erst im Browser entsteht, für eine Antwortmaschine eine leere Seite.
llms.txt — ehrlich eingeordnet
Diese Seite hat eine /llms.txt, und sie wird beim Bauen erzeugt statt von Hand gepflegt — eine zweite Datei, die man nachziehen muss, läuft nach dem ersten Umzug auseinander. Was sie nicht ist: ein Sichtbarkeits-Werkzeug. Der überwiegende Teil aller llms.txt wird nie abgerufen, Google liest sie nicht. Sie zählt für Werkzeuge, die gezielt darauf zugreifen — nicht für Zitierungen. Wer sie als Reichweiten-Maßnahme verkauft, verkauft eine Behauptung ohne Beleg.
Nichts erfunden
Im Schema dieser Seite steht keine Sternebewertung und keine Preisspanne — beides ließe sich in zwei Minuten hinschreiben und würde in Suchergebnissen gut aussehen. Erfundene strukturierte Daten sind aber schlimmer als fehlende: Google straft sie ab, und eine KI gibt sie als Tatsache weiter. Was hier steht, ist belegt oder es steht nicht da.
Und die Frage, die wir uns selbst noch nicht beantwortet haben
In der robots.txt steht ein Content-Signal: Suchindex, KI-Abruf und KI-Training sind drei getrennte Erlaubnisse, und das gilt zugleich als Rechtevorbehalt nach § 44b UrhG. Die dritte davon ist eine echte Abwägung — ein KI-Crawler holt tausendfach mehr Seiten, als er Besucher zurückschickt. Wer aber gar nicht im Trainingsmaterial vorkommt, ist der Maschine womöglich unbekannt. Diese Entscheidung gehört dem Betrieb, nicht dem Dienstleister.