WP Geo Controller


WP Geo Controller (formerly known as CF Geo Plugin) is a GeoMarketing tool that allows you to have full geo control of your WordPress. WP Geo Controller gives you ability to attach content, geographic information, geo tags, Google Maps to posts, pages, widgets and custom templates by using simple options, shortcodes, PHP code or JavaScript. It also lets you specify a default geographic location for your entire WordPress blog, do SEO redirection, spam protection, WooCommerce control and many more. WP Geo Controller help you to increase conversion, do better SEO, capture leads on your blog or landing pages.


WP Geo Controller is a free plugin which works with the free and paid services that return information about the locations.

WP Geo Controller is free by itself but API services are limited to 1000 lookups per day for the free users. If you like to have UNLIMITED lookup, please visit official website for more informations.

NOTE: We do not place prices on this page because we reserve the right to change these prices and often have monthly promotions and discounts. Please, for more information look at our prices on the official website.

This plugin works as a service.



  • There is no need to buy expensive and heavy databases
  • No effect on the site performances
  • Full support for the WooCommerce, Contact Form 7, Yoast SEO, WP Super Cache and other most popular plugins


  • Redirects visitors to a blog page based on their geo informations by SEO rules
  • Redirects visitors to a predefined URL based on their geo informations by SEO rules
  • Allows you to configure multiple redirection rules as needed for the pages and entire website
  • Supports 301, 302, 303 & 304 HTTP redirection
  • Supports IPv4 and IPv6
  • Geo Tag Generator attach Geo Tags in the head of your website for the specific pages
  • Cache support


  • Create marketing campaigns targeted only at certain locations.
  • Create landing pages targeted only at certain locations.
  • Create banners, videos and any other content targeted only at certain locations.

E-COMMERCE | WooCommerce

  • Geolocate for your customer location with WP Geo Controller API
  • Payments Control show or hide payment methods by country to prevent unwanted transactions
  • Geo Location logging of your customers during orders
  • Country Payment Control for your WooCommerce installation
  • Display local currency, local symbol or converter
  • Use currency converter to calculate price in local currency
  • Use VAT to check is current country under tax rate
  • Use EU to check is country from the European Union


  • Spam protection from the danger visitors or spammers
  • Blocking access on the website from the specific user defined locations
  • Blocking IP Addresses from accessing on the website


  • Redirect incoming traffic to content in the local language or currency.
  • Businesses with local branches can direct customers to a relevant physical location or local microsite.


  • Filter required legal notices, text, forms, etc. from countries for whom those content may not be relevant.


This plugin is compatible with any WordPress installation and many available plugins. We also do special compatible functions with:

YOU NEED TO KNOW that even if there is compatibility for most plugins, the combination of multiple plugins still has a slight chance of some conflict. There are over a couple thousand plugins and a couple of few million individual WordPress installations. We cannot 100% guarantee that everything will work properly in all possible cases. Sometimes it happens that other plugins are not compatible with WP Geo Controller, so it is important that you contact us or other plugin authors in case of any problem so that you can solve the problem. The most common fix for most issues is if you keep all the plugins and WordPress installation up to date.

All WP Geo Controller 8.x.x Features

  • Geo Plugin – Allows you to attach geographical information inside your content via Shortcodes, PHP and JavaScript objects
  • Geo Banner – Allows you to place dynamic content, images, videos and pages using shortcodes for specific audience target by geolocation
  • Google Map – Allows you to attach Google Map inside content
  • Geo Tag – Allows you to generate precise Geo Tags for your pages and custom posts
  • Anti Spam Protection – Allows you to block access on blog from spam IP addresses and specific geo locations
  • Cloudflare Geolocation Support – Cloudflare support for visitor geolocation
  • DNS Lookup – Allows you to attach visitor DNS informations
  • SSL Support – Keep you safe
  • Cache Support – Allow other cache plugins to be integrated and supported
  • PROXY Settings – Allows you to use PROXY for the lookup
  • SEO Redirection – Allows you to redirect any page, post or article
  • Country Flag Support – Allows you to attach visitor or custom country flags inside content
  • Include Content by Geolocation – Allows you to include content by geolocation
  • Exclude Content by Geolocation – Allows you to exclude content by geolocation
  • Plugin Autoupdate – Allows you to keep your plugin up to date automatically
  • REST API – Allows you to become geo information provider

Basics usage and example

[cfgeo return="region"]
We just found shoes in [cfgeo_city] that you can buy for 50% discount.
[cfgeo ip="" return="area_code"]
[cfgeo exclude="Toronto"] This text is seeing by everyone except Toronto people [/cfgeo]
[cfgeo include="New York"] This text seeing only people from New York [/cfgeo]
[in_eu]You are from the European Union[/in_eu]
[not_in_eu]You are NOT from the European Union[/not_in_eu]
[is_vat]You are under VAT[/is_vat]
[is_not_vat]You are NOT under VAT[/is_not_vat]

