K Khan
OMVPPaaS CMS Administrator Certification
Oct 6, 2016
visibility 7340
star star star star star
(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 :)





error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026