WPLocation – Geolocation And Country Rules Wordpress Plugin - Rating, Reviews, Demo & Download
Plugin Description
WPLocation is a country visibility plugin for WordPress. Set an audience for posts, pages or categories, use the country visibility block or [wplocation_target] shortcode, and display a detected country with [wplocation_country]. The admin menu includes Settings, Diagnostics and a private activity log. Pro and optional add-ons are distributed separately; no paid feature code is bundled or locked inside this plugin. Pro 1.4.4 or newer recognizes this directory edition as a compatible Free base; Pro itself requires PHP 8.3.
The plugin needs a current, licensed GeoLite2 Country MMDB. It does not bundle location data. You can select a private server file or use your own MaxMind account ID and license key to download one from Settings. Automatic updates are opt in and off by default. When enabled, the updater contacts MaxMind for an authorized download and follows its signed Cloudflare R2 file URL. The providers receive your site’s server IP and MaxMind receives the account credentials. Visitor IPs remain on your server during local lookups and are not sent by the updater. See https://dev.maxmind.com/geoip/geolite2-free-geolocation-data/, https://www.maxmind.com/en/geolite/eula, https://www.maxmind.com/en/privacy-policy and https://www.cloudflare.com/privacypolicy/.
Saved MaxMind credentials are non-autoloaded WordPress options, not encrypted at rest; they may appear in database backups. For stronger secret management, define WPLOCATION_MAXMIND_ACCOUNT_ID and WPLOCATION_MAXMIND_LICENSE_KEY in wp-config.php. Those constants take priority. The plugin does not display saved keys or record them in its activity log.
Store the MMDB outside the public web root. Automatic updates save validated copies beside the configured source, select them atomically and retain the last working file on failure. Recorded unchanged retired copies can be removed after two days; configured and untracked files remain the site’s responsibility. WordPress cron needs traffic or a server cron. Follow MaxMind’s database update and deletion requirements. This product can use GeoLite Data created by MaxMind, available from https://www.maxmind.com/.
Geolocation is approximate and these rules are for personalization, not access control for confidential content. When a country cannot be determined, restricted content is hidden. Caches and CDNs can serve the wrong country or bypass WordPress altogether. While Free is active, the plugin requests no-store responses for frontend HTML and country-aware post, page and search REST reads because targeted content can appear in posts, blocks and secondary queries. It purges WP Super Cache when its API is present, but you must configure and test any shared cache. Forwarded IP headers are not trusted by default; verified infrastructure can provide an address with the wplocation_verified_client_ip filter.
WPLocation’s older standalone 1.0.0 plugin cannot be replaced safely without preparation: its old bundled database disappears when WordPress replaces the plugin folder, and that database is outdated. This first directory release uses version 1.0.0 so WordPress does not offer it as an automatic update to existing standalone 1.0.0 installations. Do not manually overwrite the old plugin. Back up the site and rules, prepare a current licensed database outside the old plugin folder, deactivate and remove the old plugin, then install this release. Replace legacy [locationtarget] shortcodes with [wplocation_target] in content before removing the old plugin. The legacy settings use the same option names, so review and test every rule after migrating. A future version above 1.0.0 requires a separate, tested upgrade path.
The combined plugin is GPLv3 or later and contains third-party libraries under their own licenses, including Apache-2.0 MaxMind libraries. See THIRD-PARTY-NOTICES.txt and vendor license files.
Screenshots
Select the countries that can see a WordPress page and review the resulting audience.
Check whether the private country database is ready and when it was built.

