Title: Geo Controller &#8211; IP Geolocation &amp; Geotargeting
Author: INFINITUM FORM
Published: <strong>21 de diciembre de  2015</strong>
Last modified: 15 de octubre de  2026

---

Buscar plugins

![](https://ps.w.org/cf-geoplugin/assets/banner-772x250.png?rev=2977840)

![](https://ps.w.org/cf-geoplugin/assets/icon-256x256.png?rev=2852950)

# Geo Controller – IP Geolocation & Geotargeting

 Por [INFINITUM FORM](https://profiles.wordpress.org/creativform/)

[Descargar](https://downloads.wordpress.org/plugin/cf-geoplugin.9.0.4.zip)

 * [Detalles](https://es-ar.wordpress.org/plugins/cf-geoplugin/#description)
 * [Valoraciones](https://es-ar.wordpress.org/plugins/cf-geoplugin/#reviews)
 *  [Instalación](https://es-ar.wordpress.org/plugins/cf-geoplugin/#installation)
 * [Desarrollo](https://es-ar.wordpress.org/plugins/cf-geoplugin/#developers)

 [Soporte](https://wordpress.org/support/plugin/cf-geoplugin/)

## Descripción

Geo Controller is a transformative WordPress plugin, previously known as **CF Geo
Plugin**, that personalizes and enhances your website based on users’ geographic
locations. By automatically determining visitors’ locations, it can display custom
greetings and tailored content, significantly increasing user engagement and interaction.

The plugin also includes an advanced TOR network detection system, allowing website
owners to manage visitors using the TOR network by blocking, hiding, or displaying
specific content. Geo Controller integrates easily with geo tags, Google Maps, and
various forms of content across posts, pages, widgets, and custom templates, requiring
minimal coding knowledge.

It is fully compatible with popular plugins like WooCommerce, Contact Form 7, Yoast
SEO, and WP Super Cache, ensuring a seamless user experience. Additionally, Geo 
Controller enhances SEO through geo tags and redirects, offers spam protection, 
and optimizes WooCommerce stores with features like geolocation, payment method 
control, and local currency display.

On the technical side, the plugin uses a Content Delivery Network (CDN) for optimal
loading speed and leverages API use to reduce local data storage. Geo Controller
also ensures legal compliance by filtering content based on regional laws, protecting
your site from potential legal conflicts.

For more information, visit [Geo Controller Plugin](https://wpgeocontroller.com).

#### FREE AND PAID SERVICES

Geo Controller for WordPress is completely free! But, just like a superhero needs
their trusty sidekick, Geo Controller also works with [paid services](https://wpgeocontroller.com/information/new-plugin-new-features-new-success/)
that give you unlimited information about your website’s visitors. However, for 
the free users, the API services are [limited to 500 lookups](https://wpgeocontroller.com/documentation/quick-start/frequently-asked-questions/how-does-lookup-work)
per day. But don’t worry, if you want to take your location detection game to the
next level, you can upgrade to UNLIMITED lookups by visiting our [official website](https://wpgeocontroller.com/pricing/).

And the best part? We often have monthly promotions and discounts, so don’t forget
to check out our [pricing page](https://wpgeocontroller.com/pricing/) on the official
website for more information.

Geo Controller works as a [service](https://en.wikipedia.org/wiki/Software_as_a_service),
so sit back, relax, and let the plugin do all the hard work for you.

#### BENEFITS

> **SERVER & WORDPRESS**
>  * **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
>  * **TOR network** detection system
> **SEO INTEGRATIONS**
>  * **Redirects visitors** to a blog page based on their geo information by SEO
>    rules
>  * **Redirects visitors** to a predefined URL based on their geo information 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** attaches Geo Tags in the head of your website for specific
>    pages
>  * **Cache support**
> **GEOMARKETING**
>  * **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 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 if the current country is under the tax rate
>  * **Use EU** to check if the country is from the European Union
> **ANTI-SPAM PROTECTION**
>  * **Spam protection** from dangerous visitors or spammers
>  * **Blocking access** to the website from specific user-defined locations
>  * **Blocking IP Addresses** from accessing the website
> **LOCALIZATION**
>  * **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.
> **LEGAL REQUIREMENTS**
>  * **Filter required legal notices**, text, forms, etc., from countries for whom
>    those contents may not be relevant.

#### Compatibility

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

 * [GPS for Geo Controller](https://wordpress.org/plugins/cf-geoplugin-gps/) (Enable
   GPS lookup for the Geo Controller and collect geodata from the mobile visitors.)
 * [WooCommerce](https://woocommerce.com/) (geolocate, payment controls & currency
   converter)
 * [Gravity Forms](https://www.gravityforms.com/) (new fields for adding country,
   region, city)
 * [Wooplatnica](https://wordpress.org/plugins/wooplatnica/) (currency converter)
 * [Monarch](https://www.elegantthemes.com/plugins/monarch/) (Geo Banner support)
 * [Cloudflare](https://www.cloudflare.com/) (Cache and deep IP recognitions)
 * [Contact Form 7](https://wordpress.org/plugins/contact-form-7/) (JavaScript objects
   and shortcode support)
 * [Nord VPN proxy service](https://goo.gl/lWm3e6) (PROXY settings)
 * [Yoast SEO](https://wordpress.org/plugins/wordpress-seo/)
 * [All in one SEO pack](https://wordpress.org/plugins/all-in-one-seo-pack/)
 * [WordPress SEO plugin](https://wordpress.org/plugins/seo-by-rank-math/)
 * [SEO framework](https://wordpress.org/plugins/autodescription/)
 * [WP Fastest Cache](https://wordpress.org/plugins/wp-fastest-cache/)

**IMPORTANT**: Geo Controller is compatible with most plugins, but occasional conflicts
may occur due to the variety of WordPress setups. If you encounter issues, contact
support. Keeping your plugins and WordPress updated often resolves problems.

> **All Geo Controller for WordPress 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 targets 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 to the 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 information
>  * **SSL Support** – Keeps you safe
>  * **Cache Support** – Allows 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

#### Basic Usage and Examples

    ```
    [cfgeo_flag]
    [cfgeo]
    [cfgeo_city]
    [cfgeo return="region"]
    We just found shoes in [cfgeo_city] that you can buy for 50% discount.
    [cfgeo ip="127.0.0.1" return="area_code"]
    [cfgeo exclude="Toronto"] This text is seen by everyone except Toronto people [/cfgeo]
    [cfgeo include="New York"] This text is seen only by 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](https://wpgeocontroller.com/documentation/quick-start/cf-geoplugin-shortcodes/).

But here are some simple examples:

The Geo Controller allows you to add location-based functionality to your website.
It is a simple plugin to use, after installation and activation, you just need to
insert the shortcode **`[cfgeo]`** in your post or page. This shortcode returns 
and displays the IP address of the visitor.

You can also display different location-based information by using the return attribute
in the shortcode. For example, to display the region of the visitor, you can use
the shortcode **`[cfgeo return="region"]`**. By changing the return attribute, you
can display any information from the list provided by the plugin. Each user visiting
the site will see information related to their area.

Additionally, you can also track custom IP addresses and return information from
that IP by adding an optional attribute called ip. For example, **`[cfgeo ip="127.0.0.1"
return="area_code"]`** will return the area code from that IP address.

If the plugin is unable to locate the information, you can add a default value to
the shortcode by using the default attribute. For example, **`[cfgeo return="country_code"
default="US"]`** will return “US” if the plugin is unable to locate the country 
code.

You can exclude or include content on your page based on the user’s location by 
using the `exclude` or `include` attribute. For example,

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

will hide the content “This text is seen by everyone except people from Toronto 
and Québec” from the visitors that are located in Toronto or Québec.

Similarly, if you want to display some content only to specific locations you can
use the include attribute like this:

    ```
    [cfgeo include="New York, Miami, Germany"] This text is seen only by people from New York, Miami and Germany [/cfgeo]
    ```

this shortcode will only display the text “This text is seen only by people from
New York, Miami and Germany” to the visitors that are located in New York, Miami,
and Germany.

You can use the include and exclude attributes with country, region, or city codes.
For example, **`[cfgeo include="US, GB, DE"]`** displays content only to visitors
from the US, Great Britain, and Germany, while **`[cfgeo exclude="CA, ON, QUE"]`**
hides content from visitors in California, Ontario, and Québec.

By using these attributes you can control the content visibility based on user location
and personalize the user experience.

Please note that you need to use an accurate location name to include or exclude
content and case-sensitive location name.

**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 in two easy ways:

    ```
    [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 are default options that 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 default="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.

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

Google Map also allows you to use HTML inside the map and display an 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> 
    [/cfgeo_map]
    ```

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

**GEO BANNER:** With this plugin, you can create dynamic content (text, images, 
banners, videos) and target messages to specific regions, track IP addresses, and
set up WordPress to work in the user’s timezone. This can increase conversions and
support custom templates or plugins.

Simply create a new banner, add your content, select rules (country, region, city),
save it, and place the banner shortcode in your page content.

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

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

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

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

    ```
    [cfgeo_flag img] - and you will see the 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 a custom flag using the country attribute by placing the country
code simply like:

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

We allow you also full control of these flags and you can place css, class, or id
attributes to be able to 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 control your flag 
view:

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

or

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

#### Info & Contact

Please visit our website [www.wpgeocontroller.com](https://wpgeocontroller.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 the contact form on our website [http://wpgeocontroller.com/](https://wpgeocontroller.com/contact).

Thank you for your concern!

~ Your Geo Controller Team

#### Plugin Links

 * [Geo Controller Website](https://wpgeocontroller.com/)
 * [Documentation](https://wpgeocontroller.com/documentation/)
 * [F.A.Q](https://wpgeocontroller.com/faq/)
 * [Blog](https://wpgeocontroller.com/blog/)
 * [Contact or Support](https://wpgeocontroller.com/contact/)
 * [Terms and Conditions](https://wpgeocontroller.com/terms-and-conditions)
 * [Privacy Policy](https://wpgeocontroller.com/privacy-policy)

#### DONATION

Enjoy using _Geo Controller_? Please consider [making a small donation](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=creativform@gmail.com)
to support the project’s continued development.

#### TERMS AND CONDITIONS

BY INSTALLING THIS PLUGIN WE CONSIDER THAT YOU ARE AUTOMATICALLY ACCEPT TERMS AND
CONDITIONS OF OUR SERVICES AND AGREE WITH THE PRIVACY POLICY.

Please read these Terms and Conditions (“Terms”, “Terms and Conditions”) carefully
before using the [www.wpgeocontroller.com](https://wpgeocontroller.com) website 
and the Geo Controller WordPress application (the “Service”) operated by Geo Controller.

[Read about Terms and Conditions](https://wpgeocontroller.com/terms-and-conditions)

#### PRIVACY POLICY

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.wpgeocontroller.com](https://wpgeocontroller.com) owned and operated
by 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](https://wpgeocontroller.com/privacy-policy)

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

## Capturas

[⌊Geo Controller Available shortcodes and values⌉⌊Geo Controller Available shortcodes
and values⌉[

Geo Controller Available shortcodes and values

[⌊CF Google Map shortcodes and setup⌉⌊CF Google Map shortcodes and setup⌉[

CF Google Map shortcodes and setup

[⌊Anti Spam Protection settings⌉⌊Anti Spam Protection settings⌉[

Anti Spam Protection settings

[⌊Geo Controller global settings⌉⌊Geo Controller global settings⌉[

Geo Controller global settings

[⌊Debug Mode for Geo Controller and IP Lookup⌉⌊Debug Mode for Geo Controller and
IP Lookup⌉[

Debug Mode for Geo Controller and IP Lookup

[⌊Adding shortcode in text editor⌉⌊Adding shortcode in text editor⌉[

Adding shortcode in text editor

[⌊Admin bar quick links⌉⌊Admin bar quick links⌉[

Admin bar quick links

[⌊Example 1⌉⌊Example 1⌉[

Example 1

[⌊Example 2⌉⌊Example 2⌉[

Example 2

[⌊Example 3⌉⌊Example 3⌉[

Example 3

[⌊SEO Redirection settings⌉⌊SEO Redirection settings⌉[

SEO Redirection settings

[⌊Contact Form 7 settings⌉⌊Contact Form 7 settings⌉[

Contact Form 7 settings

[⌊Available tags⌉⌊Available tags⌉[

Available tags

[⌊WooCommerce Settings⌉⌊WooCommerce Settings⌉[

WooCommerce Settings

[[

## Instalación

Installing Geo Controller for WordPress is a breeze. Just follow these simple steps:

 * Upload the plugin files to the **/wp-content/plugins/cf-geoplugin** directory,
   or install the plugin through the WordPress plugins screen directly.
 * Activate the plugin through the “Plugins” screen in WordPress
 * Go to the Geo Controller settings page and configure your settings
 * That’s it! You’re ready to start greeting your visitors with personalized messages.

#### On uninstall

When you uninstall the Geo Controller plugin, all associated data, including setup,
license, and changes, will be permanently deleted from your WordPress installation.
This process is irreversible, so ensure you have backups of any important data before
proceeding.

## Preguntas frecuentes

### What should I do if the plugin doesn’t work?

Geo Controller is designed to be compatible with most plugins, the WordPress ecosystem
is vast and complex. With thousands of different plugins available and millions 
of unique WordPress installations, each with their potential combinations of themes,
plugins, and settings, the landscape is incredibly diverse.

What this means is that although efforts have been made to ensure Geo Controller
works smoothly with other plugins, there might be instances where conflicts occur.
A “conflict” in this context refers to two or more plugins interfering with each
other’s functionality. This could cause one or both plugins to not work as intended,
or even cause issues with the overall function of the website.

It’s almost impossible to test Geo Controller against every possible combination
of plugins and WordPress configurations. Therefore, a 100% guarantee of compatibility
cannot be given. It’s a rare occurrence, but sometimes, specific plugins might not
work well with Geo Controller.

If such a problem arises, it’s crucial to reach out to the support teams of Geo 
Controller or the other plugin involved. This collaborative approach often leads
to a quick resolution of the issue. Both sets of developers understand their products
intimately and will be able to assist in finding a solution.

Furthermore, many compatibility issues stem from outdated software. Plugins, themes,
and even WordPress itself are continually being updated. These updates often include
fixes for known conflicts and compatibility issues. Therefore, keeping all aspects
of a WordPress site up to date – including Geo Controller, other plugins, and the
WordPress installation itself – is usually the most straightforward way to prevent
or resolve these conflicts.

In summary, while Geo Controller aims to be compatible with most plugins, the sheer
variety of the WordPress environment means that occasional conflicts may arise. 
Open communication with support teams and keeping software up to date are the best
strategies to ensure a smooth experience.

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

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

Geo Controller is free by itself but API lookup is limited to 500 lookups per day
for the free users. If you need to have UNLIMITED lookup with NO RESTRICTIONS, please
visit [official website](https://wpgeocontroller.com/pricing/) 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 Geo Controller use 3rd party services?

Geo Controller is a geo information provider and we provide our own geo information
via API services builded on the Geo Controller servers. Geo Controller has its own
databases of IP addresses and geo locations related to that IP addresses. Geo Controller
may use inside own API service and 3rd party API services like [MaxMind](https://www.maxmind.com/en/home),
[GeoIP](http://php.net/manual/en/intro.geoip.php) and [Geo Plugin](https://www.geoplugin.com/)
like additional support for the certain informations for the more precise location
or currency information.

Note that Geo Controller DO NOT STORE any personal information without your knowledge
and approval and not provide personal information to 3rd parties. 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](https://wpgeocontroller.com/terms-and-conditions)
and [Privacy Policy](https://wpgeocontroller.com/privacy-policy) pages on our [official website](https://wpgeocontroller.com).

### How I can test 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](https://goo.gl/AEd82e)

With this service you can change your current location and test 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->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 Geo Controller will not be visible.

### Can GeoPlugin slow down my site?

NO, 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:

    ```
    // Preferred usage
    $data = CFGP_U::api();              // Full structured geodata array
    $country = $data['country'] ?? '';  // Safe access to fields

    // Access a single field from the API via helper
    $country = CFGP_U::api('country');      // e.g. "Germany"
    $countryCode = CFGP_U::api('country_code');

    // Explicit lookup via the API class (advanced)
    $response = CFGP_API::lookup('8.8.8.8', ['dns' => true]);
    // Always validate keys defensively
    if (is_array($response)) {
        $city = $response['city'] ?? '';
    }
    ```

or with globals:

    ```
    // 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.

    ```
    <script>
        // Look in your console for all available objects
        console.log(window.cfgeo);

        // you can use this everywhere you want

        var city = window.cfgeo.city,
            state = window.cfgeo.state,
            country = window.cfgeo.country,
            ip = window.cfgeo.ip;
    </script>
    ```

### How to use 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"]

    <script>
    jQuery(document).ready(function(){
        jQuery("input[name^='city']").val(window.cfgeo.city);
        jQuery("input[name^='country']").val(window.cfgeo.country);
    });
    </script>
    ```

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.

### Geo Controller don’t display information

 * It might be an error with the provider’s [geoPlugin](http://www.geoplugin.com/)
   network or API and Geo Controller can’t display information on its own.
 * Look inside `Geo Controller` for all available shortcodes and settings,
 * Look inside `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 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](http://creativform.com/contact/)
with message subject: **Geo Controller SUPPORT**

## Reseñas

![](https://secure.gravatar.com/avatar/a00f9c62f55667e9d971a0186c86c63e09183cf154d68fb5955a59571fb15044?
s=60&d=retro&r=g)

### 󠀁[Closing the door](https://wordpress.org/support/topic/closing-the-door/)󠁿

 [designwise](https://profiles.wordpress.org/designwise/) 13 de diciembre de 2025

Finally a way to slam the door on countries whose only goal is to hack.

![](https://secure.gravatar.com/avatar/4e9ad8554098b51a6eb1fb7a41ff66f869e7df98d114b79433c4edaa92b02301?
s=60&d=retro&r=g)

### 󠀁[nice and functional plugin](https://wordpress.org/support/topic/nice-and-functional-plugin/)󠁿

 [wildone1600](https://profiles.wordpress.org/wildone1600/) 26 de febrero de 2025

I work with international customers and this plugin helps me a lot getting the local
data.Tip: give some examples how to use the shortcodes and GEO Controller menu text
does not explain it shows all the shortcodes. Try to think as a dummy. Makes it 
a lot easier to understand.Thanks anyway for your plugin dev.

![](https://secure.gravatar.com/avatar/215d52a8d298dbbfa986c1d6c321a9ff817701c1629921672452250329153e57?
s=60&d=retro&r=g)

### 󠀁[Awesome plugin with geo-settings. Thank you](https://wordpress.org/support/topic/awesome-plugin-with-geo-settings-thank-you/)󠁿

 [bogdan547](https://profiles.wordpress.org/bogdan547/) 4 de octubre de 2024

I recently used the Geo Controller plugin, and I want to share my impressions. I
want to note right away that I liked the flexibility of the settings that allow 
you to adapt the service to your needs. This is especially important when working
with clients from different countries. The Geo Controller service provides a user-
friendly interface for managing geographic data, which greatly simplifies working
with international projects. Overall, I was satisfied with the service and recommend
it to those who are looking for a reliable plugin to work with geographical data.

![](https://secure.gravatar.com/avatar/647b436499e3a55a49132fbab6e487e8b0b42fa49bae26480f3005c0f26d2866?
s=60&d=retro&r=g)

### 󠀁[Best in the Geo plugins](https://wordpress.org/support/topic/best-in-the-geo-plugins/)󠁿

 [sumitsharmawp](https://profiles.wordpress.org/sumitsharmawp/) 13 de agosto de 
2024

Always gives precise result. This is the best geo location plugin. I started with
their free version and moved to a paid one. Thank you, team. keep it up.

![](https://secure.gravatar.com/avatar/c5915aeea657aac3c3c1b8a7c4509483bfde42b964ccf43c0b6ec79c66a298c8?
s=60&d=retro&r=g)

### 󠀁[Does the job well… BUT…](https://wordpress.org/support/topic/does-the-job-well-144/)󠁿

 [koandj](https://profiles.wordpress.org/koandj/) 21 de junio de 2024 1 respuesta

First, the documentation should definitely improve: elements are missing, implementation
is not as clear, same with options (i.e. can I use the original name? Like Firenze
instead of Florence), etc. Lots can be done there. And it's a bit annoying that 
it uses square brackets [ ] rather than curly {{ }}, because when you copy and paste,
Gutenberg automatically converts the content to a shortcode, and this is no shortcode.
Also, I live in London, but if I write include="London" it fails to recognise me
because it believes my City is Westminster, which is rather the borough. The 1000
hits a day limit is not going to work for many: simply including the code in a post
and testing it already consumed 54 hits (7 upon opening the settings page the first
time). Anyway, the plugin does its job well. And I found that you can use it for
more than just text: if you write a paragraph with [cfgeo include=""], then any 
amount of content in any Gutenberg block, and then close another paragraph with 
a [/cfgeo], the entire content gets managed by the plugin. So that's great. If everything
I noted above can be sorted out, it's definitely a 5-star plugin. Ah, one more thing…
Give an option to remove the content in the top admin bar, for those who find it
unnecessary and annoying. Update: Ran out of the 1000 hits in just 1 week. Tested
this on 1 old page on a very niche blog getting just about a dozen visitors a day(
the page itself got only 2 visits in the period and the plugin is blocked on the
other pages with Asset CleanUp), so obviously it's not a real match and it seems
miscoded on purpose to convince you to upgrade… Guess it's not worth using this 
instead of other plugins then, unless you really need it and have the money. Downgraded
from 3 stars to 1.

![](https://secure.gravatar.com/avatar/bd442a797667283c5370b90fa014090c87fd643677b1aa5c187f8a5550d08c4a?
s=60&d=retro&r=g)

### 󠀁[Difficult Interface – Lacks documentation.](https://wordpress.org/support/topic/difficult-interface-lacks-documentation/)󠁿

 [fullermetric](https://profiles.wordpress.org/fullermetric/) 24 de noviembre de
2023

Thought I would give this a try. Documentation was not clear to know whether you
adding countries to block or adding countries to allow. I tried both ways, but neither
choice blocked me when attempting to view our site through a VPN.. There are complete
sections missing from to documentation.

 [ Leer todas las 31 reseñas ](https://wordpress.org/support/plugin/cf-geoplugin/reviews/)

## Colaboradores y desarrolladores

“Geo Controller – IP Geolocation & Geotargeting” es un software de código abierto.
Las siguientes personas han colaborado con este plugin.

Colaboradores

 *   [ INFINITUM FORM ](https://profiles.wordpress.org/creativform/)
 *   [ Ivijan-Stefan Stipic ](https://profiles.wordpress.org/ivijanstefan/)

[Traduce “Geo Controller – IP Geolocation & Geotargeting” a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/cf-geoplugin)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/cf-geoplugin/) , echa
un vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/cf-geoplugin/),
o suscríbete al [log de desarrollo](https://plugins.trac.wordpress.org/log/cf-geoplugin/)
por [RSS](https://plugins.trac.wordpress.org/log/cf-geoplugin/?limit=100&mode=stop_on_copy&format=rss).

## Registro de cambios

#### 9.0.4

 * Fixed [in_eu] and [not_in_eu] shortcode registration after the Simple Shortcodes
   option moved from beta to standard settings.

#### 9.0.3

 * Security: moved dedicated Geo Controller API endpoints to HTTPS and removed the
   former automatic direct-IP HTTP downgrade.
 * API: added centralized, backward-compatible GET/POST transport selection; GET
   remains the default, while POST sends API parameters in the request body.
 * Added an optional Defender emergency direct-IP HTTP fallback that is disabled
   by default and excludes license keys, API secrets, authentication tokens, passwords,
   and renewal data.
 * Security: validated forwarding headers against trusted proxy and Cloudflare ranges,
   bounded and rate-limited public location requests, and restricted integration
   actions to administrators.
 * Security: safely JSON-encoded dynamic geolocation JavaScript property names and
   values so remote or cached data cannot escape the inline object.
 * Compatibility: preserved geolocation, Defender, licensing, API response handling,
   product information, Live News, and WordPress update integrations.

#### 9.0.2

 * Fixed escaped shortcode examples and interactive map configuration output.
 * Moved the Simple Shortcodes option to standard feature settings and kept Redis
   caching experimental.
 * Compatibility: improved WooCommerce Classic Checkout, Checkout Blocks, Store 
   API, and HPOS order handling.
 * Fixed WooCommerce price conversion, geolocation, payment-country restrictions,
   and gateway settings output.

#### 9.0.1

 * Fixed license renewal synchronization for renewed subscription activations.
 * Added automatic renewal revalidation for valid subscription activations.
 * Improved expired-license renewal diagnostics and administrator guidance.

#### 9.0.0

 * Compatibility: maintained PHP 7.0 to PHP 8.4 support.
 * Stabilized shortcode and Geo Banner caching across transient, database, and Redis
   modes.
 * Fixed cache cleanup and prevented Geo Banner caching when disabled.
 * Stabilized shortcode, GPS, Geo Banner, and Google Map attributes while preserving
   legacy support.
 * Added optional REST API transport for public authentication and lookups; AJAX
   remains the default.
 * Added API transport settings and endpoint documentation.
 * Preserved existing API responses and access-token behavior.
 * Security: protected Defender saves, previews, and bypass cookies with capability,
   nonce, and method checks.
 * Security: limited permanent Defender bypass to administrators and removed legacy
   recovery and bot bypasses.
 * Security: added single-use recovery links for temporary WordPress login access.
 * Security: protected global and page-level SEO settings with capability, nonce,
   and method checks.
 * Fixed postcode matching, country-city redirects, exclusion rules, empty CSV exports,
   and import rollbacks.
 * CSS display controls now preserve flex, grid, inline, inline-block, table, and
   other display modes.

#### 8.9.9

 * Security: Hardened Gravity Forms field value handling and validation.
 * Security: Improved authorization checks and data handling in SEO redirection 
   tools.
 * Fixed SEO CSV import rollback handling to correctly preserve existing redirection
   data.

#### 8.9.8

 * Confirmed compatibility with WordPress 7.1

#### 8.9.7

 * Security: Fixed CVE-2026-12147 and improved security hardening.
 * Compatibility: Improved compatibility with the latest WordPress release and Plugin
   Check.
 * Improvements: Enhanced code quality, internationalization, and WordPress Coding
   Standards compliance.
 * Maintenance: General stability improvements, optimizations, and minor bug fixes.

#### 8.9.6

 * IMPORTANT UPDATE: Fix security issues in plugin core
 * Remove exposed API key and improve access control
 * Enforce capability checks and harden AJAX/REST endpoints

#### 8.9.5

 * Fixed problem with false localhost detection
 * Fixed problems with license activation

#### 8.9.4

 * Changed business model and reduced free lookup from 1000 to 500 views per day.

#### 8.9.3

 * Added PHP support for the older PHP versions (7.0 and bove)

#### 8.9.2

 * Fixed unexpected PHP errors

#### 8.9.1

 * Added Client Hints (UA-CH) support for accurate detection
 * Improved UA fallback parsing, safer regex, and bot-first detection
 * Cleaner platform mapping
 * Backward compatible API
 * Fixed GUI and documentation
 * Code optimization

#### 8.9.0

 * Complete rewrite of plugin documentation with clearer structure and new usage
   examples.
 * Added Disclaimer / Legal Notice and Accessibility Statement.
 * Updated Privacy Policy and Terms & Conditions references.
 * Improved explanations for shortcodes, CSS, and Google Maps integration.
 * Enhanced CSV import/export instructions for SEO redirection.
 * Fixed minor typos and grammar issues across admin settings.
 * Small UI text refinements for better user experience.

#### 8.8.8

 * Improved GUI, fixed documentation.

#### 8.8.7

 * Fixed fatal error caused by Elementor update (removed deprecated Typography class)

#### 8.8.6

 * Fixed sidebar statistics in the WP Admin
 * Fixed typos in the WP Admin
 * Improved conditional logic of plugin
 * Improved performances

#### 8.8.5

 * Removed all PHP 5.6 specific syntax to support minimum PHP 7.4
 * Prepared and tested plugin compatibility for WordPress version 6.8
 * Brought codebase to PSR-12 coding standard
 * Refactored features and functionalities for faster execution and better maintainability
 * Modularized core logic for better structure and scalability
 * Optimized loading time by reducing unnecessary function calls
 * Improved type declarations and error handling for critical functions

#### 8.8.4

 * Removed PHP errors in regular versions
 * Removed obsolete code
 * Fixed cache problems

#### 8.8.3

 * Fixed problem with transients (must delete them after update)
 * Improved cache algorithms
 * Optimized PHP code

#### 8.8.2

 * License updates

#### 8.8.1

 * Fixed Woocommerce HPOS metabox order info
 * Improved IP filtering

#### 8.8.0

 * Fixed an issue with the Elementor builder
 * Fixed bugs with SEO module
 * Fixed bugs with IP address detection
 * Optimized PHP code

## Meta

 *  Versión **9.0.4**
 *  Última actualización **hace 4 horas**
 *  Instalaciones activas **1.000+**
 *  Versión de WordPress ** 6.0 o superior **
 *  Testeado hasta **7.1.3**
 *  Versión de PHP ** 7.0 o superior **
 *  Idioma
 * [English (US)](https://wordpress.org/plugins/cf-geoplugin/)
 * Etiquetas:
 * [geo redirect](https://es-ar.wordpress.org/plugins/tags/geo-redirect/)[GeoIP](https://es-ar.wordpress.org/plugins/tags/geoip/)
   [geolocation](https://es-ar.wordpress.org/plugins/tags/geolocation/)[geomarketing](https://es-ar.wordpress.org/plugins/tags/geomarketing/)
   [geotargeting](https://es-ar.wordpress.org/plugins/tags/geotargeting/)
 *  [Vista avanzada](https://es-ar.wordpress.org/plugins/cf-geoplugin/advanced/)

## Valoraciones

 4.4 de 5 estrellas.

 *  [  26 valoraciones de 5 estrellas     ](https://wordpress.org/support/plugin/cf-geoplugin/reviews/?filter=5)
 *  [  0 valoraciones de 4 estrellas     ](https://wordpress.org/support/plugin/cf-geoplugin/reviews/?filter=4)
 *  [  1 valoración de 3 estrellas     ](https://wordpress.org/support/plugin/cf-geoplugin/reviews/?filter=3)
 *  [  0 valoraciones de 2 estrellas     ](https://wordpress.org/support/plugin/cf-geoplugin/reviews/?filter=2)
 *  [  4 valoraciones de 1 estrellas     ](https://wordpress.org/support/plugin/cf-geoplugin/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/cf-geoplugin/reviews/#new-post)

[Ver todas las reseñas](https://wordpress.org/support/plugin/cf-geoplugin/reviews/)

## Colaboradores

 *   [ INFINITUM FORM ](https://profiles.wordpress.org/creativform/)
 *   [ Ivijan-Stefan Stipic ](https://profiles.wordpress.org/ivijanstefan/)

## Soporte

¿Tenés algo que decir? ¿Necesitás ayuda?

 [Ver el foro de asistencia](https://wordpress.org/support/plugin/cf-geoplugin/)

## Donar

¿Te gustaría apoyar el progreso de este plugin?

 [ Doná a este plugin ](https://ko-fi.com/ivijanstefanstipic)