Best WordPress Geolocation Plugins

Most WordPress geolocation plugins work perfectly on your laptop and then quietly break the moment you switch a page cache on. That single problem decides which plugin you should install, and almost no roundup mentions it. Below are eight tools that read a visitor’s location, what each one costs today, which ones survive caching, and where EU data-protection law puts a limit on what you can do with an IP address.

Quick verdict

Best overall: GeoTargeting WP. It is the only plugin on this list that WP Rocket’s own documentation names as automatically supported, which means you can keep full-page caching on and still swap content by country.

Best free: WP Go Maps for putting a map on a page, and IP2Location Country Blocker for shutting a country out. Both cost nothing and both are actively maintained.

Skip it if: you want city-level personalisation on a cached, high-traffic page. That combination costs real money in API requests and creates a genuine GDPR question. Country-level detection is cheaper, faster and easier to justify.

Our call: decide first whether you need to show a map, target content, or block a country. Those are three unrelated jobs and no single plugin is good at all three.

WordPress geolocation plugins compared

PluginFree optionPaid entry priceRenews atWhat it is actually for
GeoTargeting WPLite version, last updated 2022$11/mo (Baby, 10,000 requests/mo)$11/mo, recurringSwapping content by country behind a cache
Geo Controller (was CF Geoplugin)500 lookups/day$89/yr (Personal, 1 site)Renewal price not publishedShortcode geo content, WooCommerce rules
GeoDirectoryCore plugin free$139/yr (single site membership)$139/yr, auto-renewingDirectory and listing sites
WP Go Maps (was WP Google Maps)Yes, full free tierPro sold separatelyn/aEmbedding interactive maps
WP Store LocatorYes, entirely freen/an/aNearest-branch store finder
IP2Location Country BlockerYes, entirely freen/an/aBlocking countries at the door
iQ Block CountryYes, entirely freen/an/aBlocking countries, local MaxMind database
MonsterInsightsLite version free$99.50 first year (Plus)$199/yrReporting where traffic came from
Prices checked August 2026 against each vendor’s own pricing page and each plugin’s WordPress.org listing. All figures are in USD, as served. Free plugins are marked n/a rather than $0 because several still need a third-party account.

GeoTargeting WP (Geotargeting Pro)

GeoTargeting Pro settings screen showing country, region and city targeting rules for WordPress content

Key features. Shortcode-driven content swaps by country, region or city, geo-redirects, WooCommerce product filtering, and menu and widget targeting. It runs as a hosted service: your site sends a lookup, the API answers. Its pricing page notes it can sit on top of third-party databases including MaxMind and IP2Location depending on your plan.

Price. The pricing page lists five monthly plans: Baby $11 for 10,000 requests a month, Basic $23 for 25,000, Plus $46 for 60,000, Pro $118 for 400,000 and Enterprise $230 for two million. On monthly billing, Baby works out to $132 a year. An annual toggle shows lower numbers but does not label whether they are per month or per year, so confirm the total at checkout. There is a 14-day trial and requests can be spread across unlimited sites.

Best for. Anyone running a page cache who still needs different content per country. The AJAX mode is the reason it works where cheaper plugins do not.

Skip it if. Your traffic is spiky. Request quotas are per month and the vendor gives you three days to upgrade before the plugin stops answering. The free GeoTargeting Lite is not a substitute: its WordPress.org listing shows it was last updated four years ago and tested only to WordPress 6.1.

Geo Controller (formerly CF Geoplugin)

CF Geoplugin admin panel listing geolocation shortcodes for country, city and currency in WordPress

Key features. If you saw this listed as CF Geo, it has been renamed. The WordPress.org listing now reads Geo Controller, version 8.9.9, tested to WordPress 7.1. It gives you shortcodes for country, city, currency and postcode, plus content restriction, redirects and WooCommerce payment-method rules.

Price. The free tier caps you at 500 API lookups a day, and the listing is explicit that REST API access, WooCommerce payment options and currency conversion are locked without a licence because they depend on unlimited lookups. Paid plans on the vendor pricing page start at $89 a year for one site, $132 a year for five, and $499 a year for unlimited. A $19 monthly option exists with reduced support. Four-year prepaid licences are also sold.

