Introducing: HELL for WordPress

OMGF! After bringing CAOS to WordPress, I’m now raising HELL in WP-land. In case you wondered, HELL stands for: Host Everything LocaL.

What is HELL for WordPress!?

In my days as a WordPress Optimization Super Hero I have built tons of mini plugins to fix one problem: remove unnecessary requests. Or, to use more technical terms, dequeue or remove a certain stylesheet or script, and in some cases, where an external file was being loaded: host it locally.

Why is Local Hosting such a Big Deal?

To load a website, the browser connects to the domain entered in the address bar. Then the server connected to that address starts requesting resources to build up the webpage. When it requests resources from other domains (3rd party services) the browser needs to make a round trip to fetch the resource from that external domain.

Plenty of tools have been invented to help speed up the loading of external resources, such as preconnect. But none of these tools can make an external resource load quicker than a local resource. Even with HTTP/2 enabled.

Why? Because the loading speed of the external resource depends on the speed and stability of the 3rd party’s server, and more importantly: the resource can only be loaded after the browser finds that the webpage requests it.

What does this mean for my WordPress site?

Basically all themes and plugins include external scripts or styles. The most common examples being icons, e.g. Font Awesome, and Google Fonts.

It makes sense to include them, too. A theme designer or plugin developer can’t know if your WordPress install is already using e.g. a certain icon pack. So they include it to be sure their theme or plugin will be displayed as intended.

Some of them also include an option to disable external scripts or stylesheets, but sadly most of them don’t.

This means that your theme and some of your plugins are probably loading their own version of the same file twice, or even thrice.

  • The Wait is Over.

    Get the Newsletter you've always wanted, now!

    Sign up to receive Biweekly, Free Optimization Tips for WordPress.

    No spam. I promise.

  • How does HELL for WordPress solve this?

    Consider HELL for WordPress a Swiss Army knife for chopping requests. It’s an all-in-one solution to remove any script or stylesheet loaded by your theme and plugins and replace externally hosted files with a locally hosted copy.

    If your WordPress installation is e.g. loading duplicate Font Awesome icon packs, you can easily remove one of them from pageload, by entering either their source or handle in the ‘Remove’-section.

    Maybe your theme loads an updated version of jQuery (or another JavaScript library) directly from the source, render blocking your pages. HELL for WP’s auto-detect feature will present you with a complete list of external resources requested by your theme and plugins. Tailor the list to your needs, click ‘Download’ and HELL will make sure the externally hosted version is replaced with a local copy.

    Can HELL for WordPress host all 3rd Party files locally?

    Stylesheets, yes. Although you might have to move some other files. JavaScript, no. It all depends on the way the script is written. Some scripts rely on local (secure) resources, which aren’t accessable anymore after the script is ‘moved’.

    If a script doesn’t allow local hosting, HELL allows you to add a dns-prefetch or preload header to still boost its performance on browser that support it.

    Awesome! But it sounds Dangerous.

    I didn’t call it HELL for WordPress just because it’s a fun abbreviation — actually I did. But if not handled with care, it can actually be hell. For WordPress (pun intended.)

    In other words:

    With great power, comes great responsibility.
    With great power, comes great responsibility.

    Alright. I’m Excited, but also a little bit Scared.

    Completely understandable. Optimizing WordPress is a scary topic for many of us and HELL is no exception.

    Truthfully, HELL for WordPress is like your favorite, friendly robot assistant — with the tendency to kill you if you don’t treat it right.

    Are you scared (and convinced) yet? Then hire me to configure HELL for WordPress for you and let’s speed up WordPress so much it hurts or, try it yourself. Tread carefully.

    Daan van den Bergh

    Daan van den Bergh is a carefully seasoned web developer. His methods consist of thinly slicing your website’s beef and serve you with a platter of the best performance carpaccio on a bed of rocket — the only thing he’s more passionate about is food. Hire him at ffwp.dev.

    5 thoughts on “Introducing: HELL for WordPress”

    1. Hi Daan,

      Your approach to lite-weight WordPress plugin development is extraordinary. While CAOS does things I don’t need, it does everything I do need without the bloat. Kudos, and thank you.

      OMFG shouldn’t be needed in a perfect world, but quite simply put, catering to clients requests for “their font” was made a lot easier with your plugin. You write code like I wish I had the time to. Only your code is better than mine any day.

      Thanks for the work put into HELL – and as an act of good faith, I’ll try this on a website with 1k per day to see how it performs.

      Because even though we should all optimise the performance of every one of our applications, I wouldn’t have the time to do this work in a million years.

      And as a kicker, my test site has the same theme as you do…so let the testing begin.

      Kind regards,
      Michael

      Reply
      • Hi Michael,

        Thanks for the great compliments!

        I always take the time to lift up the codebase of my plugins. Whenever I learn something new, I take the time to refactor and till now it always pays off. :-)

        You also use Bimber? It’s an awesome theme. It’s already very speedy and built efficiently, but HELL allowed me to easily optimize the recommended plugins that it comes packed with.

        Good luck, testing HELL. If you run into any bugs, don’t hesitate to reach out!

        Reply
    2. Hi Daan,

      Definitely echo Michael’s views. Nothing much that I can add. Going to give Hell a try and see if I can use it at some point.

      Love using CAOS, also, but is there any chance we can turn off this comment or the inline script if it isn’t necessary. Autoptimize seems to be missing it.

      script // You’re always allowing cookies. No additional script is needed. /script

      Maybe it sounds overly pedantic, but all these little things add up. :)

      Cheers,

      David

      Reply
    3. Hi dan, firstly thank you for this amazing resources you give to the community.,
      When trying to use Host everything local i get this error “http_request_failed: A valid URL was not provided.”

      Any idea why or what are the required settings? as i could not find any tutorials on this.?

      Reply
    4. Hi Daan,
      Very bold and fascinating endeavor

      I’m relatively new to this world, and was actually looking for something like this when I got dismayed in horror by what all the external applications do to my nicely optimized gtmetrix waterfall

      I’m considering this for two applications: 1) A chat plugin – Hubspot All in One Marketing and a 2) Facebook pixel currently run using Pixel Caffeine plugin.

      Can I expect it to work? Any guidance?

      Kind regards,
      Adhlan

      Reply

    Leave a Comment

    This site uses Akismet to reduce spam. Learn how your comment data is processed.