[Hummingbird] Optimisation problem

Leverage Browser caching don't work
Expired headers .... Even if they are there manually don't work
a lot of ressources are block ... I try many things I need your help ...

Thanks
I've let web site open for support via your applications

  • Adam Czajczyk

    Hello Frederic

    I hope you're well today and thank you for your question!

    I checked your site and it seems that the browser caching is enabled by the plugin but not necessarily supported/enabled by server. Th assets on site (JS/CSS) are not optimized at all.

    Browser Caching

    The Hummingbird detects that the rules has been added to .htaccess but it also reports caching time as undefined/false and that it's not working properly. The first thing to check is to make sure that server configuration is valid (browser caching is actually handled by the server and Hummingbird only "triggers" it if possible). Could you please get in touch with your host tech support and ask them if:

    - the "expires" module (mod_expires for Apache, ngx_http_headers_module for NGINX) is enabled and if not if they could enable it for you?
    - if it is already enabled, if it's allowed to configure it via .htaccess or not?
    - if they could check (and adjust if necessary) its configuration to let you control it via .htaccess?

    Asset Configuration

    Please go to the "Hummingibird -> Asset Optimization" page and activate "Asset Optimization". A popup performing a test will show first, so disable "WPMU DEV CDN" there and wait until test finishes. Once it does, switch the Asset Optimization to "Advanced" mode:

    After that on a list of CSS and JS resources you'll see a set of buttons next to each file: compress, combine, move to footer and inline for CSS and compress, combine, move to footer and load after page is loaded for JS.

    The goal here is to set as many of them to have as many of these buttons enabled as possible while not letting the site to break. It's a daunting task that might take time and is more of a "trial & error" procedure rather than a "strict science" as there's no universal configuration and it's different on each and every WP Install. But it can help a lot.

    The usual procedure is to take two or three files from the top of the list and "experiment" with these switches until you get most of them enabled and the site is still running fine(please note, until each change is saved you need to visit the front-end of the site to made the changes applied). So, you'll need to constantly control the front-end to make sure that nothing breaks there.

    Once you got these two-three files set, move on to the next two or three and so on until the end of the list. This should let you optimize resources (and reduce "render blocking resources" issues) as much as possible without breaking the site.

    Then, once that's set up, you would want to try to enable WPMU DEV CDN and see if it helps or not. In most cases it helps a lot but sometimes it's better to keep it disabled so that has to be checked too - but it's best to test it once the Asset Optimization is fully configured.

    Apart from this I would also highly recommend following changes on site (it would be best to make them before setting up Asset Optimization, not after!)

    1. Increase WordPress memory limit

    Currently PHP is allowed to use up to 256M of memory but WordPress is still limited to its default 40M which is really small amount for that complex site. To improve it add following line to the "wp-config.php" file, right above the "/* That's all, stop editing */" line:

    define( 'WP_MEMORY_LIMIT', '256M' );

    2. Site is currently running on PHP 5.6.x

    It's quite an outdated version already and it would be good to switch to PHP 7.x (preferably 7.2.x). Usually there's an option to switch PHP for the domain in cPanel but if you don't have such option you might want to talk to you host. 7.2.x would provide better security and stability to the site and it should also give a nice performance boost out of the box as it's much faster than 5.6.x.

    3. Review and "clean up" plugins.

    Site's got 40 plugins active currently and some of them are adding additional JS scripts and/or significantly affecting performance.

    - Plugins such as for example All in One Migration (and its add-ons) or Broken Link Checker - there's no need to keep them active all the time, it's better to enable them only when they are necessary but otherwise keep them disabled.

    - you got SmartCrawl already installed and it supports sitemaps so I'd stick to that, there's no need for separate sitemap plugin there

    - I can see how handy it might be to have GTMetrix "at hand" right in the dashboard but it's a "resource-eater" and the site can always be checked on GTMetrix site; it's up to you but I'd advise against keeping it active on site

    - the same as above applies to any stat plugin; it's much less "resource hungry" to use stats like Google Analytics or similar instead of forcing WordPress to create and handle all statistics; again, that's of course up to you

    - there's a chance that some other plugins are not necessary or may have some "more lightweight" equivalents or could be replaced with some simple code in child theme or mu-plugin; that's worth considering though I'm not pointing at any specific ones because I don't know your site as well as you do and I don't know what features of the plugins you really need; but think about it :slight_smile:

    That all together should make things better in my opinion.

    Best regards,
    Adam

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.