For more details see how the GeoIP Redirect extension works.
Detect store visitors' location and automatically provide them with the appropriate store view, currency, and language. Move your business to the global level without creating additional stores.
To install the GeoIP Redirect database, go to Stores → Configuration → Amasty Extensions → GeoIP Data.
You can get the databases automatically or import your own data.
Hit the Download and Import button to make the extension download the updated CSV dump file and import it into your database automatically.
To import the files from your own source, use the Import option. Path to the files should look like this (the part 'var/amasty' should be replaced with your folders’ names):
var/amasty/geoip/GeoLite2-City-Blocks-IPv4.csv var/amasty/geoip/GeoLite2-City-Blocks-IPv6.csv var/amasty/geoip/GeoLite2-City-Locations-en.csv
If you face any difficulties with importing the location database, please see the following solution.
The database included in the extension was last updated on October 24, 2023. To keep the IP database current, you can update it using one of two methods.
Refresh IP Database - select the appropriate method for refreshing the IP database:
You can enable IP forcing, which makes it possible to set a specific IP address that will be used instead of the visitor's real IP address when determining geolocation. The feature is useful while configuring or testing the extension.
Enable Force IP - set to Yes to replace the real IP address.
Force IP Address - specify the address to use instead of a real one.
To configure the GeoIP Redirect extension, go to Stores → Configuration → Amasty Extensions → GeoIP Redirect.
Enable GeoIP Redirect — Set to Yes to enable the extension.
Display Popup to Customers when Redirecting - set to Yes to display confirmation redirect pop-up to customers. The setting allows your website to be compliant with EU regulations regarding geo-blocking and country redirects.
Redirect Popup Type - choose Notification Popup just to inform customers about the redirection or Confirmation Popup if you want them to be allowed to decline redirection and stay at the initial website.
Confirmation Redirect Popup Text - specify the text that will be displayed to a customer on a pop-up before redirection happens.
Apply Logic To — select the general logic of redirecting rules:
Excepted URLs — choose the Specified URLs or All Except Specified URLs options above to define the excepted URLs here.
User Agents to Ignore — ignore redirection rules for specified search engines.
IP to Ignore — restrict redirection for certain IP addresses. Specify each IP on a separate line.
First Visit Redirect Only — activate to enable redirection only for the first visit.
Redirect Between Websites — enable to redirect visitors between several websites.
IP to block - specify IP addresses you want to block.
CMS page to display - choose CMS page that will be displayed to the restricted customer.
Enable Country –> Store View — enable to redirect visitors from certain countries to particular store views.
When enabled, switch the Store View dropdown menu to the required version and define the list of countries that will be affected.
Enable Country –> Currency — set this option to Yes to automatically switch currency according to user’s location.
Country to Currency Mapping — define country — currency relation by selecting countries and the appropriate currencies. Hit the Add button to create a new relation.
Enable Country –> URL — enable to redirect visitors from certain locations to any other URL.
Country to URL Mapping — select locations and specify the URL that would be used for redirection. Use the Add button to create a new country — URL relation.
Sometimes, it is unable to complete the database import due to execution time limit of PHP scripts. You can avoid this error by increasing the maximum execution time for your PHP scripts.
You need to set the max_execution_time to the number of seconds that all your scripts are allowed to run in your PHP's configuration file. The file location may differ from system to system but in general you need to find the PHP.INI file and modify it.
We need to set the value to 18000.
For example:
; Maximum execution time of each script, in seconds ; http://php.net/max-execution-time ; Note: This directive is hardcoded to 0 for the CLI SAPI max_execution_time = 18000
Setting the value to 0 means there's no time limit.
You'll have to restart your web server for this solution to work.
To make the redirect functionality work with Varnish Cache enabled, it is necessary to change just a few things in the web server configuration:
1. For nginx - add the following code in any place of the nginx.conf file:
set_real_ip_from <varnish-ip>;
2. For apache - add the following code in any place of the .htaccess file:
RemoteIPTrustedProxy <varnish-ip>;
Where <varnish-ip> is an IP address of the Varnish server.
You can contact a hosting provider to change the web server configuration or do it on your own. With an independent change, you need to have root access and restart the server after the changes are implemented.
* Is the GeoIP Redirect module compatible with Varnish?
* How does the GeoIP Redirect module work with Cloudflare?
* Will the module work on Magento Cloud with Fastly?
* How often should I update the GeoIP Database?
* The module works inconsistently when tested with VPN. What could be the reason?
Find out how to install the GeoIP Redirect extension via Composer.