WordPress Ladezeiten beschleunigen mit dns-prefetch & preconnect
Es muss nicht immer gleich ein (schwergewichtiges) Plugin sein. Wer sich mit dem Thema dns-prefetch & preconnect auseinandersetzt, der bekommt es sicherlich auch hin, ein wenig Quelltext in eine Datei zu schreiben ;)
Hier einmal ein kurzes Snippet, dass einfach nur in die functions.php
Eures Child-Themes eingefügt werden muss:
// Set custom "dns-prefetch" and "preconnect" headers at top of <head> function my_dns_prefetch() { // List of domains to set prefetching for $prefetchDomains = [ '//beispiel.de', '//example.com', ]; $prefetchDomains = array_unique($prefetchDomains); $result = ''; foreach ($prefetchDomains as $domain) { $domain = esc_url($domain); $result .= '<link rel="dns-prefetch" href="' . $domain . '" crossorigin />'; $result .= '<link rel="preconnect" href="' . $domain . '" crossorigin />'; } echo $result; } add_action('wp_head', 'my_dns_prefetch', 0);
Natürlich müsst Ihr das Array $prefetchDomains
noch anpassen. Einfach meine Beispiel-Domains (siehe Zeilen 6-7) gegen die von Euch gewünschten Domains austauschen.
Ihr solltet auf jeden Fall ein Child-Theme nutzen, da sonst nach dem nächsten Theme-Update diese Änderungen wieder verloren geht. Alternativ müsst Ihr halt doch ein Plugin nutzen.
Das preconnect
ist insbesondere beim Aufbau von HTTPS Verbindungen effizienter, jedoch wird dns-prefetch
von mehr (älteren) Browsern unterstützt. Daher werden einfach beide Werte durch dieses kleine Snippet ganz vorne im <head> Bereich gesetzt.
Weiterführende Links:
- Browser-Support von preconnect
- Browser-Support von dns-prefetch
- Erklärung zu preconnect
- Erklärung zu dns-prefetch
Falls jemand auf dem Schlauch steht (passiert ja mal): Die functions.php
lässt sich ganz leicht via WordPress Admin-Panel editieren. Einfach unter Design > Editor
und für Euer Child Theme die Datei Theme-Funktionen (functions.php)
auswählen, editieren und dann auf den Button Datei aktualisieren
klicken.
Herzlichen Dank für den praktischen Code-Snippet, kann mir dadurch ein weiteres Plugin ersparen!