Kinsta uses Nginx FastCGI server-level caching that serves cached HTML pages directly from the web server before PHP ever executes. When IP Location Block’s “Front-end target settings” validation is enabled, the plugin’s geolocation checks run in PHP — but on a cache hit, PHP is bypassed entirely.
This means:
- The first visitor triggers PHP, and IP Location Block validates them normally.
- The resulting HTML page is cached by Nginx.
- All subsequent visitors receive the cached page without any geolocation check, regardless of their country or IP address.
Geolocation-based blocking requires every request to reach PHP so the visitor’s IP can be checked. Server-level caching prevents this by serving pre-built pages, so disabling it is necessary for front-end validation to work reliably.
Solution
Disable Server Caching
If your site doesn’t rely heavily on full-page caching, you can disable Kinsta’s server cache entirely:
- Log in to MyKinsta.
- Navigate to Sites > your site > Caching.
- Under Server Caching, click Modify.
- Select Disable and confirm.
This ensures every request hits PHP, allowing IP Location Block to validate every visitor.
Clearing the Cache
Kinsta automatically clears the cache when you toggle the Server Caching option. If you ever need to clear it manually:
- In MyKinsta, go to Sites > your site > Caching > Clear Cache.
- Or use the Clear Cache button in your WordPress admin toolbar if the Kinsta MU plugin is active.
