[Hummingbird] HummingBird : combined files and critical CSS

Dear support team,

I'm trying to wrap a single-page website and I'm at the point where I set up the asset optimisation.

In Hummingbird, I've set it up as I think it'd work (still have to test if it didn't break the page), but when I go the DevTools, I see that the css isn't minified.

How may I double-check that asset optimisation has worked or not ?

(I've enabled support access).

Also, a while back, Konstantinos suggested that I use a critical css in the head : https://wpmudev.com/forums/topic/hummingbird-report-shows-performances-can-be-better#post-1345256

I've tried to do so, but the link he gives has a certificate issue and besides it returns weird results :

https://i.postimg.cc/NMV6RyPq/br2.png

It doesn't match Konstantinos' screenshot.

So, I've tried the following generator : https://jonassebastianohlsson.com/criticalpathcssgenerator/

But it gives me a single line : body{color:#202020}

So, at this point, I don't really know how to optimise my website…

Could you please help me sort this out ?

Regards,

Greg

  • Adam
    • Support Gorilla

    Hi Greg

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

    As for general asset optimization. I checked the site and this seems to be working fine. I checked Hummingbird’s Asset Optimization settings and I took a look at JS/CSS resources in browser console – that all matches up.

    Note though: there are some resources that are not set to be minified which is fine as not always all must/can be minified in order to keep the site running fine. The “combine” option is disabled (grayed out) for all resources and that (along with a look at “waterfall” report in browser console) suggests that site (server) supports HTTP/2 which means that combining resources is unnecessary because they are in fact loaded (or rather fetched) in parallel – as opposite to a standard HTTP protocol.

    So that’s fine. Additionally, you got WPMU CDN enabled in Asset Optimization settings and you can also confirm that by looking into “Network” section (for ease of use switch it to JS or CSS tab) of a browser console – you’ll see that some resources (those that are set to be optimized with Asset Optimization) are loaded from “hb.wpmudevcdn.com” domain. If you click there on any of these resources you’ll also see a minified code :slight_smile:

    The bottom line is: this aspect is working fine and to make it a bit better you might want to try to set “compress” option for some more CSS/JS files in Asset Optimization but that’s mostly a matter of “fine tuning” – to see how “far” you can go with this without breaking the site.

    As for “critical CSS”. It seems that the SSL certificate of that generator that Konstantinos suggested had expired just yesterday, I believe it’s just that someone “overlooked” that. The tool seems to still be working fine. It currently generates this code for me on your site:

    <style>html{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;font-weight:400;max-width:100%;line-height:1.4}@charset "UTF-8";</style>

    and it is possible that this is the only one that’s “critical”, it’s different for different setups. The additional JS code in the second text box can be ignored as Hummingbird already handles that. However, you could try that generator once again but in a slightly different way:

    temporarily disable Asset Optimization (it should keep setting when you enable it back but you might want to make a screenshot of current config just to have it at hand in case you’d need to set it up again) and clear caches and then run that generator.

    See if it gives you more code and if so, enable Asset Optimization again, use that code on “Asset Optimization -> Tools” page, then run re-check files just like Konstantinos suggested, then “inline” that “wphb-critical-css” file, leaving it in a header.

    Best regards,

    Adam

  • Adam
    • Support Gorilla

    Hi Greg

    Thank you for your replay!

    The code I got, that I shared in my previous response, was from that same critical CSS generator. But I see that it’s now giving me the same code that you’re showing on screenshot. Furthermore, it’s also failing when I attempt to download any of the codes. It’s possible that it just fails, it’s a 3rd-party tool and we have no way of knowing about what’s happening “under the hood”.

    This tool, however, gives much more code and at the first look this code seems more relevant:

    https://pegasaas.com/critical-path-css-generator/

    Give it a try, please, and let’s see how it goes. Please note though: while this tool seems to detect the CSS right, it’s still an automated tool and using that critical CSS might help or not (or even make things worse) so it’s important to remember that all such “optimization activities” are usually a “trial and error” actions :slight_smile:

    Best regards,

    Adam

    • Greg
      • HummingBird

      Dear Adam,

      Thank you for your help.

      I think that it works now.

      I’ve added the CSS to the HB option and the wphb-critical-css file is loaded in the head and visible in the asset optimisation tab.

      I’ve now reanabled the asset optimisation, but I did not use the WPMU CDN yet, because I want to test everything before I do.

      The icons are now showing “loading” and nothing really happens. Is the process stuck ?

      I’ve visited the homepage several times.

      I also granted support access, if need be : https://solutionsvisuelles.fr/

      Regards,

      Greg

  • Adam
    • Support Gorilla

    Hi Greg

    I checked the site and they got stuck indeed. I’m not sure why, though. However, after I cleared cache (“Hummingbird -> Dashboard -> Clear Cache button”:wink: and visited the site again in separate browser, they got processed.

    There are still some files that are not but if you hover over that “spinning wheel” icon there’s an explanation for this: they’ll be processed when the site is visited and they are actually requested – so basically, if a given asset is used only in a specific “scenario” (for example only specific mobile device in specific view) it might indeed wait quite long there, until that scenario happens.

    Best regards,

    Adam

  • Adam
    • Support Gorilla

    Hi Greg

    I checked the site again and could see those “stuck” resources. But I’ll stick to original diagnosis: as the “spinning wheel tooltip” says – they’ll be processed once someone visits the page and they are requested.

    Here’s what I did:

    – first I visited the site in incognito mode (so no browser cache, nothing stored locally) to trigger the cookie notice; once I accepted cookie message and refreshed the site, the cookie notice related asset stopped “being stuck” and is now listed as optimized

    – I don’t have retina screen device so I asked one of my friends with retina equipped Mac to visit the site and that caused retina.js to be processed

    – then used a real mobile device (my smartphone) instead of just browser’s “responsive mode” and some more assets got “unstuck” (I”m sorry I forgot to note down which ones)

    – finally there are still two JS assets that are marked with a spinning wheel but apparently I wasn’t able to “trigger” them and that might mean that while they are “registered with the site” (by the theme in this case) they are either not used at all on site or are used in very specific case that I didn’t find.

    The bottom line is, I believe it’s working fine and those two scripts can be simply ignored. It’s not that processing them will suddenly speed up the site 3 times, the impact of just two little scripts would be really small (probably not even noticeable) on a simple site. But I think they are just not used anywhere after all.

    Best regards,

    Adam

  • Predrag Dubajic
    • Support

    Hi Greg,

    The largest impact on your site is the time to first byte (TTFB) which is the time for your server to respond after the request from the browser is sent.

    This value can be somewhat improved by enabling page caching but it’s mostly related to the server itself and the time it takes for it to respond.

    Your TTFB is currently taking almost 50% of the total time that it takes for your site to load, so improving this should cause large improvement for your overall score.

    Can you get in touch with your hosting provider so they can check this out and see why the server response times are so low?

    In the meantime could you grant support access again, as it has expired, so we can have another look at your HB settings as well?

    Best regards,

    Predrag

    • Greg
      • HummingBird

      Dear Predrag,

      I’ve re-enabled support access, as requested.

      I’ll also see with my hosting provider what could be done about that.

      On the Google Speed test, there seems to be much more than just the TTFB, or am I missing something ?

      For instance, the render-blocking ressources (hb.wpmucdn.com or googleapi). Or will the HB asset optimisation fix that ?

      Regards,

      Greg

  • Adam
    • Support Gorilla

    Hi Greg

    Thanks for granting access again.

    I check current Asset Optimization settings and compared them against what PageSpeed currently reports (a note: when comparing this use “desktop” view on PageSpeed as Hummingbird is also currently using only the “desktop” one; the “mobile” should be added in future) and I checked specific resources reported as “render blocking”:

    1. there are three Google Fonts resources reported

    You can’t affect resources fetched from “3rd-party sources”, unless you actually make them local. There is a way to do this but it’s not a “one click solution”, therefore you can either ignore them or:

    – try to use this plugin https://wordpress.org/plugins/selfhost-google-fonts/ to make them local to your site

    – or follow this guide to “manually” make them hosted locally to your site: https://www.news47ell.com/how-to/host-google-fonts-locally-wordpress/

    I never tried the plugin mentioned above so I’m not sure if it will help (though it sounds like it should based on its description) but I did try that other way and it works perfect.

    Having these fonts served locally will let you optimize related resources (their CSS) with Asset Optimization so you’ll be able to address these 3 files reported by Google PageSpeed.

    2. There is one JS file reported.

    I checked this file source and it’s a jQuery Core library. Currently it’s not set in Asset Optimization to be moved to footer and/or loaded after the page is loaded. However, this is quite a specific file and in many cases (I’d say in most of them) it must be left intact and you just need to accept that it’s being reported. That is because in many cases moving it to the footer and/or forcing to be loaded after the page has loaded can cause quite unexpected troubles on site. It’s quite a critical resources. You could try to set these optimization options for it and see if that breaks the site or not, as you can always change them back if anything goes wrong.

    3. The CSS files (served from WPMU CDN)

    – “wphb-critical-css”: it’s currently only compressed but you should try to inline it too

    – “font-awesome”: it’s currently not set to be moved to footer and/or inlined – see if you can apply any of these options (or both of them) without breaking the site

    – “ub_cookie_notice”: you can try to set “inline” option for it

    – “elo-theme”: you can try to set “inline” option for it

    – “jquery-lazyloadxt-fadein-css”: you can try to set “inline” option for it

    – “a3a3_lazy_load”: you can try to set “inline” option for it

    Making these changes can help to minimize the “render blocking resources” issue but please be aware that it may not be possible to get rid of all of them. It’s worth remembering that the way the resources are loaded does affect the way site is working and it’s very individual to a specific setup how changing that way would affect site’s behavior. Moving the same file to the footer on one setup will just fix the “render blocking resources” issue, on other one will not have any significant effect and on yet another one might break site display. That’s why this is mostly a “trial and error” procedure – so you want to go “as far as you can” without affecting site’s behavior. If you see that some optimization option starts to break the site, that’s a sign that it should be reverted and it might need to be ignored.

    At some point, when you cannot go any further, then only way – if it comes to asset optimization – to optimize it more is to do a serious “re-development” of the site, sometimes to the level of a complete (or major) custom coding. Often it’s just not worth the time and effort as benefits will not outweigh potential speed/performance boost.

    To sum it up: try applying these changes described above, one by one, and see how many of them can actually be applied without site “going wild”. After that check PageSpeed again and see if that reduced the “render blocking resources” issue.

    As for the TTFB, this is actually quite an important thing and while it might not have that big impact on the score (but we don’t know the Google algorithms) it certainly have an impact on a “subjective perception” of the site loading speed. Usually, I’d suggest starting with enabling Page Caching to reduce it as it often helps quite a lot but I see that it’s already enabled on site. Second thing in a row would be to make sure that the site is running on PHP 7x (instead of still popular 5.x which is much slower) but it already is.

    What you could do would be to increase WP memory limit a bit, up to the level of PHP memory limit and you can do this by addition following line to the “wp-config.php” file of the site, right above the “/* That’s all, stop editing! */ line:

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

    That should at least increase site scripts’ stability a bit and might slightly improve performance, though usually it’s not a noticeable impact if it comes to TTFB. But it’s definitely worth setting anyway, in my opinion.

    Finally, if cache, PHP 7 and raising memory doesn’t reduce TTFB significantly, getting in touch with host would be necessary. If the server itself is of decent parameters, there’s most likely some “bottleneck” there such as some connection/requests/query/IO limits that are strict and that can only be changed by host (if they even allow this). Or it might be something even beyond host control (like e.g. their data-center issues or even their connectivity) and in such case the last resort option is to switch to a better/cloud host.

    Kind regards,

    Adam

    • Greg
      • HummingBird

      Dear Adam,

      Thank you for all your help.

      I’ve increased the memory limit.

      As far as asset optimisation is concerned, I’ve followed your guidelines. Everything you said about inlining, I did. But could you please tell me more about this option ? What does it mean ? How may I test if it’s working ?

      I’ve made modifications, but once again I can’t get the scripts to be triggered : https://solutionsvisuelles.fr/wp-admin/admin.php?page=wphb-minification

      As far as moving/defering scripts is concerned, I’ve already tested the jquery and fontawesome moving and it’s breaking the site.

      For TTFB, I’ll first enable my host CDN service (once asset optimisation is over), then I’ll test it again and ask them how it could be improved.

      Regards,

      Greg

  • Adam
    • Support Gorilla

    Hello Greg

    As for “inlining”.

    Most of the CSS on the site is stored in a file that’s then “enqueued” (sort of “included”:wink: into the site. Making it “inline” means that the CSS code from a file is instead directly included in a page source code. In other words: the CSS from the file is directly “printed out” along with HTML code. This reduces the number of requests that browser is making to the server in order to render a page. Therefore, it reduces server load and affects site performance (speed).

    As for changing options for FontAwesome and jQuery-core.

    Yes, that might be breaking the site. Like I mentioned previously, it’s worth giving a try but jquery-core is a specific library and in many cases changing the way it’s loaded might cause unexpected issues. Font Awesome is a bit different thing but is also one of those more “sensitive” aspects that in some cases must remain “untouched”.

    No optimization/performance tweaking plugin and tool is a “magic wand”, I’m afraid. There’s too many aspects that are involved and that means that there’s no “universal way” so all these options must be set individually for each site you’re trying to optimize and it takes some “experiments” to find the best “balance” between optimization and keeping the site fully operational at the same time.

    As for “triggering asset optimization”.

    I checked the site and it seems assets had already been processed, none of them is marked as still waiting (the little gray spinning wheel icon). PageSpeed insights is also showing much less “render blocking resources” than it did when I was writing my previous post. Currently reported resources are:

    – a CSS related to FontAwesome – which you already tried to optimize and it’s causing site to break

    – a jQuery core library – which you also tried and it must remain “as is”

    – three other assets are related to externally hosted Google Fonts and cannot be addressed unless you make Google Fonts local (see my previous response).

    Therefore, unless you do address these Google Fonts, I’d say this is as far as you can go with Asset Optimization.

    This leaves the TTFB issue and enabling that CDN that you mentioned might actually help here. If it doesn’t, the last “line of defense” is some server config optimization on host side or looking for other host that would better serve your site.

    Kind regards,

    Adam

      • Greg
        • HummingBird

        Dear Adam,

        I've talked to my hosting provider and here is what they tell me :

        We have made an in-depth investigation of the case and it seems like that the caching plugin of the site was not working and it was loading in over several seconds.

        I have set up W3 Total Cache with our optimal settings and now the site loads for under 1 second: https://tools.pingdom.com/#59e10557c7800000

        I've asked them for more information regarding this matter, I'll keep you posted.

        I also saw that the pingdom results are different from the Google ones :

        [attachments are only viewable by logged-in members]

        Do you know why it tells me that I'm using neither CDN nor gzip ?

        Do you know what I could do about "Make fewer HTTP requests" and "Add Expires headers" ? Is it related to hummingbird ?

        Regards,

        Greg

        • Greg
          • HummingBird

          Dear Adam,

          Sorry for these multiple posts, but I've received an answer from my hosting provider :

          Your current caching plugin was not generating cache at all so the pages were not cached even on the CDN because the cache headers were not set by the plugin.

          Overall we can check out the Hummingbird plugin but we recommend W3 Total Cache with our optimized settings.

          We can try to identify the issue with the Hummingbird but overall we can easily debug cases with W3 Total Cache.

          Do you think we could solve this ? Maybe by debugging HB's cache, I could use it and remove W3TC, which I'm not fond of.

          I also made an audit on GTMetrix and I've got different results, yet again, than in SpeedInsight and Pingdom.

          https://gtmetrix.com/reports/solutionsvisuelles.fr/gpxcV8i2

          [attachments are only viewable by logged-in members]

          – Do you know how to set expired headers for Google ressources ? Or is it impossible since they are third party scripts ?

          – Is GTMetrix missing the HTTP2 protocol or is there something wrong on the server ? There's supposed to be a single request with this protocol, isn't it ?

          [attachments are only viewable by logged-in members]

          How may I defer a script that is directly called within the HTML ?

          For instance, here is the code for the Google Map :

          <div style="margin:0px;padding:0px;overflow:hidden">
          <iframe title="Carte d'accès à EyeLoveOptic" src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d2812.068411801476!2d5.720599015548126!3d45.18571137909864!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x478af48fbf2491e9%3A0xff81bc747d42b982!2s17+Rue+Lakanal%2C+38000+Grenoble!5e0!3m2!1sen!2sfr!4v1541587953442" width="600" height="450" frameborder="0" style="border:0" allowfullscreen=""></iframe>
          </div>

          Thank you very much for your help and your follow up.

          Regards,

          Greg

          • Greg
            • HummingBird

            Dear Adam,

            Sorry for this multiple post, I hope you’re able to follow-up. If not, please tell me I’ll write a summary.

            Here is a new message they sent me :

            “It seems like that the minification file is created but not minified. For that, I would advise you to ask the Hummingbird support including the TTL for the cached files.

            For the file updates, I can see the spinning grey wheel with dots: http://take.ms/lsHLU

            So, I’m writting to you in order to know more about these TTL and the different conflicts between HB and my server. Maybe you’d like to get in touch with them in order to identify why the HB cache & CDN are incompatible with their technologies ?

            Regards,

            Greg

  • Adam
    • Support Gorilla

    Hi Greg

    Let me try to address the things that you mentioned “one by one”.

    1. Your host stated that “cache plugin wasn’t caching anything”. I’m a bit surprised by this but I’d need to check this. It can be checked but it seems that the support access to the site has already expired so I can’t access it to check. Would you mind enabling support access again for me?

    Also, it’s important to note that caching Page Cache and internal caching of minified/optimized resources is not the same tool. The did not mention what they checked so I’m not sure about it.

    2. The GZIP and CDN issues reported by Pingdom

    I checked that and can see that message there but apparently they are now not showing to which specific resources those apply. I’m guessing that it might also be related to some of external resources (like e.g. Google scripts) but what’s more important is that GTMetrix does not report the same. To be honest, I’d rather trust GTMetrix on this. GTMetrix pretty much only wants you to:

    – defer parsing of JavaScript (where two assets are from Hummingbird and most likely cannot be deferred without breaking the site – that’s the “compromise” that must be accepted) and other are from Google (and most likely cannot be deferred as well, taking into account your other question about Google Maps which I’ll address later below)

    – inline small JavaScript (where there are only 3 assets reported from Hummingbird but since I can’t access the site I can’t see the current Asset Optimization configuration for them so I’d need to check this).

    – leverage browser caching – but the only scripts are 3rd-party scripts so you cannot affect this, therefore that’s something you can’t address

    – minify some resources – but that I’d also need to check again

    The bottom line is: Pingdom was using Google PageSpeed API in the past but I’m not sure if they are still using it and in what version or if they are using their own tests but the test result are “unspecific enough” to be of any help – GTMetrix is much more reliable and helpful here as it actually lists resources that might need any action.

    3. Making fewer HTTP requrests

    In order to fetch the site browser makes multiple requests to the server. For example: each image, each CSS file, each JS file and so on – all are causing at least one (or more) requests. The more requests, the more time it takes to load the site usually. But that’s actually what Asset Optimization and page cache can reduce greatly.

    4. Expire headers

    That would basically mean getting browser cache enabled on site. It means that the webserver is adding a special headers to responses to the browser requests, causing browser to “cache” some resources locally, so they are not loaded form server when they are not necessary. If webserver supports that, Hummingbird should let you enable it. But again – GTMetrix doesn’t report this.

    Also, you can only set/change them for the resources that are served from your domain – not for 3rd-party resources.

    5.

    How may I defer a script that is directly called within the HTML ?

    For instance, here is the code for the Google Map :

    Does this mean that you got Google Maps (and possibly some other scripts) included on site like in the example, by loading them into an iframe? If yes, you can’t address that too. “Iframe” element is basically kind of “browser inside the browser” – there’s nothing to defer, you’re just loading “one page into the other page”. Scripts in WordPress shouldn’t be loaded that way, they should be enqueued instead:

    https://www.wpbeginner.com/wp-tutorials/how-to-properly-add-javascripts-and-styles-in-wordpress/

    However, in case of the map it’s not that you can just “enqueue” the file that you’re currently loading into iframe, it’s not that simple. Instead you should rather use some Google Maps plugin as it would properly register all the necessary scripts and these could then be addressed with Asset Optimization.

    So, I’m writting to you in order to know more about these TTL and the different conflicts between HB and my server. Maybe you’d like to get in touch with them in order to identify why the HB cache & CDN are incompatible with their technologies ?

    I’m not really sure. I feel like the response from the host is sort of a “ping-pong” response that doesn’t really explain much. I’ll need to take another look at the site if you don’t mind (and also check some of the things described above as well) so if you could, please, enable support access to it again – and let me know here – I’ll do this and then see what we could do next.

    Kind regards,

    Adam

  • Greg
    • HummingBird

    Dear Adam,

    Thank you very much for your great answer.

    I’ve granted support access for another week.

    1) Is there anything specifically that you’d like me to ask them ?

    5) For the Google Maps, I’ve copied and pasted the Gmaps code provided in the “embed” feature. I usually like to avoid extra third-party plug-ins (I mean, apart from yours ^^), but would you know a clean, safe and light GMaps plug-in ?

    For anything else, please feel free to come back to me for any questions you may have (for me or WPX Hosting).

    Regards,

    Greg

  • Adam
    • Support Gorilla

    Hi Greg

    Thanks for extending support access.

    I checked the site but in my opinion it’s a “no go” now: your host set W3 Total Cache but it seems they didn’t focus on configuration much and at this moment you got two plugins doing asset optimization at once. That’s something that shouldn’t be happening as it is and will interfere and may lead to quite unexpected issues, including actually performance drop. There’s nothing wrong with running both these plugins (W3TC and Hummingbird) together – though there’s no need to – but the configuration must be taken care of so no feature would overlap in any way.

    Anyway, I’m willing to give it another shot but can we for now agree that you host will not make any changes on the site itself? I might have some questions to them later (we’ll see about this) but would expect them to respond rather than do anything “on their own”. I hope that makes sens to you :slight_smile:

    I’d also prefer to get your permission first as I might be doing big changes: I’d export W3 TC configuration and disable the plugin, I’d backup HB configuration and reset it to default and then attempt to set it up again (having a look at current one to be able to restore it). This might take a moment and you might observe that the site is behaving weirdly for some short periods (I’m not saying it will happen for sure but it might) and some other “unexpected things” may happen meanwhile.

    Are you fine with this? Can you take a full backup of the site (just in case_) before confirming if you agree? I’ll then give it a shot and let’s see where it gets us.

    As for Google Maps. I can fully understand including maps this way. However, this also means that you cannot optimize any of these scripts. Switching to the plugin might also be beneficial in other ways – as it would give you some additional features that you might find useful. There’s actually quite a lot of Google Maps plugin available for free in wordpress.org plugin repository but I’d suggest giving our own one a try:

    https://wpmudev.com/project/wordpress-google-maps-plugin/

    Best regards,

    Adam

    • Greg
      • HummingBird

      Dear Adam,

      Thank you for your answer.

      First of all, I’ll use the Google Maps plug-in, I’ll set it up once we’ve sorted out the rest.

      A quick note about my host : WPX is tailored to WP, so they provide built-in features for security, CDN, Backup (daily, no issues there), performances, etc.

      The W3TC is installed, according to them, with their built-in settings.

      Since it conflicts a lot with HB, I want to remove one of them. I wanted to keep HB alone, but if they both provide the same level of service (minification, cache, etc.) then I guess there is no need for both.

      On one hand, HB is more feature rich than W3TC. On the other hand, I could rely only on the host for performance optimisation, and then use HB only for features that are missing there.

      What do you suggest ?

      Are you certain that W3TC and WPX CDN are enough ? It doesn’t seem to me that they have such “move to footer”, “inline”, “defer”, etc options on asset optimisation.

      The website is backed-up daily and nothing in content or theme will change, you may do anything you feel is required.

      Regards,

      Greg

  • Adam
    • Support Gorilla

    Hi Greg

    I didn’t mean to “despise” your host in any way. My point was only that we should at all cost avoid two separate and not related supports working on the same issue at the same time and that while they might have W3TC set to “their configuration” that certainly doesn’t take enabled and configured Hummingbird :slight_smile: So, that can cause interference. I’m sorry if I caused confusion and I apologize if that sounded like I was trying to “devalue” your host. That wasn’t my intention!

    Anyway. if they – as a WP-dedicated host – prefer and suggest W3TC and they do have their own configuration of it that’s specific to their host, it’s worth a try. Hummingbird is a great tool and it provides more control if it comes to asset optimization. But while we’re doing everything to make it as universal as possible, I”m afraid it’s not a “magic wand” and there might be cases (hopefully less and less of them) where it’s actually not giving as good results as expected or – as some other plugin with a configuration specifically tailored for a specific server setup. That’s understandable :slight_smile:

    The bottom line is: in that case I think you should just test it. Clear all the caches on site, switch off Hummingbird entirely, clear caches again and see how the site behaves with W3TC installed only; test it with Google PageSpeed and GTMetrix too and you should see whether it’s better or worse or the same. In my opinion that’d be the best foundation for a decision whether to use one or another.

    I think it’s worth taking into account that your site setup is quite unusual so the results – with any optimization plugin – might also be not “typical” but still, that’d be the most straightforward and reliable test at the same time :slight_smile:

    Best regards,

    Adam

    • Greg
      • HummingBird

      Dear Adam,

      Thank you for your input. I wish there was a magic wand…

      I’m surprised that you’d say my site setup is not typical. For DEFI-Écologique, I agree, but this website is a onepage website with a contact form, I don’t know what’s unusual about that.

      while they might have W3TC set to “their configuration” that certainly doesn’t take enabled and configured Hummingbird

      And what about the two of them in binomes ? Do you think it could compare with a full HB if the other half is properly setup ?

      Regards,

      Greg

  • Adam
    • Support Gorilla

    Hi Greg

    Yes, you’re right – this setup isn’t actually that unusual, the “DEFI” one is, that is the one I had in mind when calling it “unusual”, I’m sorry about that. However, just read my most recent post again and that doesn’t change much about the other things that I wrote :slight_smile: In fact, there’s no “typical results” at all if it comes to asset and performance optimization in any case. Each and every site is individual and we need to treat it as such. Granted, with some setups it is much easier to configure everything, with some it’s much more difficult but still – there are no two identical cases :slight_smile: Once again, I’m sorry for that confusion.

    As for W3TC and Hummingbird. You mean like two of them working together? Yes, they can but the configuration of both must be very carefully setup up. That’s what I meant by saying that your host didn’t take that into account: they set W3TC not checking HB configuration to make sure that features enabled in both are not overlapping (for example, there are some minification options enabled in W3TC which basically interacts with Asset Optimization).

    Like I said, in this case it’s best to just test: compare site performance (and to be honest, it’d be best to compare “subjective” perception of performance) with only HB and with only W3TC and see what works best for you.

    It’s possible then to “mix up” these two but I honestly don’t see it worth the effort and much different – except for more complication – than sticking to HB itself. Or, for that matter, W3TC instead if it works better for you (of course I would advocate for our own HB but I need to take into account what’s best for you so there can be an exception – if W3TC works better “out of the box”:wink:.

    Best regards,

    Adam

    • Greg
      • HummingBird

      Dear Adam,

      I agree with you and I’d like to stick with HB. But when I had the excessive TTFB issue, the hosting provider told me :

      We have made an in-depth investigation of the case and it seems like that the caching plugin of the site was not working and it was loading in over several seconds.

      So, would you know a way to inquire about that ? Maybe there’s a fix to add to HB or something ?

      Regards,

      Greg

      • Greg
        • HummingBird

        Dear Adam,

        I went ahead and asked exactly what was wrong with HummingBird.

        the page cache delivered from your plugin HummingBird has not worked which has caused a high CPU usage because of loading all of the content without caching on each iteration.

        Has Krasimir been able to identify exaclty what caused this HummingBird caching issue ? I’d like to be as specific as possible when I ask them a fix for it.

        I am truly sorry but unfortunately, we can not determinate the reason why HummingBird does not generate a caching since we are not aware of the plugin development.

        All you need to know is that when HummingBird works as stand-alone caching plugin without another caching solution enabled, the cache has been not generated properly and the website takes all the traffic directly,

        Their support should be able to check this matter, when disabling W3TC and test the caching functionality of their plugin.

        Would you be able to find out why HB isn’t generating the cache, based on this elements ? Should I ask them more specific questions ?

        Regards,

        Greg

  • Adam
    • Support Gorilla

    Hi Greg

    Ok, that’s something more specific then. And yes, we can check this. I’ll just need to disable W3TC temporarily, enable Hummingbird caching and do some more tests on the site.

    However, since caching – and whether it works or not – is directly related to reading/writing to the server, I’m afraid the support access won’t suffice in this case. I’d need direct access for the site then to be able to check this. You can send it to me the same way as you did in case of the other site of yours:

    Note: Don’t leave your login details in this ticket.

    Instead, you can send us your details using our contact form https://wpmudev.com/contact/#i-have-a-different-question and the template below:

    Subject: “Attn: Adam Czajczyk

    – Site login URL

    – WordPress admin username

    – WordPress admin password

    – FTP credentials (host/username/password)

    – cPanel credentials (host/username/password)

    – Folder path to site in question

    – Link back to this thread for reference

    – Any other relevant urls/info

    Best regards,

    Adam

  • Predrag Dubajic
    • Support

    Hi Greg,

    Thanks for sending those in, after further checking the issue was tracked down to Forminator since the current way of form submission can have issues with caching enabled so it was disabled in HB due to that.

    Our devs are currently working on Forminator 1.6.1 that will have AJAX submission and allow disabling cache blocking.

    I have restored your current settings with W3TC caching until this new version is released.

    Best regards,

    Predrag

  • Greg
    • HummingBird

    Dear Predrag,

    So, you are telling me that there's nothing left to do until the forminator update ?

    It seems I can't disable HB browser cache :

    https://solutionsvisuelles.fr/wp-admin/admin.php?page=wphb-caching&view=caching

    [attachments are only viewable by logged-in members]

    Also, the Asset Optimisation isn't triggered anymore here :

    https://solutionsvisuelles.fr/wp-admin/admin.php?page=wphb-minification&view=files

    [attachments are only viewable by logged-in members]

    Regards,

    Greg

  • Predrag Dubajic
    • Support

    Hi Greg,

    I’m afraid not, but the good news is that next version is currently being tested by QA and if everything goes well during testing we should see it live soon.

    It seems I can’t disable HB browser cache :

    https://solutionsvisuelles.fr/wp-admin/admin.php?page=wphb-caching&view=caching

    Caching I was testing was Page Caching and didn’t made any changes to Browser caching.

    From what I see your browser caching is set to 1 year, while when you apply HB rules it sets it to 8 days, so this is probably something predefined on your server so it can’t be disabled via HB.

    Also, the issue we’re dealing with here is for Page caching, so there’s no need to change anything for Browser caching.

    Also, the Asset Optimisation isn’t triggered anymore here :

    https://solutionsvisuelles.fr/wp-admin/admin.php?page=wphb-minification&view=files

    This is being done when the file is loaded on frontend so that’s why you didn’t see it being processed right away, if you go to Asset Optimization panel now you will see that the files have been compressed.

    Best regards,

    Predrag

    • Greg
      • HummingBird

      Dear Predrag,

      Thank you for your help.

      I'm still having issues, with CSS this time. The character > in the file is translated to html :

      [attachments are only viewable by logged-in members]

      Would you know which specific aspect of HB asset optimisation triggers that ?

      Regards,

      Greg

  • Predrag Dubajic
    • Support

    Hi Greg,

    Can you tell me where you’re seeing that?

    I did check your installation one more time and it seemed that you didn’t re-check your asset optimization after there were some file changes so I did that now and can you have a look and check if that fixed the issue you mentioned?

    Best regards,

    Predrag

  • Predrag Dubajic
    • Support

    Could be caused by the outdated asset optimization and the re-check sorted it out.

    Anyways, glad to hear it’s gone now and if it does happen again could you open up a new ticket so we can investigate it further separately from this one as it’s already quite lengthy and can be confusing :slight_smile:

    Best regards,

    Predrag

  • Predrag Dubajic
    • Support

    Hi Greg,

    I was doing some extensive testing and it seems that the issue is with your custom theme and its main CSS file.

    When the file is loaded inline then the issue happens, and after disabling Inline CSS for your theme style.css the issue is gone.

    I have gathered all the information from my tests and passed it over to our devs so they can investigate this further and check why it is happening.

    Best regards,

    Predrag

    • Greg
      • HummingBird

      Dear Predrag Dubajic ,

      After a few back-and-forth with their support, I’ve been able to optimise this website.

      I still have a few questions, though.

      1) In your Google Maps plug-in, how may I create and use a map using a shortcode in a custom plug-in file ?

      2) The beta of the Smush CDN was slowing down the website (from 15 sec to 1sec after removing it). Is there a way to keep it up and running ?

      3) Would you have a release date for the new HB version ?

      Regards,

      Greg

  • Predrag Dubajic
    • Support

    Hi Greg,

    1) In your Google Maps plug-in, how may I create and use a map using a shortcode in a custom plug-in file ?

    Could you elaborate this a bit more?

    Are you trying to include shortcode in a custom file?

    You can use do_shortcode to add the map in PHP file, you would need to create it first in your WP admin and then add it like this in your desired file:

    echo do_shortcode( '[map id="1"]' );

    2) The beta of the Smush CDN was slowing down the website (from 15 sec to 1sec after removing it). Is there a way to keep it up and running ?

    As Smush CDN is still in beta there might be some issues on certain installations and our devs are currently working on further improving this option.

    Can you start a new ticket for this issue, with more information on how to replicate it on your end, and grant support access to site in question so we can investigate it further?

    3) Would you have a release date for the new HB version ?

    I’m afraid that we don’t have any released date to share but the new version is being prepared for QA team to test so we should see it live soon.

    Best regards,

    Predrag

    • Greg
      • HummingBird

      Dear Predrag,

      Thank you for your answer.

      1) The part I’m confused with is how to create it in the wp admin dashboard. I haven’t seen any menu item such as “add map” or “add address” or anything, just the display settings.

      2) OK, will do.

      3) Thank you for the update.

      Regards,

      Greg

  • Predrag Dubajic
    • Support

    Hi Greg,

    1) The part I'm confused with is how to create it in the wp admin dashboard. I haven't seen any menu item such as "add map" or "add address" or anything, just the display settings.

    Ah, sorry for not getting that part.

    You actually need to create new map from Page or Post editor, with classic editor there was an Add Map button next to Add Media button but with 5.0 and Gutenberg builder you need to add Map block.

    So you would need to add new page or post and add Google Map block:

    [attachments are only viewable by logged-in members]

    Once you add it you can create new map from there, and when you have one or more map you will see a list of your maps with their shortcodes on the right side:

    [attachments are only viewable by logged-in members]

    Hope this clears things up.

    Best regards,

    Predrag

  • Predrag Dubajic
    • Support

    Hi Greg,

    It seems that something on your site is breaking plugin functionality.

    First thing you should do is go to Settings > Google Maps Pro > Options tab and enter your map API key to connect the plugin to Google.

    After that you should try enabling default WP theme since you’re using a custom theme and it’s possible something from there is affecting plugin functionality.

    If that makes no difference try completely removing W3TC to see if any of its settings is causing this, you can read more about this here:

    https://www.webnots.com/how-to-completely-delete-w3-total-cache-plugin/

    If after that you’re still seeing the same issue you should perform a full conflict test by disabling all plugins except for Google Maps and try creating a new one then.

    Once the map is created and the post saved as a private post, is the map deleted if I delete the post ?

    Page is just used to create the map, deleting the page will not delete your map.

    So on whichever page or post you open map builder/editor you will see a list of all your existing maps.

    Best regards,

    Predrag

  • Predrag Dubajic
    • Support

    Hi Greg,

    This might help https://developers.google.com/maps/documentation/javascript/get-api-key#get-an-api-key

    Check Detailed Guide section for steps needed .

    Basically, go to Settings > Google Maps Pro > Options and in there you will see a link in "Get your API key here" text.

    From there select new project and create with "HTTP referrers (web sites)" selected for "Application restrictions".

    Once it's created go to Dashboard and click on "Enable APIs and Services":

    [attachments are only viewable by logged-in members]

    Enable "Maps JavaScript API" if it's not enabled already and that should be it.

    Best regards,

    Predrag

  • Predrag Dubajic
    • Support

    Hi Greg,

    Last year Google has changed the API limits for their maps and you probably reached that limit and that’s why it’s showing that error message.

    Clicking on the link provided in that error should give you more information about this and how you should resolve it.

    Basically, you would need to setup a billing account in order to increase the limitation, some further information can be found here as well:

    https://stackoverflow.com/questions/51685490/you-have-exceeded-your-request-quota-for-this-api-in-google-map

    Best regards,

    Predrag