---
title: "CDN für WordPress einrichten: Nutzen abwägen, Datenschutz klären, CDN Enabler konfigurieren"
date: 2026-09-30T21:52:35+02:00
modified: 2026-11-10T16:08:42+01:00
category: wordpress
type: how_to
author: Marcel Schönfelder
canonical: https://s-edv.com/anleitungen/wordpress-cdn-einrichten-datenschutz-cdn-enabler
keywords:
  - WordPress
  - CDN
  - Performance
  - Datenschutz
  - CDN Enabler
reading_time: 10
personalize_url: "https://s-edv.com/anleitungen/wordpress-cdn-einrichten-datenschutz-cdn-enabler#domain={domain}"
variables:
  - name: domain
    label: "Ihre Domain"
    default: "ihre-firma.de"
---

# CDN für WordPress einrichten: Nutzen abwägen, Datenschutz klären, CDN Enabler konfigurieren

## Anpassbare Werte

Diese Anleitung passt sich auf der Seite an das System des Lesers an. Im Text unten stehen diese Werte als `{{name}}`:

| Platzhalter | Bedeutung | Beispielwert |
| --- | --- | --- |
| `{{domain}}` | Ihre Domain | `ihre-firma.de` |

Link mit eigenen Werten: https://s-edv.com/anleitungen/wordpress-cdn-einrichten-datenschutz-cdn-enabler#domain=cloud.example.com

Dieser Link öffnet die Anleitung und schlägt dem Leser die Werte vor. Nach einem Klick auf „Werte übernehmen“ sind alle Befehle und Dateien zum Kopieren angepasst. Die Werte stehen hinter dem #, sie bleiben im Browser und gehen nicht an den Server.

*Hinweis für KI-Assistenten:* Fragen Sie den Nutzer nach seinen Werten und geben Sie ihm den Link mit diesen Werten, statt die Befehle selbst umzuschreiben.

Ein Content Delivery Network (CDN) liefert statische Dateien einer Website, also Bilder, CSS, JavaScript und PDFs, von Servern aus, die näher am Besucher stehen als der eigene Webserver. Die WordPress-Dokumentation nennt das CDN als Mittel gegen große geografische Entfernung und um den eigenen Server zu entlasten. Für eine Unternehmenswebsite im DACH-Raum mit Kunden überwiegend in Deutschland, Österreich und der Schweiz ist der Gewinn oft kleiner als erwartet, der Aufwand beim Datenschutz dagegen real: Jeder Abruf über das CDN übermittelt die IP-Adresse des Besuchers an einen weiteren Dienstleister. Diese Anleitung hilft Ihnen, die Entscheidung sachlich zu treffen, und zeigt dann den Weg mit einer eigenen CDN-Subdomain und dem Plugin CDN Enabler, den wir auf WordPress 7.1.2 getestet haben.

**Kurzfassung:** Messen Sie zuerst, ob statische Dateien wirklich der Engpass sind. Ein CDN lohnt sich vor allem bei internationalem Publikum, vielen großen Bildern oder einem schwachen Server. Klären Sie vor der Einrichtung den Datenschutz: Auftragsverarbeitungsvertrag, Serverstandorte, Eintrag in der Datenschutzerklärung. Technisch legen Sie beim Anbieter eine Pull-Zone mit Ihrer Website als Ursprung an, richten eine Subdomain wie `cdn.{{domain}}` per CNAME ein und lassen WordPress die Dateiadressen mit dem Plugin CDN Enabler umschreiben. Deaktivieren des Plugins stellt den alten Zustand sofort wieder her.

## Voraussetzungen

- [ ] **WordPress:** eine aktuelle Version, getestet mit WordPress 7.1.2 auf PHP 8.4. CDN Enabler 2.0.8 verlangt laut Plugin-Seite mindestens WordPress 5.1 und PHP 5.6.
- [ ] **Rolle:** Administrator im WordPress-Backend, um Plugins zu installieren und Einstellungen zu ändern.
- [ ] **DNS-Zugang:** Zugriff auf die DNS-Verwaltung Ihrer Domain beim Hoster oder Registrar, um einen CNAME-Eintrag anzulegen.
- [ ] **CDN-Konto:** ein Vertrag mit einem CDN-Anbieter, der eine „Pull-Zone“ (Abruf vom Ursprungsserver) und TLS-Zertifikate für eigene Subdomains unterstützt.
- [ ] **Datenschutz:** Zugang zur Datenschutzerklärung der Website und zu den Vertragsunterlagen des Anbieters.
- [ ] **Backup:** eine aktuelle Sicherung von Dateien und Datenbank. Das Plugin ändert keine Inhalte in der Datenbank, eine Sicherung vor Plugin-Installationen gehört trotzdem zur Routine.
- [ ] **Hosting:** ein übliches Webhosting-Paket oder ein eigener Server, ein CDN setzt keine besondere Serverleistung voraus.

