Was ist ein CDN: Bedeutung, Gründe für ein CDN und Anbindung an WordPress
Ein CDN (Content Delivery Network) ist ein Netzwerk zur Auslieferung von Inhalten, das die Dateien des Ursprungsservers auf Edge-Servern in vielen Regionen speichert und Besuchern vom nächstgelegenen Server antwortet. Um zu sehen, ob Edge-Server aus dem Cache antworten, haben wir die Antwort-Header eines öffentlichen Bibliotheks-CDNs wie jsDelivr geprüft: Die jQuery-Datei wurde aus einer Cache-Kopie ausgeliefert. Die beiden Wege, WordPress anzubinden, also das Umschreiben der Datei-URLs und den DNS-Proxy, haben wir anhand der offiziellen Dokumentation verglichen.
1️⃣ Bedeutung von CDN: Edge-Server und Ursprungsserver
Ein POP (Point of Presence) ist ein Rechenzentrum mit Edge-Servern, und die Anfrage eines Besuchers wird an den nächstgelegenen POP geleitet.
Ein Edge-Server, der eine Anfrage erhält, antwortet sofort, wenn er die Datei gespeichert hat; andernfalls holt er die Datei vom Ursprungsserver, antwortet damit und speichert sie auf dem Edge-Server. CloudFront, das CDN von AWS, beginnt mit der Auslieferung an den Besucher, sobald das erste Byte vom Ursprungsserver eintrifft (laut offizieller AWS-Dokumentation).

Auf Edge-Servern werden nur Dateien gespeichert, die Besucher angefragt haben. Deshalb geht selbst bei derselben Datei die erste Anfrage an jedem Edge-Server bis zum Ursprungsserver.
Dateien so erst bei einer Anfrage zu holen, nennt man das Pull-Verfahren; daneben gibt es das Push-Verfahren, bei dem du Dateien vorab ins CDN hochlädst.
2️⃣ Gründe für ein CDN: Entfernung und Last des Ursprungsservers
Je weiter Besucher und Server voneinander entfernt sind, desto länger dauert die Umlaufzeit (RTT) einer Anfrage. Beim Öffnen einer Seite entstehen neben dem HTML auch Anfragen für Bilder, CSS und JavaScript. Antwortet ein naher Edge-Server, verkürzt sich die Umlaufzeit bei jeder Anfrage.
Anfragen, die ein Edge-Server beantwortet, erreichen den Ursprungsserver nicht. Dadurch sinken auch CPU-Auslastung und Datenübertragung (Bandbreite) des Ursprungsservers. Wenn du das DNS über den Cloudflare-Proxy anbindest, bleibt die IP des Ursprungsservers verborgen, und DDoS-Angriffe werden zuerst im CDN abgewehrt (laut offizieller Cloudflare-Dokumentation).
Bei einer Website, deren Besucher in derselben Region wie der Ursprungsserver sitzen, bringt die kürzere Entfernung wenig. Bei solchen Websites sind die geringere Last des Ursprungsservers und die eingesparte Datenübertragung der größere Vorteil eines CDN als kürzere Antwortzeiten.
3️⃣ Welche Dateien gecacht werden: statische Dateien und HTML
In der Standardeinstellung cacht Cloudflare nur statische Dateien wie Bilder, CSS und JavaScript, die über die Dateiendung festgelegt sind (laut offizieller Cloudflare-Dokumentation). Seiten-HTML und JSON sind vom Standard-Caching ausgenommen, daher antwortet auch nach der Anbindung an Cloudflare weiterhin der Ursprungsserver.
Um auch HTML zu cachen, musst du im CDN eine eigene Cache-Regel anlegen. Nimm dabei Seiten, deren Inhalt sich von Person zu Person unterscheidet, etwa für angemeldete Nutzer oder den Warenkorb, von der Regel aus, damit sich keine Bildschirme anderer Besucher vermischen.
4️⃣ Anbindung an WordPress: Datei-URLs umschreiben und DNS-Proxy
Um ein CDN an WordPress anzubinden, änderst du entweder nur die URLs der statischen Dateien auf CDN-URLs, oder du stellst das DNS der Domain auf den CDN-Proxy um, sodass alle Anfragen über das CDN laufen.
| Ablauf | Wo angebunden wird | Anfragen über das CDN | IP des Ursprungsservers |
|---|---|---|---|
| Datei-URLs umschreiben | CDN-Adresse (CNAME) in den CDN-Einstellungen des Cache-Plugins eintragen | Statische Dateien wie Bilder, CSS und JavaScript | Bleibt öffentlich |
| DNS-Proxy | DNS-Einträge der Domain mit dem CDN-Proxy verbinden | Alle HTTP- und HTTPS-Anfragen der Website | Hinter dem CDN verborgen |
Beim Umschreiben der Datei-URLs trägst du in den CDN-Einstellungen eines Cache-Plugins wie WP Rocket die vom CDN-Anbieter bereitgestellte Adresse (CNAME) ein. Danach werden die URLs von Bildern, CSS und JavaScript im Seiten-HTML auf CDN-URLs geändert (laut offizieller WP-Rocket-Dokumentation). Das HTML liefert weiterhin der Ursprungsserver aus.

