Wer kennt es nicht? GTMetrix, Pingdom, PageSpeed-Insight und andere Tools zeigen an, dass man cookie-free Domains nutzen soll. Solltest Du kein CDN nutzen wollen, erkläre ich Dir hier wie Du einfach eine statische Cookie-Freie Subdomain erstellst und die Änderungen in WordPress oder jeder anderen Website einbaust.
Wenn Du dieses Problem zum ersten Mal hast, solltest Du jetzt nachlesen, was eine cookie-free (Cookie freie) Domain ist.
Die gute Nachricht zuerst: Die Einrichtung ist einfacher als gedacht!
Was sind Cookies?
Ein HTTP-Cookie ist eine kleine Datei, das von einer bestimmten Website gesendet wird. Diese Daten werden auf dem Computer des Benutzers vom Webbrowser gespeichert, wenn dieser auf der Website surft.
Was ist eine cookie-free Domain?
Eine Cookie-freie Domain ist eine Domain, die dem Webbrowser des Benutzers sagt, keine Cookies von der Website zu speichern. Unsere Website z.B. hat einige statische Inhalte wie Bild-, Javascript- und CSS-Dateien. Diese Inhalte ändern sich nicht so oft. Daher braucht es für diese auch keine Cookies.
Wenn wir also eine Domain konfigurieren, die keine Cookies setzt, können wir die Größe der Gesamtanfrage verringern, die der Browser des Besuchers an unseren Server stellt, während er versucht, Seitenressourcen herunterzuladen.
Das Konzept hinter dieser Strategie besteht darin, die Server-Latenzzeit zu verringern, indem die Anzahl der Anfragen reduziert wird, was sich ein wenig auf die Leistung Deiner Website auswirken kann.
Wie man cookie-free Domains einrichtet und verwendet
Die allgemeinen Schritte:
- Erstellen einer Subdomain
- vorhandene Verlinkungen abändern
Zusätzlich für WordPress:
- wp-config.php aktualisieren
Wenn Du Deine Cookies auf einer Top-Level-Domain (z.B. deine-website.de) setzt, werden alle Subdomains (z.B. static.deine-website.de) auch die gesetzten Cookies enthalten. Daher ist es in diesem Fall erforderlich, dass Du entweder einen separaten Domainnamen für die Bereitstellung der statischen Inhalte verwendest, oder Deine Website unter der www-Subdomain wie www.deine-website.de läuft. Nur so kannst Du die Cookies trennen.
Subdomain erstellen
Wir erstellen eine Subdomain, die wir beliebig benennen können. Diese wird den gesamten statischen Inhalt ohne Cookie-Befehl an die Browser hosten.
Ich empfehle die Erstellung eines verständlichen Präfixes wie z.b. static.
Wir nehmen Beispielsweise eine Website von uns – Streamkoffein.de
Die Subdomain lautet dafür „static.streamkoffein.de„
Aufpassen bei der Verwendung von Adsense-Werbung. Hier wird die Warnung immer auftreten, weil Deine Subdomain ein Teil der Root-Domain ist und Adsense Cookies für jede Subdomain unter einem verifizierten Domainnamen setzt.
Solltest Du kein WordPress nutzen, dann setze den CNAME-Eintrag in den DNS Einstellungen Deiner Subdomain auf die ursprüngliche „www“-Domain. Danach kannst Du auf die Inhalte Deiner Seite über die statische Subdomain zugreifen.
WordPress Zusatz
Nachdem Du die Subdomain static.deine-website.de erstellt hast, musst Du diese bei WordPress auf Dein Verzeichnis /wp-content/ setzen.
Bearbeite jetzt Deine wp-config.php wie folgt:
define ("WP_CONTENT_URL", "https://static.deine-website.de"); define ("COOKIE_DOMAIN", "www.deine-website.de");
Inhalte ersetzen
Ersetze die Verlinkungen zu Deinen statischen Inhalten. Du musst keine Daten kopieren oder verschieben!
#JAVASCRIPT <script src="/js/jquery.min.js"></script> //Ersetzen mit <script src="//static.deine-website.de/js/jquery.min.js"></script> #CSS <link rel="stylesheet" href="/css/bootstrap.min.css"> //Ersetzen mit <link rel="stylesheet" href="//static.deine-website.de/css/bootstrap.min.css"> #BILDER <img src="/images/logo.png"> //Ersetzen mit <img src="//static.deine-website.de/images/logo.png">
Inhalte in der WordPress Datenbank ersetzen:
Führen den folgenden Befehl in der SQL-Datenbank aus. Dadurch wird sichergestellt, dass alle Post-URLs an die neue Subdomain weitergeleitet werden.
Mache immer vor der Arbeit in der Datenbank ein Backup!
UPDATE wp_posts SET post_content = REPLACE(post_content,'www.deine-website.de/wp-content/','static.deine-website.de/')
Solltest Du im Umgang mit SQL nicht geübt sein, kannst Du auch das kostenlose Plugin Better Search Replace nutzen.
Troubleshooting – Ressourcen werden nicht geladen
Sollten gewisse Ressourcen nicht geladen werden, kann dies an der CORS policy des Headers Access-Control-Allow-Origin liegen. Abhilfe schafft folgender Code in der .htaccess:
<IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule>
Auch könnte es sein, dass die Inhalte anfänglich nicht mehr dargestellt werden. Hier die Abhilfe:
- Cache leeren
- Caching deaktivieren
- Firewall deaktivieren
Geht weiterhin nicht?
Alternative: Nutzung von WP2Static
Eine weitere Methode ist die Verwendung eines WP-Plugins namens WP2static.
Konfiguriere die Einstellungen auf der Registerkarte „Statische Website bereitstellen“. Siehe Abbildung unten.
Wenn der Exportvorgang abgeschlossen ist, besuche die URL, die während der Konfiguration festgelegt wurde. (https://www.deine-website.de/static). Überprüfen nun diese URL in GTmetix. Die Warnung cookie-free Domain zu verwenden, wird innerhalb des Berichts nicht angezeigt.
Fazit
Jetzt, da Du eine Cookie freie Domain hast und die Subdomain für statische Inhalte festgelegt ist, kannst Du mit der Bereitstellung statischer Inhalte beginnen, ohne dass der Server ein unnötiges Cookie für statische Assets setzt.
Solltest Du folgenden Fehler bekommen:GET https://static.meine-website.de/plugins/... net::ERR_NAME_NOT_RESOLVED
musst Du etwas abwarten, da Deine Subdomain (noch) nicht bekannt ist.
Du brauchst Deinen PageSpeed optimiert?
Vielen Dank für diese Anleitung. Hab den Artikel jetzt nur grob überflogen und werde es mal testen.
„Solltest Du kein CDN nutzen wollen, erkläre ich Dir hier wie Du einfach eine statische Cookie-Freie Subdomain erstellst und die Änderungen in WordPress oder anderen Websites einstellst.“
Hat man mit einem CDN Vorteile?
LG Patrick
Hallo Patrick,
Ein CDN wie z.b. Cloudflare ermöglicht Dir das Ausliefern von statischen Ressourcen über eben dieses CDN Netzwerk. Damit sind Deine Inhalte weltweit gleich schnell erreichbar, die IP Deines Hosters etwas verschleiert und eben Dein Pagespeed zusätzlich erhöht. Nur für deutsche Inhalte meist overpowered und nicht nötig.
Zudem hilft Dir ein CDN vor DDOS Angriffen.
Lieben Gruß