Home  »  blog   »   Used WordPress Plugins

Used WordPress Plugins

Gtmetrix16042021 Min
Gtmetrix16042021 Min
Pagespeedinsights Desktop 14042021
Pagespeedinsights Desktop 14042021

The information below is mainly for our internal information. The provided information is related only to our website (Twentyseventeen theme). Modify something only when you know what you are doing.
Suggestions are welcome. You can also take a look at our used monitoring tools.

No.PlugIn namespeed improvements
1Ajax Search Litesee below
2Better Search Replaceno impact on speed
3CAOSnothing to do, works fine, great improvement
4Classic Widgetsmust have, for Gutenberg 5.8
5CLOU Seasonsself-made, for seasonal greetings and backgrounds
6Contact Form 7
7Disable Embedsno impact on speed
8Editorskit
9Flamingono impact on speed
10Forget Spam Commentworks great
11G Meta Keywordsno impact on speed
12Honeypot for Contact Form 7
13ImageKit
14Insert HTML Snippet
15Internal Links Manager
16Kaya QR Code Generatorclient side QR-code generation
adds 3.6 k Javascript, QR-code ready after about 250 ms.
17Lightweight Subscribe To Comments
18Listo
19MailPoet 3 (New)
20MailPoet 3 Premium (New)
21One Click Accessibilityreplaced by own plugin
22Polylang
23Pre-Publish Checklist
24Query Monitor
25Rate my Post – WP Rating System
26Spam Protect for Contact Form 7
27SVG-support
28Tako Movable Comments
29The SEO Frameworkis ok, rich results are deactivated and added manuallly in functions.php
30Theme and plugin translation for Polylang (TTfP)
31UpdraftPlus – Backup/Restore
32Watu Quiz
33Wordfence Security
34WP Crontrol
35WP-Optimizebetter than any other tested plugin for minification and caching
36WP-Polls

All code goes to the functions.php respective style.css of the child theme. Tested only with WP Theme 2017 and our used plugins.

General

Don’t load the standard fonts, we are hosting our fonts locally for GDPR purpose and speed.

/* don't load the standard fonts */
add_action('wp_print_styles', 'twentyseventeen_dequeue_styles', 100);
function twentyseventeen_dequeue_styles() {
wp_dequeue_style( 'twentyseventeen-fonts' );}

Remove all injected inline CSS in head. WordPress and some plugins are adding css with functions inside a class. Since dequeuing these things is no real fun, we use a little helper to remove all tags starting with <style… from the head. It’s quick and hassle-free, no matter who is injecting what. Make sure that all needed CSS is in the stylesheet.

/* remove all <style tags in the head
copy all injected CSS first and put it the child theme style sheet, if needed*/
add_action('get_header',function (){
	ob_start(function ($string) {
    $string = preg_replace( '@<(style)[^>]*?>.*?</\\1>@si', '', $string );
    return trim( $string );
	 });
});


add_action('wp_head',function (){
    ob_end_flush();
   }, 992);
   

Ajax Search Lite

We have made these tweaks:

/* Add search in menu bar */
function se_add_search_box_to_menu( $items, $args ) {return $items . get_search_form();}
add_filter( 'wp_nav_menu_items', 'se_add_search_box_to_menu', 10, 2 );

Remove the style-sheet and add the really required css to the Child theme style.css
/* don't load the style sheets for Ajax search, styles are in the child theme css  */

add_action( 'wp_enqueue_scripts', 'mywptheme_child_deregister_styles', 11 );
function mywptheme_child_deregister_styles() {
    wp_dequeue_style( 'wpdreams-asl-basic' );
    wp_dequeue_style( 'wpdreams-ajaxsearchlite' );
}

The additional inline CSS is removed with the function under General.

MailPoet 3

We don’t load the custom fonts

/* don't load the custom fonts for mailpoet */
add_filter('mailpoet_display_custom_fonts', function () {return false;});

MetaSlider

removed

Instead of a static image on top of all post/pages we are using MetaSlider. The shortcode is used in the Child theme header-image.php:

<div class="custom-header snow">
<div class="custom-header-media">
<!--	<?php the_custom_header_markup(); ?> -->
<?php echo do_shortcode('[metaslider id="4372"]'); ?> 
</div>
<?php get_template_part( 'template-parts/header/site', 'branding' ); ?>
</div><!-- .custom-header -->

The additional class ‘snow’ is used together with the css for generating snowflakes as overlay. This css is only activated for a certain period of the year.

Remove the Twentyseventeen SVGs

The page body includes plenty of svg-definitions. We need only a few.

/* remove the svg icons*/
function remove_parent_svg_icons()
    {
        remove_action('wp_footer', 'twentyseventeen_include_svg_icons', 9999);
    }
add_action('after_setup_theme', 'remove_parent_svg_icons');

Then add what we need to the child-theme footer.php. Copy the required symbol definitions before you remove the svg icons.
Childtheme Footer
Childtheme Footer

Move styles from head to footer

Our solution so far

/*remove css from head*/
add_action( 'wp_enqueue_scripts', 'cl_unload_css', 9999 );
function cl_unload_css() {
    wp_dequeue_style( 'pojo-a11y' );
    wp_dequeue_style( 'contact-form-7' );
    wp_dequeue_style( 'cookie-bar-css' );
    wp_dequeue_style( 'editorskit-frontend' );
    wp_dequeue_style( 'twentyseventeen-ie8' );
}

/*add css to footer */

function cl_additional_stylesheets() {

wp_register_style( 'pojo-a11y', 'https://clouglobal.com/wp-content/plugins/pojo-accessibility/assets/css/style.min.css' );
wp_enqueue_style( 'pojo-a11y' );
wp_register_style( 'contact-form-7', 'https://clouglobal.com/wp-content/plugins/contact-form-7/includes/css/styles.css' );
wp_enqueue_style( 'contact-form-7' );


}

add_action( 'wp_footer', 'cl_additional_stylesheets' );

Final removals and substitutions

  ob_start();
add_action('wp_print_footer_scripts', function () {


    $html = ob_get_clean();
    
    /*logo*/
    $html = str_replace('alt="Logo" sizes="100vw"', 'alt="CLOUGLOBAL-Logo"', $html);
    
   
    /*remove the escape slashes in excerpt*/
	$html = str_replace("'", "'", $html);
	
	/*remove mailpoet inline style*/
	$html = str_replace('', '', $html);
	
	
    echo $html;
}, 0);

The above action replaces whatever comes in your mind before page/post caching. Here you can do final cosmetics for the html-source-code.

ImageKit Content Delivery Network

The minified JS and CSS files are with the Imagekit-plugin not linked to the CDN. WP-Optimize adds those files after the rewriting of the CDN was done.
To overcome this, we rewrite at the shutdown-hook, immediately before cacheing.
This solution also works with Shift8

ob_start();
add_action('shutdown', function () {
$html = ob_get_clean();
    
$html = str_replace("clouglobal.com/wp-content/cache", "yourCDN.../wp-content/cache", $html);
    
echo $html;
}, 0);

This is quick, dirty and efficient. Better solutions are welcome:)
The actual solution is running Shift8 ImageKit

Conclusion

All the above code is active running on this page. The information here is mainly for our maintenance staff. If you find something useful, leave a comment.

For fun, you can review the actual performance of the top 100 websites.

Thank you for taking a look.

Rate & Share

How useful was this info?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

LinkedInPinterestQzone
WeChat

scan QR-code

QR Code

Leave a Reply

Your email address will not be published. Required fields are marked *