Support » Plugin: Popup Maker - Popup for opt-ins, lead gen, & more » Good but kills Page Speed

  • troyw2015


    This is one of the easier Popup Plugins to use, if not, the easiest, which is great.

    However it absolutely crucifies the Page Speed. I have read some of the comments which claim the plugin only implements 2 or 3 actions, but still, it slows down page speeds by up to 50%.

    I have put up with for a long time and tried everything to fix it, but no luck. Even running just one Pop Up with simple text, it is a speed killer.

    Sorry to the developer for the bad review, but with Google’s Page Speed Insights as they are, Plugins need to keep up or risk bad reviews.

Viewing 1 replies (of 1 total)
  • Plugin Author Daniel Iser


    @troyw2015 – Would love to have seen the site in question, but I’ll give you the recap we have documented many times in these forums:

    In general this is what our plugin actually does on the front end:

    • Popup Maker has 1 css, 1 js file. We generate all that css and js ahead of time when you save popups. So no resources expended there, and even with our entire suite of extensions those 2 files would max out ~40kb
    • We run 2 extremely cacheable database queries. One for popups and the other for themes. Assuming your using a db/object cache on your site, that gets reduced to 0 queries.
    • We have 2 actions, one in the head that gets all popups and checks which should be loaded based on targeting rules.
    • When a popup should be loaded its content is run through do_shortcode to allow forms and such to properly load their css/js or other assets on time.
    • The content is then cached and rendered in the footer right before the body.
    • The popups themselves are nothing more than 3 or 4 <div> along with your own content inside them.
    • Popups are loaded with the page they are viewed on, not on demand. This is because most form plugins and other things users want to insert into our popups would not work if they were loaded via AJAX, their code simply wasn’t written to support such things.


    Ok so now that you know what we do, I want to cover where problems start occurring.

    1. Popups are not content heavy, literally run tests with dozen or even a hundrend empty popups on the page with no page load impacts, primarly because its still 1 css/js file, 0 queries and a few <div> for each popup. But if you have media in them, large images, videos, iframes etc, that content is loaded with the popups.
    2. You didn’t assign targeting rules to all of your popups, thus causing them to load on every page of your site (the default), even if they are never shown. You can confirm this by checking the “Popup Maker” menu in the top admin bar on those pages and see how many popups are listed. If its not only the ones you expect, this is hurting you.

      Even if you only use one popup, if you load them all hidden it means more content is loaded in them as well.

      You can also check out our Remote Content extension to load some types of content on demand, though again not compatible with most form plugins etc.

    3. Page speed scanners lie. Well not really, but they are misleading. Most are not simply a website scanner anylonger and were built to scan PWA, or progressive web apps like Facebook, Gmail etc where the page loads empty, then using AJAX loads in the sidebars, content etc.

      They do this by listening for extra requests for 30 seconds past the last detected request.

      Why does that matter, our popups do not activate until the page has completely finished loading, that is to say our JS doesn’t run til browser says its finished. If you had a time delay popup set to open after 10 seconds though and our default analytics enabled, then when that popup opens and the open tracking event is sent to the server, the page scanner detects it as another page load request and reports the new page load time as 10+seconds, which of course is not accurate, it was done loading before that popup’s 10 second timer ever started.

    So any combination of untargeted popups, heavy media, misleading scans etc can cause this, but the plugin itself isn’t really doing much on its own.

    Ultimately we can’t do anything on our end other than convey solutions on how to set it up in a more optimized way, but even that really needs to be done on a case-by-case basis as each site is different.

    Hope that helps, hopefully you will consider updating your rating given these easily testable facts.

    • This reply was modified 2 months, 2 weeks ago by Daniel Iser. Reason: added proper list formatting
Viewing 1 replies (of 1 total)
  • You must be logged in to reply to this review.