Caching stops my sign-up form working

Note: I’ve disabled the cache so if you try it will work!

My site is (it’s a Kajabi site). I added a cache to all pages, but I noticed when the cache is on, the sign-up forms don’t work. Specifically, the form says “invalid email” and I seeing “waiting for” in the bottom left corner.

Is this a known issue? Can I cache and have people sign up?

Yes, it’s a known issue. That’s why Cloudflare doesn’t cache HTML by default.

Not on that page, and most likely not at all if your site behaves differently for logged in users.

Is there any other way to improve the speed for users? The Kajabi server takes typically 1-1.2secs to respond…

Sorry… that was vague. I don’t mean speed like reduce JS and optimise images, I just meant speed in terms of cache (say partial cache of images etc.) and server response. Is there a ‘next-best’ thing?

This is how I set it up previously (as you’ll see the cache is now off!)

Mmm…interesting. As I look at the resources your site loads, none of them, except the page HTML itself, come from your domain, which is proxied by Cloudflare.

In other words: :slightly_frowning_face:. Cloudflare isn’t going to do anything to speed up your site. That’s actually a huge bummer. Kajabi uses its own CDN for static files, so that should be fast. If only they could speed up their pages themselves. Sorry to say, but Cloudflare will do nothing other than add tens of milliseconds to page load (HTML) as it proxied that connection.

That is a bummer. I’m not technical enough to know why caching HTML stops sign-ups, and whether there is a way to resolve that issue.

Of course, replacing the forms with a CTA to a sign-up page is a UX fix that I’ll have to weigh up. I’m assuming forms that appear in a model view would have the same issue?

Ps. thanks so much for the responses to date.

Signups include a cookie. It’s like the website pinning a secret code to your shirt so when you get to a page, it sees the secret code and shows you all the special Dave content. And when you wear that secret code, Cloudflare knows it’d better tell the server Dave is here, so it’s going to skip the cache because what was cached was when not-Dave visited. That all slows things down.

However…and this might work. Business Plans (hear me out) have a feature to watch for that cookie. If that cookie isn’t present, it can cache. And if that cookie is present, bypass the cache. It’s possible to do this with Workers on like this one with some tweaks on your Free Plan:

Every page has a sign-up form, mostly for lead generation (it’s a blog + landing pages)… as opposed to “Dave stuff” on the website :slight_smile:

Just checking out the GitHub now. So I’d essentially tweak this for Kajabi (it’s not Wordpress), and then add the javascript to the global head of the website?

Thanks again!

I know it’s not all “Dave Stuff”, but whoever is signing up gets the cookie.

That javascript has to be added to a Worker here. It’s a few hoops to jump through to that that in place.

However, when I run a test on your homepage, the HTML performance isn’t bad in the US:

Got you. I don’t supposed you do freelance do you?! I think it’s above my feeble knowledge.

Thanks for the HTML test. I’m based in London, hence, the slow speeds.

Do you think it’ll give an improvement given the current performance?

The London speed looks decent. It’s over in three-quarters of a second. Beyond that, it’s all Kajabi and their choices. Oddly enough, I can’t find any performance evaluations of Kajabi. None of their marketing is touting high performance.

The downside to Clouflare caching is that it’s unlikely a cached page will stay in cached for more than a few hours. I suggest your first step would be to contact Kajabi and ask them if there’s a way to speed up page delivery.

p.s. Out of curiosity, what improvement did you see from caching? I’m sure it was pretty good on a repeat visit, but how about a day or two later?

I just implemented the Cache a few days ago, in an attempt to improve my PageSpeed Insights result. It seemed to work well, getting another 10 points of score. A few days later, I noticed sign-ups went to zero.

Sadly, Kajabi don’t see to take site speed or SEO very seriously… I’ve sent 3-4 messages to their customer services.

While your report says 750 ms, I’ve never achieved this. This is about the average I get from Lighthouse.

It’s worth mentioning I’m obsessing over mobile PageSpeed since the desktop speed seems to be ok.

I know the feeling. Your Lighthouse score is a bit slower than mine, as my results for that URL hover around 1.0 seconds.

I guess your best bet is to try the Worker approach, but you may have to find a dev (sorry, I don’t freelance) to assist.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.