Wie würdet ihr euere Wordpress Page-Speed verbessern? Bitte per Code.
Auf die Schnelle fallen mir drei Änderungen ein, die via Code in zwei verschiedenen Dateien umgesetzt werden können.
Auf einer Testseite mit vielen Bildern konnte Google's Pagespeed-Ergebnis
um 19 Punkte verbessert werden. Ohne sonstige Anpassungen!
1 - "lazy-loading" der WordPress Bilder
add_filter('the_content','add_lazy_load_attributes'); 
 function add_lazy_load_attributes($content) { 
   /* Add loading="lazy" to all images filtered by the_content */ 
  $content = str_replace('<img','<img loading="lazy"', $content); 
   /* Add loading="lazy" to all iframes filtered by the_content */ 
  $content = str_replace('<iframe','<iframe loading="lazy"', $content); 
   return $content; 
} 
Dieser Filter kann direkt in der functions.php des aktiven Themes eingefügt werden.
Es existieren Plugins für diesen Zweck, aber die wenigen Zeilen oben reichen aus, um "loading=lazy" für alle im Content (the_content()) gezeigten <img> tags zu implementieren.
Mehr Infos: Quick & Dirty Lazy-Loading for WordPress Images
& Native lazy-loading for the web
2 - Entfernen unnötiger wp_head() tags
function molekulo_clean_head() { 
  remove_action('wp_head', 'wp_generator'); 
  remove_action('wp_head', 'rsd_link'); 
  remove_action('wp_head', 'wlwmanifest_link'); 
  remove_action('wp_head', 'index_rel_link'); 
  remove_action('wp_head', 'feed_links', 2); 
  remove_action('wp_head', 'feed_links_extra', 3); 
  remove_action('wp_head', 'adjacent_posts_rel_link_wp_head', 10, 0); 
  remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0); 
  remove_action('wp_head', 'print_emoji_detection_script', 7); 
  remove_action('wp_print_styles', 'print_emoji_styles'); 
} 
add_action('init', 'molekulo_clean_head'); 
Falls du keine Emojis nutzt und auf diverse andere Einträge im <head> Bereich deiner Seite verzichten kannst, dann ist die obige Funktion eventuell was für dich.
Sie wird ebenfalls in der functions.php des aktiven Themes eingefügt und sorgt dafür, dass viel unnötiger Ballast aus dem WP Header entfernt wird.
Mehr Infos: Remove Unnecessary Code from wp_head - IsItWP
3 - GZIP Compression + Caching in .htaccess aktivieren
<IfModule mod_deflate.c> 
  AddOutputFilterByType DEFLATE font/opentype 
  AddOutputFilterByType DEFLATE font/otf 
  AddOutputFilterByType DEFLATE font/ttf 
  AddOutputFilterByType DEFLATE text/css 
  AddOutputFilterByType DEFLATE text/html 
  AddOutputFilterByType DEFLATE text/javascript 
  AddOutputFilterByType DEFLATE text/plain 
  AddOutputFilterByType DEFLATE text/xml 
  AddOutputFilterByType DEFLATE application/javascript 
  AddOutputFilterByType DEFLATE application/rss+xml 
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 
  AddOutputFilterByType DEFLATE application/x-font 
  AddOutputFilterByType DEFLATE application/x-font-opentype 
  AddOutputFilterByType DEFLATE application/x-font-otf 
  AddOutputFilterByType DEFLATE application/x-font-truetype 
  AddOutputFilterByType DEFLATE application/x-font-ttf 
  AddOutputFilterByType DEFLATE application/x-javascript 
  AddOutputFilterByType DEFLATE application/xhtml+xml 
  AddOutputFilterByType DEFLATE application/xml 
  AddOutputFilterByType DEFLATE image/svg+xml 
  AddOutputFilterByType DEFLATE image/x-icon 
</IfModule> 
 <IfModule mod_expires.c> 
  ExpiresActive On 
  ExpiresByType text/css "access 1 month" 
  ExpiresByType text/html "access 1 month" 
  ExpiresByType image/gif "access 1 year" 
  ExpiresByType image/png "access 1 year" 
  ExpiresByType image/jpg "access 1 year" 
  ExpiresByType image/jpeg "access 1 year" 
  ExpiresByType image/x-icon "access 1 year" 
  ExpiresByType application/pdf "access 1 month" 
  ExpiresByType application/javascript "access 1 month" 
  ExpiresByType text/x-javascript "access 1 month" 
  ExpiresByType application/x-shockwave-flash "access 1 month" 
  ExpiresDefault "access 1 month" 
</IfModule> 
Das obige 3. Snippet wird der .htaccess Datei im root-Ordner deiner WordPress-Installation unter den bereits vorhandenen Einträgen hinzugefügt.
GZIP Komprimierung + Caching hilft enorm bei Performance-Problemen mit WordPress.
In den meisten Fällen kann man sich damit ein WP Cache Plugin sparen.
Es ist sinnvoll, den Pagespeed-Test regelmäßig durchzuführen, um weitere Möglichkeiten zur Optimierung der Seite zu entdecken.
-
Die Umsetzung dieser Verbesserungen nimmt ca. 5 Minuten in Anspruch. Der Screenshot oben zeigt die Verbesserung der Performance auf einer Testseite ohne weitere Anpassungen.
Die wichtigsten Faktoren bleiben aber der Hoster (Standort, Shared Hosting vs. VPS, etc.) und das Theme. Die oben gezeigten Verbesserungen wurden mit dem rudimentären b4st Theme von Simon Padbury erreicht, einem simplen Template basierend auf Bootstrap 4.x — SimonPadbury/b4st