Usage & Example

To best understand how shortcodes work, it’s best to read the documentation.

But here are some simple examples:

GEO PLUGIN: Usage is simple. After installation and activation, in your post you just need to insert [cfgeo] shortcode and that’s it. Enter a shortcode as this and it returns and displays the IP address to a visitor. If you like to display regions (for example California for users who are from California), you just need to use the return attribute in your shortcode like this: [cfgeo return="region"]. By changing the return settings, you can display any information from the list above. Each user who comes to the site will see information related to their area.

If you want to track some custom IP and return some information from that IP, you can do that by adding one optional attribute ip like on example [cfgeo ip="" return="area_code"] what will return area code from that IP address.

If you like to add default values to your shortcode if data is empty you need to add extra attribute in your shortcode like this example [cfgeo return="country_code" default="US"] what will return US if geoplugin can’t locate country code.

If you need to exclude some content from your page based on user location, you can do that using the exclude attribute like this:

[cfgeo exclude="Toronto, Québec"] This text is seeing by everyone except people from Toronto and Québec [/cfgeo]

If you need to display some content in your page based on user location, you can do that using the include attribute like this:

[cfgeo include="New York, Miami, Germany"] This text seeing only people from New York, Miami and Germany [/cfgeo]

VAT CONTROL: If you need to show value-added tax (VAT) information on your website, there are 2 shortcodes that can help you with it.

[is_vat]You are under VAT[/is_vat]
[is_not_vat]You are NOT under VAT[/is_not_vat]

Both shortcodes have a default option that you can use as an alternative.

[is_vat default="You are NOT under VAT"]You are under VAT[/is_vat]
[is_not_vat default="You are under VAT"]You are NOT under VAT[/is_not_vat]

Generally, these two shortcodes show or hide everything inside it, depending on your needs.

EU CONTROL: If you need to display some content related to European Union (EU) countries, you can do it on the two easy way:

[in_eu]You are from the European Union[/in_eu]
[not_in_eu]You are NOT from the European Union[/not_in_eu]

Like many of our shortcodes, there is default options what you can use as an alternative:

[in_eu default="You are NOT from the European Union"]You are from the European Union[/in_eu]
[not_in_eu defauilt="You are from the European Union"]You are NOT from the European Union[/not_in_eu]

These two shortcodes also show or hide everything inside it, depending on your needs.

GOOGLE MAP: If you want to place a simple Google Map in your post or page, you just need to place a shortcode [cfgeo_map] and your visitor will see their own location on Google Map by default.

Like example, you can display own company street address inside Google Map like this: [cfgeo_map longitude="-74.0059" latitude="40.7128" zoom="15"] and pointer will show your street and place where you work.

Google Map also allow you to use HTML inside map and display info bar:

[cfgeo_map longitude="-74.0059" latitude="40.7128" zoom="15" title="My Company Name"] 
   <h3>My Company Name<h3> 
   <p>No Name Street 35, New York, USA</p> 
   <p>We have what you need</p> 

With this plugin you can easily set up your Google Map.

GEO BANNER: With this plugin you also have the ability to make dynamic content (text, images, banners, videos…) and target your messages to people from certain regions, track IP address, setup WordPress to work on user’s timezone, etc. The possibilities are huge, you can increase conversions, use this plugin like support for your custom template, build your own plugin and use WP Geo Controller like additional options, etc.

You just need to create a new banner, place your content, select rules (country, region, city) save your banner, after that in your page pickup banner shortcode and place inside content.

COUNTRY FLAG You can display country flags in text or like images.

If you like to display country flag in your text like icon, you can do that simple like:

[cfgeo_flag] - and you will see a flag in your text.

If you like to display country flag in your content like image, you can do that also simple using img or image attributes like:

[cfgeo_flag img] - and you will see image flag in your content

You also can give custom sizes of flags in %, px, in, pt or em using size attribute like this:

[cfgeo_flag size="32px"] - and you will see your flag in that size. You can use this size in image and normal text mode also.

You also can display custom flag using country attribute by placing country code simple like:

[cfgeo_flag country="ca"] - and you will see a flag in your text or like image.

We allow you also full control of this flags and you can place css, class or id attributes to be able use this in any kind of work like this:

[cfgeo_flag size="50" css="padding:10px;" class="your-custom-class custom-class custom" id="top-flag"]

Flags also support include & exclude attributes where you can controls your flag view:

[cfgeo_flag exclude="ca,us"] - and you will hide flag from the USA and Canada, for other is visible


[cfgeo_flag include="ca,us"] - and you will show flag only inside USA and Canada, for others is hidden

