K Khan
Oct 6, 2016
  7000
(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
Announcing new library: SettingsManager

When you run .net app, there have been a few ways to store settings. Those can be set via appSettings.json, or via Azure Portal AppService...

Quan Mai | Apr 30, 2026

From Prompting to Production: Optimizely Opal University Cohort and the Future of Agentic MarTech

Most organizations today are still playing with AI. They experiment with prompts, test ideas in isolated chats, and occasionally automate a task or...

Augusto Davalos | Apr 28, 2026

Six Compelling Reasons for Upgrading to CMS 13

Most software updates ask you to keep up. Optimizely CMS 13 asks something different — it asks whether your digital strategy is built for a world...

Muhammad Talha | Apr 28, 2026

Optimizely CMS 13 breaking changes: GetContentTypePropertyDisplayName

When upgrading from CMS 12 to 13, resolving property display names may not work as before. Here’s what changed.

Tomas Hensrud Gulla | Apr 27, 2026 |