-
-
Notifications
You must be signed in to change notification settings - Fork 40
Troubleshooting
Here is a list of common problems and how to debug them.
This can be because of one of these 3 common problems:
- Check if the detected IP of the client is the correct (see Q1 below)
- Do you use a page caching plugin? (see Q2 below)
- Is the data of the database provider wrong? (see Q3 below)
- Go to the backend to
Tools > Geolocation Lookup. The IP shown atYour current IP:is the detected IP. Click on(Not correct?)should be the same as the one listed atReal client IP - If these IPs match, continue at Q2 (site caching). If they do not match:
- Probably there are reverse proxies in between the website and the client, either as a software running on your server (such as nginx) or other servers as part of your hosting setup (load balancing, CDN, or similar). This needs to be configured:
- Go to
Tools > Geolocation Lookup, click on(Not correct?). (You arrive at the Client IP Debug Panel)- Is the real client IP listed in
HTTP_X_FORWARDED_FOR? Then you need to configure your reverse proxy settings:- Copy the IP from
REMOTE_ADDR - Go to
Settings > Geolocation IP Detection - Enable
The server is behind a reverse proxy - Add the IP from
REMOTE_ADDRtoIPs of trusted proxies:(ideally you make sure it's either internal IPs or IPs that belong to the IP space of your hosting provider) - Add the other IPs from
HTTP_X_FORWARDED_FORthat are not your real client IP - If your server supports IPv6, make sure you include both the IPv4 and IPv6 adresses of these proxies. You can try it by accessing your website via IPv4 / IPv6.
- Copy the IP from
- If the IP is nowhere, then you found a special reverse proxy that either uses a different HTTP header for the real client IP or it's not configured to pass on the client IP. Talk with your administrator about it.
- Is the real client IP listed in
- Do you use a site cache, or a HTML optimizing plugin? (Does it work when you are logged in in the Wordpress backend, and only sometimes/not at all when you are logged out. Then most certainly it is a caching mechanism.)
- Is there a CDN/reverse proxy in front of your server? The plugin tries to disable the site caching mechanism of such proxies, but it's up to them if they honor these requests or not.
- If you can, disable the caching globally to check if that's the problem.
- Enable the option
Disable caching a page that contains a shortcode or API call to geo-dependent functions.. This option should be enabled if you use any kind of site cache, or you make sure that those sites are not cached differently. - Or: Use the AJAX mode instead (might need some JS programming). It is made for the use-case of site plugins.
Q3: How can I check if the plugin gets it wrong, or the database provider has the correct information?
While some are more precise than others (see Which data source should I choose?), no data source has 100% accuracy. There are IPs with no data at all, IPs with only country, and IPs with the wrong city (even the wrong country sometimes).
The plugin takes the data of the data sources and tries to add data (such as the timezone, flag, etc.). So normally, it does not remove data (except if I do a bad mistake), and it certainly doesn't change data to a different country/city (except if you fiddle around with the Wordpress filters of the plugin).
-
Get the raw result of what the Plugin returns:
- Check the IP under
Tools > Geolocation Lookup. It will show all properties that the plugin provides. If you use a shortcode or the AJAX mode, still this function is what will be returned. - Do it again by ticking
Skip Cache. If the result is different now, it had a wrong lookup result cached before. (This cache is only used for web-lookup sources such as Maxmind Precision, ipstack, etc.) - If the result is still different to what you expected, then maybe you are using a site cache (see Q2).
- Check the IP under
-
Try looking up the IP directly at the vendor:
- Hostinfo: https://hostip.info/
- Maxmind: https://www.maxmind.com/en/geoip-demo
- This is the data available in Maxmind Precision, a paid plan of Maxmind. The Lite database is less accurate.
- Ipstack: https://ipstack.com/
If they have the wrong information, contact them about it, they might correct the information in their database.
If it is correct at their site, but not correct/missing in the plugin, then write me a bug report (see Q9).
Most important:
- Which feature of the plugin is not working / should be improved?
- If you see PHP Errors/Notices, please copy them
Important context information:
- Which data source are you using?
- Which site cache plugin are you using (if any)?
- Did you try the suggested solutions above?
- Plugin Version, PHP Version?
- Any special server setup (Cloud? Docker? etc.)
Content of this documentation is available under Creative Commons Attribution-Share Alike 3.0 Unported License. Feel free to improve it by logging in with a Github user and editing it.