Best for. Small brochure and WooCommerce sites that need a handful of geo shortcodes and would rather pay once a year than per request.

Skip it if. You need a large installed base for reassurance. It sits at 1,000+ active installations against the 10,000+ to 300,000+ carried by the other plugins in the table above, and 500 lookups a day disappears fast on a busy homepage.

GeoDirectory

GeoDirectory listing page showing a business directory with a location search bar and results map

Key features. This is a directory builder rather than a targeting tool. It turns WordPress into a listings site with location search, category filters, a results map and paid submissions. The core plugin is free, currently version 2.8.178 with 10,000+ active installations, and it supports both Google Maps and OpenStreetMap so you are not forced into a Google billing account.

Price. Add-ons and themes come through a membership. The membership page lists $139 per 12 months for a single site and $229 per 12 months for unlimited sites, both auto-renewing, with a shorter four-month option at $115 for unlimited sites and non-recurring alternatives available. Prices are quoted in USD.

Best for. Anyone building a genuine directory: restaurants, trades, clinics, event venues. It saves you assembling the same thing from custom post type plugins and a search add-on.

Skip it if. All you wanted was to greet German visitors in German. GeoDirectory is a large piece of software and it will restructure your content model to get there.

WP Go Maps (formerly WP Google Maps)

WP Google Maps map editor showing an embedded map with custom markers and a marker list below it

Key features. The old WP Google Maps has been renamed WP Go Maps, and the rename matters because it no longer needs Google. Its WordPress.org listing shows version 10.1.08, 300,000+ active installations and a choice of engines including Google Maps, Leaflet, Azure Maps, Stadia Maps, Maptiler, LocationIQ and OpenLayers. The listing recommends Leaflet with OpenStreetMap tiles if you would rather not enable billing.

Price. Free on WordPress.org, with a Pro version sold by the developer. The bigger cost is the map provider, not the plugin. Choosing Leaflet removes that line item entirely.

Best for. Contact pages, venue pages, and anything where the visitor needs to see a pin rather than be detected. Maps are heavy, so pair it with a lazy load plugin if it sits below the fold.

Skip it if. You want to detect where the visitor is. Embedding a map and reading an IP address are different features, and this plugin does the first one.

WP Store Locator

WP Store Locator front-end search showing a radius dropdown, a store results list and map markers

Key features. A single-purpose store finder: import branches, set a search radius, and let visitors find the closest one. The WordPress.org listing shows version 2.3.23, 50,000+ active installations and a last update within the past week, which is a good maintenance signal for a free plugin.

Price. Free. The catch is Google: the installation instructions require you to create a Google API key, and no alternative map engine is offered.

Best for. Retail chains, dealer networks and clinics with more than about five physical sites.

Skip it if. You do not want a Google Cloud billing account attached to your site. Google Maps Platform no longer runs a blanket monthly credit; its pricing documentation now sets a per-service free cap, with Dynamic Maps free for the first 10,000 loads a month and $7 per 1,000 after that. A store finder that gets embedded on every page can cross that faster than you expect.

IP2Location Country Blocker

Key features. Blocks visitors by country at the front end, the admin, or both, and can also whitelist. Its WordPress.org listing shows version 2.44.2, 30,000+ active installations, tested to WordPress 7.1 and updated within the past week. You choose between a local BIN database file you upload yourself or the IP2Location.io web service, which has a free plan.

Price. The plugin is free. The LITE database is free to download; commercial databases with better accuracy cost extra.

Best for. Cutting bot noise from regions you do not sell to. It complements rather than replaces a proper security plugin, and pairs sensibly with brute force protection on wp-login.php.

Skip it if. You think country blocking is a security control. Anyone determined enough to attack you owns a VPN. Treat it as noise reduction, not defence.

iQ Block Country

iQ Block Country settings page with a country selection list for blocking front-end and backend access

Key features. The same job as the plugin above, with per-page and per-post blocking rules, a custom message for blocked visitors and optional redirects. The WordPress.org listing shows version 1.2.28 and 20,000+ active installations.

Price. Free, with an optional paid API service from the developer if you would rather not update the database by hand.