Info & Contact

Please visit our website www.cfgeoplugin.com and feel free to contact us. We will provide for you all services that you need.

Also please inform us if any errors occur via contact form on our website http://cfgeoplugin.com/.

Thank you for your concern!

~ Your WP Geo Controller Team

Plugin Links


Enjoy using WP Geo Controller? Please consider making a small donation to support the project’s continued development.



Please read these Terms and Conditions (“Terms”, “Terms and Conditions”) carefully before using the www.cfgeoplugin.com website and the WP Geo Controller WordPress application (the “Service”) operated by WP Geo Controller.

Read about Terms and Conditions


We respect your privacy and take protecting it seriously. This Privacy Policy covers our collection, use and disclosure of information we collect through our website and service, www.cfgeoplugin.com owned and operated by WP Geo Controller. It also describes the choices available to you regarding our use of your personal information and how you can access and update this information. The use of information collected through our service shall be limited to the purpose of providing the service for which our Clients have engaged us. Also we respect and take care about Europe General Data Protection Regulation (GDPR) and your freedom and private choices.

Read about Privacy Policy

For further questions and clarifications, do not hesitate to contact us and we will reply back to you within 12-48 hours.


  • WP Geo Controller Available shortcodes and values
  • CF Google Map shortcodes and setup
  • Anti Spam Protection settings
  • WP Geo Controller global settings
  • Debug Mode for WP Geo Controller and IP Lookup
  • Adding shortcode in text editor
  • Admin bar quick links
  • Example 1
  • Example 2
  • Example 3
  • SEO Redirection settings
  • Contact Form 7 settings
  • Available tags
  • WooCommerce Settings


You only need to install the  WP Geo Controller through the WordPress plugins screen directly or download ZIP file, unpack and upload plugin folder to the /wp-content/plugins/ directory.

Afterwards, activate the plugin through the ‘Plugins’ screen in WordPress, go to your http://siteexample.com/wp-admin/ area and use the Settings->WP Geo Controller to see all available shortcodes and settings.

On uninstall

You must know when you uninstall WP Geo Controller you will lose complete setup, license and any other changes you have inside your WordPress installation. On uninstall we clean everything from your database that our plugin generates and you can not return that information back.


Is WP Geo Controller free? Is there some license or restrictions?

WP Geo Controller uses a combination of free and paid services that return information about the locations.

WP Geo Controller is free by itself but API lookup is limited to 1000 lookups per day for the free users. If you need to have UNLIMITED lookup with NO RESTRICTIONS, please visit official website for more information regarding prices.

The reason for the payment of the license is obvious: -We have to pay the server we use to provide you information via API, development requires hours and hours of work at the daily level, the availability of the service must be 24/7 with no stop and for a lot of coffee.

Also you must know that few options like REST API, WooCommerce Payment Options, Spam Protection, Currency Converter are locked for the unlicensed usage because those options rely on the unlimited lookups and can break the website or stop working when you reach limits.

Do WP Geo Controller use 3rd party services?

WP Geo Controller is a geo information provider and we provide our own geo information via API services builded on the WP Geo Controller servers. WP Geo Controller has its own databases of IP addresses and geo locations related to that IP addresses. WP Geo Controller may use inside own API service and 3rd party API services like MaxMind, GeoIP and Geo Plugin like additional support for the certain informations for the more precise location or currency information.

Note that WP Geo Controller DO NOT STORE any personal information without your knowledge and approval and not provide personal information to 3rd parties. WP Geo Controller not selling and not providing own databases to 3rd parties in any case. We handle only with world wide public information that is visible to anyone (client IP, server IP, hostname) and using simple processes we return geo information and following services.

For more informations you visit Terms and Conditions and Privacy Policy pages on our official website.

How I can test WP Geo Controller is work on certain country, region or city?

That part is a little bit hard but you can use great VPN service – NordVPN
With this service you can change your current location and test WP Geo Controller and its functionality.

Can I use CF Geop Plugin inside a custom template?

Yes! You can! You just need to follow instructions from your admin panel http://siteexample.com/wp-admin/ area and use the Settings->WP Geo Controller to see all available shortcodes and settings.
NOTE: Some templates do not support WordPress PHP function [do_shortcode()](https://developer.wordpress.org/reference/functions/do_shortcode/) and data from WP Geo Controller will not be visible.

Can GeoPlugin slow down my site?

NO, WP Geo Controller uses the asynchronous data reading from API services. After loading, all data is stored in a session. That session is stored until IP is changed. When the user’s IP changes, the plugin reads new data and stores in the new session.

Can I set the different value if the shortcode shows no results?

YES, just add the attribute default in shortcode and corresponding text like this:
[cfgeo return=”city” default=”Your Default Text”]

How to include CF Geop Plugin in PHP?

In PHP you can use WordPress function [do_shortcode()](https://developer.wordpress.org/reference/functions/do_shortcode/) to display data via shortcode inside your PHP file. Also you have option to use PHP class new CF_Geoplugin or you can use GLOBALS and get data via global $CF_Geo like example:

// check if plugin exists
    // include plugin class
    $cfgeo = new CF_Geoplugin;
    // get data
    $geo = $cfgeo->get();
    // print data
    echo $geo->city;

or with globals:

// object oriented
global $CF_GEO;
echo $CF_GEO->city;

// Array
global $CFGEO;
echo $CFGEO['city'];

How to use CF Geop Plugin inside JavaScript?

JavaScript is enabled from version 5.2.0. In JavaScript you have 2 ways to get geo data from our plugin, using cf.geoplugin or window.cfgeo objects. These 2 objects contain all geo information from our plugin and are available inside the public and admin area.

    // Look in your console for all available objects

    // you can use this everywhere you want

    var city = window.cfgeo.city,
        state = window.cfgeo.state,
        country = window.cfgeo.country,
        ip = window.cfgeo.ip;

How to use WP Geo Controller inside ContactForm7?

Sometimes you need to include other HTML, CSS and JavaScript, and jQuery codes inside ContactForm7. Sometimes you need to insert a geolocation in input fields. This is not easy but here is one example with jQuery:

[text* city placeholder "* City Name"]
[text* country placeholder "* Country Name"]


This code will auto fill the value of CF7 city field when a visitor visits the contact page (look screenshots).

  • All geo information you can find inside the global window.cfgeo object.

WP Geo Controller don’t display information

  • It might be an error with the provider’s geoPlugin network or API and WP Geo Controller can’t display information on its own.
  • Look inside WP Geo Controller for all available shortcodes and settings,
  • Look inside WP Geo Controller->Settings and enable/disable and check all options (SSL, proxy, etc),
  • Maybe you have PHP error, you can see that if you enable plugin debug in wp-config.php inserting on first lines code: define('WP_CF_GEO_DEBUG', true);
  • Some people use a special software to hide IP address via proxy and geoplugin can’t look deeper to get accurate location,
  • Look into error.log file to see if a problem is in WP Geo Controller
  • Some servers not allow access to geoplugin sites and maybe you need to use proxy settings inside plugin to enable tracking
  • You reach some API limitations

Please inform us if any of these errors occur via contact form on our website http://creativform.com with message subject: WP Geo Controller SUPPORT


02 March 2022
Plugin excelente, funciona perfeito. Parabéns pela equipe desenvolvedora.
09 November 2020
We're having problems using SEO wildcard redirection. Waiting any response from deveopers for days.
29 August 2020
We were investigating this plugin. Stefan and his team were so prompt, helpful and responsive. Everything moves forward and we thank their team.
Read all 22 reviews

Contributors & Developers

“WP Geo Controller” is open source software. The following people have contributed to this plugin.


Translate “WP Geo Controller” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • Optimized plugin cache


  • Added support for the WordPress 6.1
  • Fixed metaboxes in repeater
  • Optimized PHP code


  • Fixed database cache
  • Improved and optimized location search system


  • Adding new info box in the settings
  • Adding new support for the GPS extension
  • Adding new function CFGP_U::array_insert_after_key
  • Fixing WooCommerce default country address


  • Fixing EU shortcodes
  • Preparing for the APCu caching


  • Fixing admin form formatting


  • Fixing Currency Converter


  • Fixing problem with localhost detection


  • Update trademark names and banners
  • Update plugin security


  • Advanced geolocation for WooCommerce
  • Removed deprecated algorithms


  • Fixed SEO redirection algorithm
  • Improved memory cleaning
  • Improved site protection algorithm
  • Fixed currency calculator
  • Fixed localhost detection
  • Removed obsolete PHP codes
  • Improved security
  • Improved user interface


  • Improved hiding of the navigation menu by geolocation
  • Fixed PHP warnings
  • Fixed REST API subversion bugs


  • Improved WP Rocket and SiteGround Cache
  • Improved REST API code
  • Removed unnecessary code
  • Fixed localhost problems


  • Fixed WooCommerce widget
  • Fixed SEO redirection table


  • Fixed memory leaking on custom post types


  • Fixed license deactivation
  • Removed deprecated code
  • Adding support for future PHP version


  • Fixed menu geolocations
  • Fixed notifications
  • Fixed Contact Form 7 inputs
  • Fixed Yoast SEO tags


  • Improved Contact Form 7 integration
  • Improved PHP code


  • Switched to new API keys
  • Added new utilities, endpoints, actions & filters
  • Added redirection modes
  • Removed unnecessary functionality
  • Optimized PHP code