Optimiere deine Seitengeschwindigkeit: Deaktiviere WooCommerce-Scripts auf Nicht-WooCommerce-Seiten

WooCommerce ist eine robuste E-Commerce-Plattform, die standardmäßig alle ihre Scripts auf jeder Seite deiner WordPress-Website lädt. Diese Vorgehensweise kann jedoch zu einer Verschlechterung der Seitengeschwindigkeit führen, insbesondere auf Seiten, die keine WooCommerce-Funktionalitäten benötigen.

Um die Performance deiner Website zu verbessern, kannst du mit einem einfachen Script die WooCommerce-Scripts auf Nicht-WooCommerce-Seiten deaktivieren. Dadurch werden nur die Scripts geladen, die wirklich benötigt werden, was sich positiv auf die Ladezeiten und die allgemeine Performance auswirkt.

Hier ist das Script, mit dem du die WooCommerce-Scripts deaktivieren kannst:

/**
 * Callback function that returns true if the current page is a WooCommerce page or false if otherwise.
 *
 * @return boolean true for WC pages and false for non WC pages
 */
function is_wc_page() {
	return class_exists( 'WooCommerce' ) && ( is_woocommerce() || is_cart() || is_checkout() || is_account_page() );
}

add_action( 'template_redirect', 'conditionally_remove_wc_assets' );
/**
 * Remove WC stuff on non WC pages.
 */
function conditionally_remove_wc_assets() {
	// if this is a WC page, abort.
	if ( is_wc_page() ) {
		return;
	}

	// remove WC generator tag
	remove_filter( 'get_the_generator_html', 'wc_generator_tag', 10, 2 );
	remove_filter( 'get_the_generator_xhtml', 'wc_generator_tag', 10, 2 );

	// unload WC 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 );

	// remove "Show the gallery if JS is disabled"
	remove_action( 'wp_head', 'wc_gallery_noscript' );

	// remove WC body class
	remove_filter( 'body_class', 'wc_body_class' );
}

add_filter( 'woocommerce_enqueue_styles', 'conditionally_woocommerce_enqueue_styles' );
/**
 * Unload WC stylesheets on non WC pages
 *
 * @param array $enqueue_styles
 */
function conditionally_woocommerce_enqueue_styles( $enqueue_styles ) {
	return is_wc_page() ? $enqueue_styles : array();
}
add_action( 'wp_enqueue_scripts', 'conditionally_wp_enqueue_scripts' );
/**
 * Remove inline style on non WC pages
 */
function conditionally_wp_enqueue_scripts() {
	if ( ! is_wc_page() ) {
		wp_dequeue_style( 'woocommerce-inline' );
	}
}

// add_action( 'init', 'remove_wc_custom_action' );
function remove_wc_custom_action(){
	remove_action( 'wp_head', 'wc_gallery_noscript' );
}
add_filter( 'woocommerce_admin_disabled', '__return_true' );
 

Kopiere einfach dieses Script und füge es in die functions.php-Datei deines WordPress-Themes ein. Nach dem Speichern werden die WooCommerce-Scripts auf Nicht-WooCommerce-Seiten deaktiviert, was zu einer verbesserten Seitenperformance führt.

Optimiere noch heute die Ladezeiten deiner Website, indem du unnötige WooCommerce-Scripts auf Nicht-WooCommerce-Seiten deaktivierst. Deine Besucher werden es dir danken, und du wirst eine schnellere und reibungslosere Benutzererfahrung bieten können.

Disclaimer

Das vorliegende Code-Snippet wurde nach bestem Wissen und Gewissen getestet. Ich stelle es zur freien Verwendung zur Verfügung. Es ist jedoch wichtig zu betonen, dass ich keine Garantie für die einwandfreie Funktionalität dieses Codes in allen denkbaren WordPress-Umgebungen übernehmen kann.

Die Nutzung und der Download dieses Code-Snippets erfolgen auf eigene Gefahr und Verantwortung. Es liegt in der Verantwortung des Nutzers sicherzustellen, dass der Code ordnungsgemäß in seine WordPress-Installation integriert wird und keine negativen Auswirkungen auf seine Website hat.

crossmenu