Best for. Site owners who want the country database sitting on their own server instead of a visitor’s IP being sent to a third-party API. For GDPR purposes that is a meaningfully different setup.

Skip it if. You want an install-and-forget plugin. It relies on the MaxMind GeoLite2 Country database and the setup instructions tell you to create a MaxMind account and download the file yourself. MaxMind’s own developer documentation confirms GeoLite2 now requires a signed-up account and a licence key for automated downloads, caps free users at 30 database downloads a day, and its EULA requires you to delete a GeoLite2 database within 30 days of a new release. The listing was last updated two months ago and is tested to WordPress 7.0.4, while every other maintained plugin in the table above lists 7.1.

MonsterInsights

MonsterInsights audience report inside WordPress showing top countries and cities for site visitors

Key features. This one is on the list because it keeps appearing on other people’s lists, so it is worth being clear about what it does. MonsterInsights pulls Google Analytics into your WordPress dashboard. Its free listing shows version 11.1.3 with 2+ million active installations, and the Audience report tells you which countries your visitors came from.

Price. Lite is free. The pricing page shows Plus at $99.50 for the first year and $199 on renewal, Pro at $199.50 then $399, Elite at $299.50 then $599 and Agency at $399.50 then $799. The advertised discounts are introductory; renewals are at full price.

Best for. Understanding where traffic already comes from before you spend anything on targeting. That is a sensible first step and a cheap one.

Skip it if. You expected it to change what visitors see. It reports on location, it does not act on it. Buying MonsterInsights Plus and expecting geotargeting is an easy mistake to make from a list like this one, and an expensive one.

What most roundups get wrong: caching kills PHP geolocation

Here is the failure nobody warns you about. A full-page cache turns your PHP output into a static HTML file and serves that file to everyone. If your geolocation plugin does its lookup in PHP, that lookup runs once, for whichever visitor happened to arrive first, and their country is then baked into the page every other visitor receives.

WP Rocket documents this plainly. Its knowledge base says that if geolocation “is using PHP then it won’t work as expected because page cache eliminates all PHP/MySQL processes from a page and creates static HTML output instead,” while “if the geolocation is JavaScript/AJAX-based then it should work without any issues.” The documented fixes are to disable page caching on the affected pages, split the cache using dynamic and mandatory cookies, split it by query string, or use GeoTargetingWP, which WP Rocket supports automatically. That last line is why GeoTargeting WP wins the top slot here.

Your CDN adds a second layer of the same problem. Cloudflare’s IP Geolocation setting is available on every plan including Free and adds a CF-IPCountry header to requests hitting your origin, and the Add visitor location headers Managed Transform extends that to city, continent, longitude and latitude. Useful, but the header only tells your origin where the visitor is. It does not make the CDN store a separate copy of the page per country. That is a cache-key decision you configure separately, and forgetting it produces exactly the same symptom one layer further out. If page speed is the reason you are caching in the first place, read our notes on speeding up a WordPress site before you start excluding pages from cache.

The practical test: load the page, note what it says, then load it through a VPN in another country in a private window. If both show the same thing, your cache is winning.

The GDPR catch: an IP address is personal data

Every plugin above works by reading an IP address, and under EU law that is not a neutral technical detail. Recital 30 of the GDPR lists “internet protocol addresses” among the online identifiers that may be associated with a natural person and used to build profiles. Processing one is processing personal data, and it needs a lawful basis, a retention limit and a mention in your privacy policy.

Three things follow from that, and they change which plugin you should pick.

  • Local database beats remote API. iQ Block Country and IP2Location Country Blocker can both run from a database file on your own server. Nothing about the visitor leaves your hosting. Hosted services such as GeoTargeting WP and Geo Controller send the IP to a third party, which makes that vendor a processor you need to name and cover contractually.
  • Country is easier to justify than city. Showing the right currency or language at country level is a narrow, proportionate use. Storing a visitor’s city against a profile is a much harder argument to make, and it is the feature most often sold as the reason to upgrade.
  • Check what gets logged. Country blockers in particular tend to keep a log of blocked IPs. That is a personal data store sitting in your database with no retention policy unless you set one. Our guide to GDPR compliance plugins covers the consent and data-request side that geolocation plugins do not handle for you.

