devslife - brute-force-attacke

Shop-Performance erhöhen: Überflüssige WooCommerce Scripte und CSS-Stile entfernen

   

Wenn du auf deiner WordPress-Seite einen WooCommerce-Shop betreibst, werden grundlegende, funktionale WooCommerce-Scripte und -Stile auf allen Seiten geladen. Das geht natürlich zu Lasten der Gesamtperformance deiner Website und somit auch zu Lasten der Ladezeit. In diesem Beitrag erfährst du, wie du deine Webseiten- bzw. Shop-Performance erhöhen kannst.

Entferne WooCommerce von Seiten, auf denen es nicht benötigt wird

Eine gute Möglichkeit deine Website bzw. deinen Shop schneller zu machen besteht darin, die CSS-Stile und Javascripte nur auf den WooCommerce-Produkt- und Shop-Seiten zu laden. Auf allen anderen Seiten (Blog, Über uns, Impressum, Datenschutz, AGB, usw.) und in deinen Beiträgen kannst du sie problemlos entfernen.

Kopiere das nachfolgende PHP-Code-Snippet und füge es am Ende der PHP-Datei functions.php ein. Die Datei functions.php befindet sich in deinem WordPress-Theme-Ordner -> wp-content/themes/deintheme/functions.php.

Du kannst die functions.php-Datei im Backend deiner WordPress-Installation oder via FTP/SFTP ändern.

functions.php via FTP ändern

1. Starte deinen bevorzugten FTP-Client (z. B. Filezilla).
2. Stelle eine Remote-Verbindung zu deinem Hosting-Server her.
3. Navigiere zum Ordner /wp-content/themes/.
4. Öffnen den Ordner deines aktives Themes.
5. Suche nach der Datei functions.php.
6. Lade die Datei functions.php herunter.
7. Öffne die Datei functions.php mit einem Texteditor (z. B. Notepad++).
8. Bearbeite und speichere deine Datei.
9. Lade die aktualisierte functions.php auf deinen Hosting-Server hoch.

functions.php im WordPress-Backend ändern

1. Logge dich im WordPress-Backend ein.
2. Navigiere im Admin-Menü zu Design > Theme-Editor.
3. Klicke rechts im Dateiexplorer auf die Datei functions.php.
4. Füge deine Änderungen und Ergänzungen am Ende der Datei ein.
5. Speichere deine Ergänzungen und Änderungen.

Beachte bitte, dass das eingefügte Code-Snippet in der functions.php beim Aktualisieren deines Themes überschrieben wird. Für die dauerhafte Einbindung von Änderungen in deinem WordPress Theme, kannst du ein Plugin, wie z.B. Code Snippets, verwenden. Code Snippets ist eine einfache Möglichkeit, um deiner Website PHP Code Snippets hinzuzufügen, ohne dass eine Änderung und Anpassung der functions.php deines Theme erforderlich ist.

/**
 * DEVSLIFE // PHP-Code-Snippet // Disable WooCommerce Styles and Scripts on non-WooCommerce pages
 * https://devslife.de/shop-performance-erhoehen-ueberfluessige-woocommerce-scripte-und-css-stile-entfernen
 */
add_action( 'template_redirect', 'widilo_disable_wc_scripts_styles', 999 );
function widilo_disable_wc_scripts_styles() {

  if ( is_woocommerce() || is_cart() || is_checkout() || is_account_page() ) {
          return;
  }

  remove_action('wp_enqueue_scripts', [WC_Frontend_Scripts::class, 'load_scripts']);
  remove_action('wp_print_scripts', [WC_Frontend_Scripts::class, 'localize_printed_scripts'], 5);
  remove_action('wp_print_footer_scripts', [WC_Frontend_Scripts::class, 'localize_printed_scripts'], 5);
 
}
PHP

Nachdem du das Code-Snippet eingefügt hast, werden auf allen Seiten, die WooCommerce eindeutig nicht zuzuordnen sind, die woocommerce-spezifischen CSS-Stile und Scripte nicht mehr geladen.

Das Code-Snippet deaktiviert die WooCommerce Scripte und Stile, die vom WooCommerce-Plugin mit Hilfe der Datei/Klasse class-wc-frontend-scripts.php geladen werden. Das entsprechende Hook findest du in class-wc-frontend-scripts.php ab Zeile 41:

/**
 * Hook in methods.
 */
public static function init() {
   add_action( 'wp_enqueue_scripts', array( __CLASS__, 'load_scripts' ) );
   add_action( 'wp_print_scripts', array( __CLASS__, 'localize_printed_scripts' ), 5 );
   add_action( 'wp_print_footer_scripts', array( __CLASS__, 'localize_printed_scripts' ), 5 );
}

Wenn dir dieser Beitrag gefallen hat, freue ich mich auf eine Bewertung von dir. Wenn du Fragen zu diesem Beitrag hast, freue ich mich auf einen Kommentar von dir : )

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert