Bildauslieferung im Edge‑Zeitalter — CDN‑Design 2025
Veröffentlicht: 22. Sept. 2025 · Lesezeit: 4 Min. · Von Unified Image Tools Redaktion
Um Suchtraffic zu steigern, ist schnelle Bildauslieferung Pflicht. Dieser Leitfaden ordnet Edge/CDN‑Designpunkte nach Einsatzfall und liefert eine Checkliste gegen typische Produktionsfehler.
Grundlagen eines Image‑CDN
- Transformationseinheiten definieren (Origin vs transformierte Varianten)
- Cache‑Key festlegen (URL,
Accept
,Accept-Encoding
, DPR, etc.) - Expiration/Invalidation (Fingerprint,
Cache-Control
,stale-while-revalidate
) - Abstimmung mit Responsive‑Images (
srcset
/sizes
‑Korrektheit)
Interne Links: srcset‑Grundlagen, INP‑fokussierte Auslieferung, Priority Hints & Preload
HTTP‑Header in der Praxis
Cache-Control: public, max-age=86400, stale-while-revalidate=259200
Vary: Accept, DPR
Accept-Ranges: bytes
Timing-Allow-Origin: *
Vary: Accept
nutzen, um AVIF/WebP/JPEG zu schalten- Bei
Vary: DPR
serverseitig Varianten pro DPR generieren/cachen - Für SSG/ISR ist explizites URL‑Versioning am sichersten (z. B.
hero-640.avif?v=20250922
)
Priority Hints / Early Hints
<!-- Für LCP‑Kandidaten -->
<link rel="preload" as="image" href="/images/hero-1200.avif" imagesrcset="..." imagesizes="(min-width: 1024px) 1200px, 90vw" fetchpriority="high" />
- Nicht alles als „high“ markieren (kann CLS‑Budgets stören)
- Wenn verfügbar, 103 Early Hints senden, um früher zu preconnecten/preloaden
Edge‑ vs Origin‑Transforms trennen
- Edge: häufige Schritte, Breite/Qualität/Format (AVIF/WebP)
- Origin: teurere, qualitätskritische Schritte (Metadaten, ICC, Alpha‑Compositing)
Tools: Format‑Konverter, Bulk‑Kompression, Placeholder‑Generator
Klassiker der Fehlkonfiguration
Vary
gesetzt, aber CDN cached nicht (Doppel‑Konfiguration)- AVIF an Legacy‑Clients ohne
Accept: image/avif
→ kaputte Indizes - Doppelte Transformation durch Optimizer‑Service und App‑CDN → Qualitätsverlust
Checkliste (dauerhaft)
- [ ] LCP‑Bilder: korrektes
fetchpriority
undsizes
- [ ] Cache‑Keys via URL‑Versioning oder
Vary
- [ ] Sicherer Fallback (JPEG) bei Transformationsfehlern
- [ ] Bild‑
alt
+ strukturierte Daten für Image‑SEO
Details zu Cache‑Keys
- Vorgeschlagene Keys:
URL + Accept + DPR + Width + Quality
w
/q
in Edge‑Funktionen normalisieren (z. B. 320/480/640/…)- Antwort‑Header Beispiel:
Cache-Control: public, max-age=604800, stale-while-revalidate=2592000
Vary: Accept, DPR
CDN-Cache-Status: HIT
AVIF/WebP‑Fallback‑Strategie
- Nach
Accept
zuerst AVIF wählen, dann WebP, Fallback JPEG - Serverseitig bei Timeouts/Fehlern → JPEG
- Clientseitig hilft
<picture>
mittype
(verwenden Siesrcset type
für explizite Auswahl)
<picture>
<source type="image/avif" srcset="hero.avif 1x, hero@2x.avif 2x" />
<source type="image/webp" srcset="hero.webp 1x, hero@2x.webp 2x" />
<img src="hero.jpg" alt="..." width="1200" height="630" />
</picture>
On‑the‑fly‑Resize normalisieren
- Fixes Breiten‑Set: 320/480/640/768/960/1200/1600/2000, an
sizes
gebunden - Eingehendes
w
runden, um Cache‑Fragmentierung zu vermeiden - Presets für
q
: Thumbs 60/Fotos 70/UI 80
Sicherheit und Missbrauchsschutz
- Signierte URLs verhindern ungebremste Transforms (
w
/h
/q
/fmt
signiert) - Rate‑Limit und Circuit‑Breaker bei Fehlern
- Schwere Filter verbieten, die CPU DoS auslösen können
Observability / Kostenkontrolle
- Logs: URL, fmt, w, q, dpr, cacheStatus, genTime, size
- Dashboards: Format‑Hit‑Rates, Median‑Größen, p95‑Generierungszeiten
- Kosten: heiße Größen vorab; lange TTL zur Entlastung der Origin
Edge‑Funktion (Pseudo)
export default async function handle(req) {
const u = new URL(req.url)
const w = normalizeWidth(u.searchParams.get('w'))
const q = normalizeQuality(u.searchParams.get('q'))
const fmt = negotiate(req.headers.get('Accept'))
const key = `${u.pathname}?w=${w}&q=${q}&fmt=${fmt}`
const cached = await caches.default.match(key)
if (cached) return cached
const out = await transform(u.pathname, { w, q, fmt })
return new Response(out.body, { headers: responseHeaders({ fmt, w, q }) })
}
Troubleshooting
- Kein Bild in alten Browsern →
Accept
‑Verhandlung fixen oder<source type>
nutzen - Langsame Generierung → Breiten‑Set reduzieren, Qualität preset, doppeltes Re‑Encode vermeiden
- Unkonstante Qualität →
q
pro Zweck fixieren; moderates AVIF‑effort
FAQ
F. Immer WebP/AVIF bevorzugen?
A. Kompatibilität und Generierungskosten balancieren. Für markenkritische Flächen kann JPEG gewinnen.
F. Mehr Vary
‑Achsen senken Cache‑Hits?
A. Breite/Qualität normalisieren, um Fragmentierung zu steuern. DPR nur dort nutzen, wo es zählt.
Zusammenfassung
„Korrekte Cache‑Keys“ und „gezielte Optimierung für LCP‑Kandidaten“ verbessern wahrgenommene Geschwindigkeit und Suchtraffic am schnellsten. Beginnen Sie mit Hero‑Bildern und testen Sie klein per A/B.