Urgent: Woocommerce geolocation Stopped working with Cloudflare recently. NOT using any Cache Plugin


Suddenly (few days ago) Woocommerce geolocation Stopped working with Cloudflare on site.
We are NOT using any Cache Plugin. The currency switcher plugin we are using is WOOCS.

It was working perfectly till 17th Dec 22 (late night). Thereafter it simply stopped working.
Base currency of our Store (site) is INR. We are from India. For All other Countries, the currency is set to USD. So basically, when any visitor from outside India visits our site, they were greeted with USD automatically.
But now even though we have same setting, the users from Outside India also, are seeing the INR currency.
Due to this we are loosing Sales, as well as customer’s Interest. We are really getting afraid of.
We have Not made any change in the Plugin and any other settings of the site.

After going so many back-and-forth with the Plugin Author and Hosting provider (and searching over Internet and various forums) we tried to set the Cloudflare to Pause state.
And found that it immediately started working. We test using VPN (on mobile), and set the Country to USA in VPN app and opens our site. It immediately reflects the currency to USD. Same is the results with the Hosting support.
On our Cart Abandonment plugin it correctly started showing the Price in USD, when a visitor puts any item to cart after Pausing the Cloudflare. But from 17th Dec the Plugin shows INR, no matter where the visitor is from.

Now, point is that, we require CFlare to be enabled and this is one of major requirement and recommended by all, including Google Page Speed, Theme Authors and everybody else. And it is helpful in many aspects.

So, how can we have it Enabled, as well as resolve this issue. I mean, what could be causing the issue from the Cloudflare, in this case.
Is it Cache of Cloudflare itself or some other. Is it some sort of setings.
Was there any recent change or option in the Cloudflare, that made it Stopped working.
Can you please test the settings thoroughly and suggest us.
if there are any rules that might be affecting or that might required to be added or removed then please let me know.
Or else is there any recent update in the CFlare that might be affecting this.

Please suggest and resolve. We need this to be fixed on priority basis. Otherwise we have to leave it Disabled or Paused.

Did it detect via visitor IP address? :thinking:
If so, then below article should help:

Is “IP Geolocation” feature enabled at Cloudflare dashboard? :thinking:

May I ask you to post and share the URL example to the particular resource in a bracketed dot [.] notation with us so we could double-check, troubleshoot and provide some feedback information reagarding the HTTP cache headers? :thinking:

I wonder which HTTP cache headers are set for it.

WooCommerce and cart shouldn’t be cached at all.

May I ask if you’re using some custom-made Page Rules at Cloudflare?

Furthermore, may I ask you to check out what option have you got selected by navigating to the Cloudflare dashboard → Caching → Configuration → find section “Browser Cache TTL” and make sure the selected option from the dropdown menu is “Respect Existing Headers”.

Furthermore, from the same menu, click on the blue button saying “Purge Everything” to flush the cache at Cloudflare Edge, just in case.

Wait for a minute or two.

Refresh a page in your Web browser, otherwise try clearing your Web browser cache or use a different Web browser to test out again.

May I ask have you tried using a different Web browser, or tried clearing your Web browser cache?
How about using a Private window (Incognito mode) or a VPN connection if possible?
Is it the same behaviour on your mobile phone (4G LTE, mobile data, cellular)?

You could also determine if this behaviour continues even by using a “Pause” option at Cloudfalre as follows:

  1. Use the “Pause Cloudflare on Site” option from the Overview tab for your domain at dash.cloudflare.com .
  2. The link is in the lower right corner of that page.
  3. Give it five minutes to take effect
  4. Make sure site is working as expected with HTTPS.
  5. Retry on Google Search Console and make sure you’ve got the file
  6. Upon success, un-pause
1 Like


As requested please find below details-
The website in question is the one that is connected with this same email ID registered with CFlare-
[this site] https://www.vasangini.com
You can check the HTTP cache headers that are set. Please let me know your findings.

Also, as Pausing the Cloudflare works on immediate basis, that means, there is NO issue with the Plugin and Theme or Hosting

Did it detect via visitor IP address?

Yes, via IP address.
YES - “IP Geolocation” feature enabled at Cloudflare

Cart Abandonment plugin is - CartBounty. And it clearly shows and reflects the currency. Was showing USD to all visitors from outside India till 17th Dec 22. And when we set the CFlare to PAUSE state, it immediately correctly shows USD for all other visitors from outside India. And we ENABLE the CFlare, it then shows INR. And the same WE and Hosting support team sees that way.
And I understand that Cart and Checkout pages in Woo should not be Cached too. And they are not.

This is what Cart Abandonment plugin shows till 17th Dec 22-
[As can be seen from here] https://i.paste.pics/7459ab37efc61ff945de076f8f468b8a.png
And this is what after for all other Actual visitors -
[As can be seen from here] https://i.paste.pics/980184ab8e6d0ab70a0584422d2a57b1.png

Under Cloudflare dashboard → Caching → Configuration → it was having 4 hours. I switched to “Browser Cache TTL” as per your suggestion and then Purge Everything too. But after a wait it was still showing the same default currency, that is INR

As I already mentioned above that I had already tried by Pausing the Cloudflare and then the site started working immediately (did not required to wait even for a minute). Means, it then correctly started showing the USD for All of the visitors from outside India.
And again after resuming (Enabling) the CFlare, it Stopped working. Means, then started showing INR for visitors from outside India also.
Yes, in both scenario it was working as expected with HTTPS

I also wrote earlier, that I used VPN app (and tested on mobile), and set the Country to USA (in VPN app), and it works the same way.
Means, when I Pause the CFlare, it started working correctly and shows USD currency.
And with CFlare Enabled, it Stopped working.

Also, there is no such need to test on different browsers, due to below reasons-
Even Hosting provider team is also getting the same results
And after Pausing the CFlare, we and hosting both can see this working, on same browsers.
And as per above plugin and screenshots, even the Actual or Live visitors are also getting the INR currency by default, instead of USD. And were seeing the USD by default, on or before 17 Dec 22, when there was NO such issue.

It looks like there are some recent changes on how Cloudflare is working, specially from 17th or 18th Dec 2022 onwards Or they might have added or changed some options which is causing this issue.
Or some existing option or setting have been updated at their backend, and now requires us to update that setting accordingly.
Hosting team is trying their best to find out the root cause, or to resolve this issue. They tried few options on CFlare too, but with No success.
Their servers are correctly configured and using LS Server.

We have asked them regarding below URL, that you shared. I am waiting for a response from their side-
[This URL that you shared]https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs

Regarding Rule, we have Not set any Rule so far on our CFlare account.

In the meantime, as per all of my above inputs that I shared. Can you please suggest what could be causing the issue. This is clear from above, that Cloudflare is creating the issue. Because setting it to PAUSE, it immediately starts working and shows correct currency on the basis of Visitors location. that means switches the currency automatically.
So, this has something to do with the Cloudflare only.