Beim DNS-Proxy-Verfahren verwaltet der CDN-Anbieter das DNS deiner Domain. Cloudflare bietet außerdem eine Anbindung des Proxys, ohne die Nameserver umzuziehen: Du fügst bei deinem bisherigen DNS-Anbieter nur CNAME-Einträge hinzu. Dieses Verfahren ist nur ab dem Business-Tarif verfügbar (laut offizieller Cloudflare-Dokumentation).
5️⃣ Cache-Treffer prüfen: die Header cf-cache-status und age
Ob das CDN eine Datei aus dem Cache geliefert hat, erkennst du an den Antwort-Headern. Unten siehst du den Befehl, mit dem wir die Antwort-Header der von jsDelivr verteilten jQuery-Datei geprüft haben, und die Ausgabe.
curl -sI https://cdn.jsdelivr.net/npm/jquery@3.7.1/dist/jquery.min.js | grep -iE "^(cache-control|cf-cache-status|age|server):"cache-control: public, max-age=31536000, s-maxage=31536000, immutable
age: 45920
cf-cache-status: HIT
server: cloudflare[server: cloudflare] zeigt, dass ein Cloudflare-Edge-Server diese Antwort gesendet hat, und das von Cloudflare gesetzte [cf-cache-status: HIT] bedeutet, dass aus dem Cache geantwortet wurde. [age: 45920] zeigt, dass die Datei seit etwa 12 Stunden und 45 Minuten im Cache liegt. [max-age=31536000] ist die Anweisung des Ursprungsservers, dass die Datei 1 Jahr lang gespeichert werden darf.
Wie weit eine Anfrage bei [MISS], [DYNAMIC] oder [BYPASS] statt [HIT] geht, siehst du, wenn du im Diagramm unten auf die Wert-Buttons klickst.
cf-cache-status: HITcf-cache-status: MISScf-cache-status: DYNAMICcf-cache-status: BYPASSCache-Control: no-store oder private🔢 FAQ & empfohlene Inhalte
Cache
Was ist Cache? Definition und alle Bereiche, in denen Caching genutzt wird
Ordnet die Bereiche, in denen Caches genutzt werden, vom Browser bis ins Innere des Servers, einschließlich des Edge-Server-Caches eines CDN.
Varnish
Varnish Cache für Apache und Nginx installieren und einrichten
Zeigt, wie du den Reverse-Proxy-Cache Varnish vor Apache und Nginx installierst und einrichtest.
Cloudflare
Cloudflare-CDN einrichten: Pro-Tarif
Bindet Cloudflare per DNS-Proxy an WordPress an und behandelt danach Geschwindigkeitsunterschiede und Einstellungen zwischen dem Free- und dem Pro-Tarif.
ℹ️ Affiliate-Hinweis
Die Inhalte dieser Website enthalten Affiliate-Links. Kauft ein Besucher über einen dieser Links ein Produkt oder eine Dienstleistung, erhält die Website vom Verkäufer eine Provision. Der Betrag, den der Käufer zahlt(bei Aktionsrabatten sinkt er ↓), steigt dadurch nicht. Angegebene Preise, Rabatte und Lagerbestände entsprechen dem Stand bei Erstellung und können abweichen; prüfe sie daher vor dem Kauf beim Verkäufer. Produkte werden nach eigenen Kriterien ausgewählt und bewertet, und Provisionen beeinflussen weder die Reihenfolge noch den Inhalt der Bewertungen.