Je WordPress website sneller maken

Een WordPress website kan behoorlijk snel zijn: WordPress is niet zozeer de vertragende factor. Wat de snelheid vaak drukt is een zeer configureerbaar theme, of een combinatie van een theme en heel veel plugins. De site kan dan met name traag worden doordat er erg veel css of js scripts afzonderlijk geladen worden.

Er zijn veel plugins die op elke pagina hun scripts laden, en dat is best zonde. Voor een aantal scripts heb ik hier de code gezet die dit verwijderd.

Verwijder comment-reply script en emoji scripts

(als je geen comments nodig hebt op je site natuurlijk)

//remove comment-reply scripts
function remove_comment_reply(){
wp_deregister_script( 'comment-reply' );
}
add_action('init','remove_comment_reply');


//remove emoji scripts.
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );

Verwijder de contact form 7 css en scripts

op alle behalve de contact pagina (alleen als je contact form 7 gebruikt natuurlijk)

add_filter( 'wpcf7_load_js', '__return_false' );
add_filter( 'wpcf7_load_css', '__return_false' );
$page = get_page_by_title( 'Contact' );
if (is_page($page->ID)) {
if ( function_exists( 'wpcf7_enqueue_scripts' ) ) wpcf7_enqueue_scripts();
if ( function_exists( 'wpcf7_enqueue_styles' ) ) wpcf7_enqueue_styles();
}

Verwijder scripts van events calendar

// DEREGISTER  JS / CSS for events calendar
function decalendarjs() {
if ( get_post_type()  !== 'tribe_events' ) {

wp_deregister_script('tribe-events-pjax');
wp_deregister_script('tribe-events-calendar-script');

    }
}
add_action( 'wp_print_scripts', 'decalendarjs'); // now just run the function

function decalendarcss() {
if ( get_post_type()  !== 'tribe_events' ) {
wp_deregister_style('tribe-events-calendar-style');

    }
}
add_action( 'wp_print_styles', 'decalendarcss'); // now just run the function

Verwijder woocommerce scripts op niet woocommerce pagina’s

/**
 * Optimize WooCommerce Scripts
 * Remove WooCommerce Generator tag, styles, and scripts from non WooCommerce pages.
 */
add_action( 'wp_enqueue_scripts', 'child_manage_woocommerce_styles', 99 );

function child_manage_woocommerce_styles() {
 //remove generator meta tag
 remove_action( 'wp_head', array( $GLOBALS['woocommerce'], 'generator' ) );

 //first check that woo exists to prevent fatal errors
 if ( function_exists( 'is_woocommerce' ) ) {
 //dequeue scripts and styles
 if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
 wp_dequeue_style( 'woocommerce_frontend_styles' );
 wp_dequeue_style( 'woocommerce_fancybox_styles' );
 wp_dequeue_style( 'woocommerce_chosen_styles' );
 wp_dequeue_style( 'woocommerce_prettyPhoto_css' );
 wp_dequeue_script( 'wc_price_slider' );
 wp_dequeue_script( 'wc-single-product' );
 wp_dequeue_script( 'wc-add-to-cart' );
 wp_dequeue_script( 'wc-cart-fragments' );
 wp_dequeue_script( 'wc-checkout' );
 wp_dequeue_script( 'wc-add-to-cart-variation' );
 wp_dequeue_script( 'wc-single-product' );
 wp_dequeue_script( 'wc-cart' );
 wp_dequeue_script( 'wc-chosen' );
 wp_dequeue_script( 'woocommerce' );
 wp_dequeue_script( 'prettyPhoto' );
 wp_dequeue_script( 'prettyPhoto-init' );
 wp_dequeue_script( 'jquery-blockui' );
 wp_dequeue_script( 'jquery-placeholder' );
 wp_dequeue_script( 'fancybox' );
 wp_dequeue_script( 'jqueryui' );
 }
 }

}

Verwijder Jetpack CSS


//remove jetpack css


// First, make sure Jetpack doesn't concatenate all its CSS
add_filter( 'jetpack_implode_frontend_css', '__return_false' );

// Then, remove each CSS file, one at a time
function jeherve_remove_all_jp_css() {
  wp_deregister_style( 'AtD_style' ); // After the Deadline
  wp_deregister_style( 'jetpack_likes' ); // Likes
  wp_deregister_style( 'jetpack_related-posts' ); //Related Posts
  wp_deregister_style( 'jetpack-carousel' ); // Carousel
  wp_deregister_style( 'grunion.css' ); // Grunion contact form
  wp_deregister_style( 'the-neverending-homepage' ); // Infinite Scroll
  wp_deregister_style( 'infinity-twentyten' ); // Infinite Scroll - Twentyten Theme
  wp_deregister_style( 'infinity-twentyeleven' ); // Infinite Scroll - Twentyeleven Theme
  wp_deregister_style( 'infinity-twentytwelve' ); // Infinite Scroll - Twentytwelve Theme
  wp_deregister_style( 'noticons' ); // Notes
  wp_deregister_style( 'post-by-email' ); // Post by Email
  wp_deregister_style( 'publicize' ); // Publicize
  wp_deregister_style( 'sharedaddy' ); // Sharedaddy
  wp_deregister_style( 'sharing' ); // Sharedaddy Sharing
  wp_deregister_style( 'stats_reports_css' ); // Stats
  wp_deregister_style( 'jetpack-widgets' ); // Widgets
  wp_deregister_style( 'jetpack-slideshow' ); // Slideshows
  wp_deregister_style( 'presentations' ); // Presentation shortcode
  wp_deregister_style( 'jetpack-subscriptions' ); // Subscriptions
  wp_deregister_style( 'tiled-gallery' ); // Tiled Galleries
  wp_deregister_style( 'widget-conditions' ); // Widget Visibility
  wp_deregister_style( 'jetpack_display_posts_widget' ); // Display Posts Widget
  wp_deregister_style( 'gravatar-profile-widget' ); // Gravatar Widget
  wp_deregister_style( 'widget-grid-and-list' ); // Top Posts widget
  wp_deregister_style( 'jetpack-widgets' ); // Widgets
}
add_action('wp_print_styles', 'jeherve_remove_all_jp_css' );

Installeer Fastest Cache

Installeer hiernaast de caching plugin Fastest Cache. Dit werkt altijd ontzettend goed. In enkele gevallen kan je deze plugin niet gebruiken: soms cached de plugin ook zaken die niet gecached moeten worden, zoals winkelwagentjes etc. Maar met Woocommerce werkt het dan weer wel goed.

Als je Fastest Cache installeert, vink dan eigenlijk alles aan bij de instellingen. Met name het minifyen en combineren van scripts heeft veel impact.