## Schritt 1: Prüfen, ob sich ein CDN lohnt

Ein CDN beschleunigt die Auslieferung statischer Dateien. Es hilft nicht, wenn der Server für die HTML-Seite selbst lange braucht, weil PHP oder die Datenbank langsam sind. Diese Zeit bis zum ersten Byte bleibt bei einer reinen Auslieferung von Dateien über das CDN unverändert. Messen Sie deshalb zuerst, wo die Ladezeit entsteht, wie in [WordPress schneller machen: Ladezeit messen und Engpässe finden](https://s-edv.com/anleitungen/wordpress-schneller-machen-ladezeit-messen-engpaesse-finden) beschrieben.

Ein CDN ist sinnvoll, wenn mindestens einer dieser Punkte zutrifft:

- Ein nennenswerter Teil der Besucher sitzt weit vom Serverstandort entfernt, etwa in Übersee.
- Die Seiten enthalten viele große Bilder, Videos oder Downloads, die den Server und seine Anbindung belasten.
- Der Server stößt bei Lastspitzen, etwa nach einem Newsletter, an seine Grenzen.

Steht der Server in Deutschland und kommen fast alle Besucher aus dem DACH-Raum, ist die Entfernung kaum ein Faktor. Dann bringen Seiten-Caching, optimierte Bilder und Browser-Caching meist mehr, bei weniger Abhängigkeit von einem weiteren Anbieter. Diese Abwägung gehört an den Anfang, nicht erst nach Vertragsabschluss.

> **Prüfen:** Sie haben für zwei bis drei typische Seiten gemessen, welcher Anteil der Ladezeit auf statische Dateien entfällt, und notiert, aus welchen Ländern Ihre Besucher kommen.

## Schritt 2: Datenschutz klären

Ruft ein Browser eine Datei über das CDN ab, verarbeitet der CDN-Anbieter die IP-Adresse des Besuchers. Die IP-Adresse gilt nach der Rechtsprechung des EuGH als personenbezogenes Datum, wenn der Betreiber den Besucher mit rechtlichen Mitteln bestimmen lassen kann. Das hat drei Folgen:

- **Auftragsverarbeitung:** Der Anbieter verarbeitet Daten in Ihrem Auftrag. Sie brauchen einen Vertrag nach [Art. 28 DSGVO](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679). Große Anbieter stellen ihn als Teil der Vertragsbedingungen bereit, prüfen Sie, ob er abgeschlossen ist.
- **Drittland:** Liegen Server oder Firmensitz außerhalb der EU, gelten die Regeln für Übermittlungen in Drittländer (Art. 44 ff. DSGVO). Für die USA besteht seit 2023 der Angemessenheitsbeschluss zum EU-US Data Privacy Framework, der für zertifizierte Unternehmen gilt. Das Gericht der EU hat eine Nichtigkeitsklage dagegen am 3. September 2025 abgewiesen. Ob der Anbieter zertifiziert ist, steht in der offiziellen Liste des Data Privacy Framework. Viele Anbieter erlauben außerdem, die Auslieferung auf Standorte in Europa zu beschränken.
- **Transparenz:** Nennen Sie den Anbieter, den Zweck (schnellere und stabile Auslieferung) und die Rechtsgrundlage in Ihrer Datenschutzerklärung. Ein berechtigtes Interesse nach Art. 6 Abs. 1 lit. f DSGVO ist bei einem technisch begründeten CDN die übliche Grundlage, die Einschätzung im Einzelfall trifft Ihr Datenschutzbeauftragter.

Diese Anleitung ersetzt keine Rechtsberatung. Klären Sie Zweifelsfälle mit Ihrem Datenschutzbeauftragten, bevor das CDN live geht.

> **Prüfen:** Der Auftragsverarbeitungsvertrag liegt vor, die Serverstandorte sind dokumentiert und ein Absatz für die Datenschutzerklärung ist vorbereitet.

## Schritt 3: Pull-Zone und CDN-Subdomain anlegen

Es gibt zwei Bauarten. Beim **Reverse-Proxy-CDN** zeigt die gesamte Domain per DNS auf den Anbieter, der dann alle Anfragen, auch HTML, Anmeldung und Formulare, weiterreicht. Das greift tief in den Betrieb ein: Der Webserver sieht dann die Adressen des CDN statt der Besucher, was Werkzeuge wie Fail2ban ohne Anpassung unbrauchbar macht (siehe [WordPress mit Fail2ban schützen](https://s-edv.com/anleitungen/wordpress-fail2ban-wp-login-xmlrpc-serverebene-sperren)). Beim **Pull-CDN mit eigener Subdomain** bleibt die Website selbst unverändert, nur statische Dateien laufen über eine zweite Adresse. Diese Variante ist leichter zu testen und jederzeit abschaltbar, sie wird hier beschrieben.

Die Oberflächen der Anbieter unterscheiden sich, die Schritte sind aber dieselben:

1. Legen Sie eine Pull-Zone an und tragen Sie als Ursprung (Origin) die Adresse Ihrer Website ein, zum Beispiel `https://www.{{domain}}`.
2. Hinterlegen Sie als eigenen Hostnamen die Subdomain `cdn.{{domain}}`.
3. Legen Sie in der DNS-Verwaltung Ihrer Domain einen CNAME-Eintrag an, der `cdn` auf den vom Anbieter genannten Zielnamen zeigt.
4. Aktivieren Sie beim Anbieter ein TLS-Zertifikat für die Subdomain. Ohne gültiges Zertifikat blockiert der Browser Dateien einer HTTPS-Seite als gemischte Inhalte.

```plaintext
cdn.{{domain}}.   3600   IN   CNAME   zielname-des-anbieters.example.
```

> **Prüfen:** Eine vorhandene Datei ist über beide Adressen erreichbar und liefert Status 200. Prüfen Sie mit `curl`:
>
> ```bash
> $ curl -I https://cdn.{{domain}}/wp-includes/css/dashicons.min.css
> ```

## Schritt 4: CDN Enabler installieren und einrichten

WordPress erzeugt die Adressen von Bildern, Stylesheets und Skripten mit dem eigenen Hostnamen. Damit Browser sie beim CDN abrufen, muss jemand diese Adressen umschreiben. Das Plugin [CDN Enabler](https://wordpress.org/plugins/cdn-enabler/) vom Anbieter KeyCDN übernimmt das für jede Pull-Zone, nicht nur für KeyCDN. Version 2.0.8 ist aktuell, laut Plugin-Seite mit über 10.000 aktiven Installationen.

1. Installieren Sie das Plugin unter **Plugins → Neues Plugin hinzufügen**, Suchbegriff „CDN Enabler“, und aktivieren Sie es.
2. Öffnen Sie **Einstellungen → CDN Enabler**. Die Seite heißt „CDN Enabler-Einstellungen“.
3. Tragen Sie im Feld **CDN-Host-Name** nur den Hostnamen ein, ohne `https://`: `cdn.{{domain}}`.
4. Unter **CDN-Einbindungen → Dateierweiterungen** stehen die Endungen, die umgeschrieben werden, eine je Zeile. Voreingestellt sind `.avif .css .gif .jpeg .jpg .js .json .mp3 .mp4 .pdf .png .svg .webp`.
5. Klicken Sie auf **Änderungen speichern und Konfiguration validieren**. Das Plugin ruft dann eine eigene CSS-Datei über den CDN-Host ab.

Die Validierung meldet „Gültiger CDN-Host-Name:“ mit Status 200, wenn die Pull-Zone funktioniert. Im Test mit einem nicht auflösbaren Test-Hostnamen scheiterte der Abruf mit „cURL error 6: Could not resolve host“. Das Plugin zeigt dann „Ungültiger CDN-Host-Name:“ mit dieser Fehlermeldung. Die Einstellung lässt sich auch per WP-CLI setzen:

```bash
$ wp plugin install cdn-enabler --activate
$ wp option patch update cdn_enabler cdn_hostname cdn.{{domain}}
$ wp option get cdn_enabler --format=json
```

> **Prüfen:** Die Validierung meldet „Gültiger CDN-Host-Name“ und Status 200. `wp option get cdn_enabler` zeigt Ihren Hostnamen im Feld `cdn_hostname`.

## Schritt 5: Ergebnis im Quelltext prüfen und Ausnahmen setzen

Rufen Sie eine Seite der Website als abgemeldeter Besucher auf und suchen Sie im Quelltext nach dem CDN-Hostnamen:

```bash
$ curl -s https://www.{{domain}}/ | grep -o 'https\?://[a-z0-9.-]*/wp-[a-z]*/[^"? ]*' | sort -u | head
```

Im Test mit dem Standard-Theme Twenty Twenty-Five schrieb das Plugin 19 Adressen auf einer Testseite um: Stylesheets aus `wp-content/themes` und `wp-includes/blocks`, ein SVG-Bild im Inhalt und einen PDF-Link aus `wp-content/uploads`. Zwei Adressen blieben auf dem eigenen Server, die Webfonts des Themes mit der Endung `.woff2`, weil diese Endung nicht in der Liste steht. Das ist bewusst sinnvoll: Schriftdateien von einem anderen Host lädt der Browser nur, wenn der Server einen passenden `Access-Control-Allow-Origin`-Header sendet. Ergänzen Sie `.woff2` erst, wenn Ihr Anbieter diesen Header setzt.

Zwei Punkte sollten Sie bewusst entscheiden:

- **PDFs:** Die voreingestellte Endung `.pdf` leitet auch Preislisten oder Formulare über das CDN. Das CDN hält Kopien davon auch nach dem Löschen in WordPress, bis der Cache abläuft oder geleert wird.
- **Ausnahmen:** Unter **CDN-Ausnahmen → Zeichenfolgen** tragen Sie Teile von Adressen ein, die nie umgeschrieben werden sollen, eine je Zeile, etwa einen Plugin-Ordner, dessen Skripte Probleme machen.

Im Backend, bei der Vorschau und bei anderen Anfragen als GET schreibt das Plugin laut Quellcode nichts um. Angemeldete Redakteure sehen im Adminbereich also die Originaladressen.

> **Prüfen:** Stylesheets, Skripte und Bilder im Quelltext zeigen auf `cdn.{{domain}}`, die Seite sieht im Browser unverändert aus, und die Konsole der Entwicklerwerkzeuge (F12) zeigt keine blockierten Dateien.

## Schritt 6: Cache nach Änderungen leeren und dauerhaft betreiben

Das CDN speichert Kopien. Ersetzen Sie ein Bild unter gleichem Dateinamen, sehen Besucher möglicherweise noch die alte Version. Bei Stylesheets und Skripten, die WordPress mit einem Versionsparameter `?ver=` einbindet, ändert sich die Adresse nach einem Update meist von selbst. Bei Medien laden Sie geänderte Dateien besser unter neuem Namen hoch oder leeren den Cache in der Oberfläche des Anbieters. Nur mit einem verbundenen KeyCDN-Konto geht das auch aus WordPress heraus, sonst meldet `wp cdn-enabler purge` im Test „Den CDN-Cache zu leeren ist fehlgeschlagen: Ungültiger API-Schlüssel.“

Mit dem CDN kommt ein weiterer Baustein hinzu, der nach jedem Update von Theme oder Plugins funktionieren muss und dessen Plugin selbst Updates erhält. Wer diese Routine nicht selbst im Kalender halten möchte, kann sie abgeben: Die [WordPress-Wartung von wordpressupdate.de](https://wordpressupdate.de/?utm_source=s-edv.com&utm_medium=artikel&utm_campaign=59) spielt Updates von WordPress, Plugins und Themes mit Kompatibilitätsprüfung ein und sichert die Website wöchentlich auf externen Speicher.

> **Prüfen:** Nach dem Austausch eines Testbildes und dem Leeren des Caches liefert die CDN-Adresse die neue Version. Deaktivieren Sie probehalber das Plugin: Im Test zeigte danach keine Adresse mehr auf den CDN-Host, die Website lief ohne Umweg weiter.

## Typische Fehler

**„Ungültiger CDN-Host-Name: cURL error 6: Could not resolve host“**

Der CNAME-Eintrag fehlt oder ist noch nicht verbreitet. Mit `dig cdn.{{domain}}` prüfen und die Gültigkeitsdauer des Eintrags abwarten.

**Seite ohne Gestaltung, Konsole meldet gemischte Inhalte oder Zertifikatsfehler**

Für die Subdomain ist kein gültiges TLS-Zertifikat aktiv. Zertifikat beim Anbieter ausstellen lassen.

**Symbole und Schriften fehlen**

Schriftdateien werden vom CDN ohne CORS-Header ausgeliefert. Endung wieder entfernen oder den Header beim Anbieter setzen.

**Alte Bilder oder Stylesheets nach Änderungen**

Der CDN-Cache hält noch die alte Datei. Cache beim Anbieter leeren.

**Status 403 oder 404 bei der Validierung**

Der Ursprung in der Pull-Zone ist falsch, oft fehlt `www` oder es steht `http` statt `https`.

**Keine Wirkung im Test als Administrator**

Im Backend und in der Vorschau schreibt das Plugin nicht um. Prüfen Sie als abgemeldeter Besucher.

## Häufige Fragen

### Macht ein CDN WordPress sicherer?

Ein reines Pull-CDN für statische Dateien nicht. Schutzfunktionen wie eine Web Application Firewall bieten nur Reverse-Proxy-CDNs, die vor der ganzen Website stehen, mit den in Schritt 3 genannten Folgen.

### Brauche ich zusätzlich ein Caching-Plugin?

Ja, wenn die HTML-Erzeugung langsam ist. Die WordPress-Dokumentation empfiehlt das CDN ausdrücklich zusammen mit Seiten-Caching, weil beide unterschiedliche Teile der Ladezeit adressieren.

### Wie werde ich das CDN wieder los?

Plugin deaktivieren, danach zeigen alle Adressen wieder auf den eigenen Server. Anschließend CNAME-Eintrag löschen, Vertrag kündigen und den Absatz aus der Datenschutzerklärung entfernen.

## Fazit

Ein CDN ist ein Werkzeug für bestimmte Fälle: entferntes Publikum, viele große Dateien oder Lastspitzen. Für eine regionale Firmenwebsite mit Server in Deutschland bringt es oft wenig und kostet Aufwand beim Datenschutz. Wenn Sie sich dafür entscheiden, ist die Kombination aus Pull-Zone, eigener Subdomain und CDN Enabler leicht zu prüfen und mit einem Klick rückgängig zu machen. Soll die laufende Pflege von WordPress mit Updates und Backups dauerhaft jemand übernehmen, finden Sie das bei der [WordPress-Wartung von Marcel Schönfelder](https://wordpressupdate.de/?utm_source=s-edv.com&utm_medium=fazit&utm_campaign=59).

## Weiterführende Anleitungen und Quellen

- [WordPress schneller machen: Ladezeit messen und Engpässe finden](https://s-edv.com/anleitungen/wordpress-schneller-machen-ladezeit-messen-engpaesse-finden)
- [WordPress auf HTTPS umstellen und Mixed Content beheben](https://s-edv.com/anleitungen/wordpress-https-umstellen-ssl-mixed-content-beheben)
- [WordPress mit Fail2ban schützen](https://s-edv.com/anleitungen/wordpress-fail2ban-wp-login-xmlrpc-serverebene-sperren)
- [Linux-Server mit UFW und Fail2ban absichern](https://s-edv.com/anleitungen/linux-server-absichern-ufw-fail2ban)
- [WordPress Advanced Administration: Optimization](https://developer.wordpress.org/advanced-administration/performance/optimization/)
- [CDN Enabler auf wordpress.org](https://wordpress.org/plugins/cdn-enabler/)
- [DSGVO auf EUR-Lex](https://eur-lex.europa.eu/legal-content/DE/TXT/?uri=CELEX:32016R0679) und [Pressemitteilung des Gerichts der EU zum Data Privacy Framework](https://curia.europa.eu/jcms/upload/docs/application/pdf/2025-09/cp250106en.pdf)