None of this is legal advice, and none of it makes geolocation off-limits. It does mean that “we only need the country” is usually the right answer, and it happens to be the cheaper and faster answer too.

Which one should you install?

  • You want a map on a page. WP Go Maps, set to Leaflet. No Google billing account, no API key.
  • You have branches customers need to find. WP Store Locator, and budget for Google Maps calls above 10,000 map loads a month.
  • You want to change content by country and you cache. GeoTargeting WP. Start on Baby at $11 a month and watch the request counter for a fortnight.
  • You want geo shortcodes on a low-traffic site. Geo Controller’s free 500 lookups a day, upgrading to the $89 annual licence only when you hit the ceiling.
  • You want less junk traffic. IP2Location Country Blocker, running from a local database file.
  • You are building a listings site. GeoDirectory core first, membership only once you need the paid add-ons.

If your geolocation is going to run on every request, check your server response time before and after. A remote lookup on an uncached page adds latency to every page load, and on shared WordPress hosting that shows up quickly.

Frequently Asked Questions

Do WordPress geolocation plugins work with a caching plugin?

Only if the detection runs in JavaScript or AJAX. WP Rocket’s documentation states that PHP-based geolocation breaks under page caching because the cache stores static HTML from the first visitor. Fixes are excluding those pages, splitting the cache by cookie or query string, or using an AJAX-mode plugin.

Is MaxMind GeoLite2 still free?

Yes, but not anonymous. MaxMind’s developer documentation now requires a signed-up account and a licence key to download databases or use the web service. Free users are capped at 30 database downloads per day and 1,000 web service lookups per day, and the EULA requires deleting a database within 30 days of a new release.

Does IP geolocation break GDPR?

No, but it is regulated. GDPR Recital 30 names IP addresses as online identifiers, so reading one is processing personal data. You need a lawful basis, a retention limit and a privacy policy mention. Country-level detection is far easier to justify than storing city-level profiles.

Do I need a Google Maps API key?

It depends on the plugin. WP Store Locator requires one. WP Go Maps does not, because it also supports Leaflet with OpenStreetMap tiles. Google Maps Platform now gives 10,000 free Dynamic Maps loads a month per its pricing page, then charges $7 per 1,000.

Is a free geolocation plugin good enough?

For blocking countries and embedding maps, yes. IP2Location Country Blocker and WP Go Maps are both free and actively maintained. For swapping content by country on a cached site, free options fall down: GeoTargeting Lite has not been updated since 2022 and is tested only to WordPress 6.1.

Can country blocking replace a security plugin?

No. Anyone attacking your site can route through a VPN or a proxy in a permitted country in seconds. Country blocking reduces automated noise and log volume, which is worth having, but it is a filter rather than a defence. Keep a firewall and login protection running alongside it.

How accurate is IP-based geolocation?

Country detection is reliable enough for currency and language switching. City detection is much weaker: mobile networks, corporate VPNs and ISP routing regularly put a visitor in the wrong city or the wrong region. Never use city data for anything the visitor cannot correct manually, such as a locked shipping region.

Does Cloudflare remove the need for a geolocation plugin?

Partly. Cloudflare’s IP Geolocation setting is free on every plan and adds a CF-IPCountry header to origin requests, with a Managed Transform for city and coordinates. You still need something in WordPress to read that header and act on it, and you still need a cache key that varies by country.

Our verdict

Install GeoTargeting WP if you need content to change by country and you run a page cache, because it is the option WP Rocket’s documentation supports without configuration work. Install WP Go Maps on Leaflet if you only need a map, and IP2Location Country Blocker if you only need to shut a region out. Both are free and neither needs a Google billing account.

Do not buy MonsterInsights expecting targeting, and do not buy a city-level plan until a country-level one has actually run out of road. The best WordPress geolocation plugins in 2026 are the ones that match one job precisely, and for most sites that job is smaller and cheaper than the pricing pages suggest. If you are still choosing what to display once you know the country, dynamic visibility plugins handle the conditional layer better than any geolocation plugin does.

Alshifa Anwer
Alshifa Anwer
Articles: 55

Leave a Reply

Your email address will not be published. Required fields are marked *