K Khan
Oct 6, 2016
  6801
(3 votes)

EPi Server Extension for Maxmind GeoLite2

The geographic location database included in Episerver CMS contains geographic information created by MaxMind and is depending on a legacy database GeoLiteCity.Dat. Since from years no further development has been carried out on this provider, even the documentation in itself contains legace information :). Max mind offers now GeoLite2 in mmdb/csv format. 

GeoLite2 databases are free IP geolocation databases comparable to, but less accurate than, MaxMind’s GeoIP2 (Paid version) databases. These are updated on the first Tuesday of each month. MaxMind does not provide official support for the free GeoLite2 databases. If you have questions about the GeoLite2 databases or GeoIP2 APIs, please see stackoverflow’s GeoIP questions and answers. The GeoLite2 City database now includes Accuracy Radius data and works with IPV4 ip addresses.

A plugin will be available that can replace existing geo location provider. EPiServer's Geo Location related Visitor groups are dependent on this.

Code can be reviewed on Git. Any Comments are welcome

After some testing, This will be available on nuget.episerver.com to download. Following settings will change.

<geolocation defaultProvider="maxmind">
      <providers>
        <!--add name="maxmind" type="EPiServer.Personalization.Providers.MaxMind.GeolocationProvider, EPiServer.ApplicationModules" databaseFileName="App_Data\GeoLiteCity.dat" /-->
        <add name="maxmind" type="EPiServer.Extensions.Maxmind.GeoIp.Provider.MaxmindGeoIp2, EPiServer.Extensions.Maxmind.GeoIp" databaseFileName="App_Data\GeoLite2-City.mmdb" />
      </providers>
    </geolocation>
Oct 06, 2016

Comments

nitin anand
nitin anand Oct 17, 2017 10:59 AM

I have an old episerver 7 project where geo location criteria seems to be not working. I m suing GeoLiteCity.dat version in project. Do u have any clue why is this so?

K Khan
K Khan Oct 17, 2017 12:06 PM

I can have a look at the weekend, I did and tested this CMS 9+, but theoretically, it should work with 7 also.

/K

K Khan
K Khan Oct 17, 2017 03:14 PM

You will need probably following settings :)





Please login to comment.
Latest blogs
Graph access with only JS and Fetch

Postman is a popular tool for testing APIs. However, when testing an API like Optimizely Graph that I will be consuming in the front-end I prefer t...

Daniel Halse | Feb 4, 2026

Best Practices for Implementing Optimizely SaaS CMS: A Collective Wisdom Guide

This guide compiles collective insights and recommendations from Optimizely experts for implementing Optimizely SaaS CMS, focusing on achieving...

David Knipe | Feb 4, 2026 |

A day in the life of an Optimizely OMVP: Learning Optimizely Just Got Easier: Introducing the Optimizely Learning Centre

On the back of my last post about the Opti Graph Learning Centre, I am now happy to announce a revamped interactive learning platform that makes...

Graham Carr | Jan 31, 2026

Scheduled job for deleting content types and all related content

In my previous blog post which was about getting an overview of your sites content https://world.optimizely.com/blogs/Per-Nergard/Dates/2026/1/sche...

Per Nergård (MVP) | Jan 30, 2026

Working With Applications in Optimizely CMS 13

💡 Note:  The following content has been written based on Optimizely CMS 13 Preview 2 and may not accurately reflect the final release version. As...

Mark Stott | Jan 30, 2026

Experimentation at Speed Using Optimizely Opal and Web Experimentation

If you are working in experimentation, you will know that speed matters. The quicker you can go from idea to implementation, the faster you can...

Minesh Shah (Netcel) | Jan 30, 2026