Het probleem: Het aanbod content of producten per land laten verschillen.

Één van onze opdrachtgevers verkoopt een product die deze klant alleen wil verkopen in de BeNeLux en niet daar buiten. Een gemakkelijke oplossing was natuurlijk om alle landen buiten de BeNeLux uit te sluiten maar aangezien er ook andere producten van deze klant buiten de BeNeLux worden verkocht was dit niet de ideale oplossing. Wij gingen opzoek naar een oplossing voor dit probleem en vonden er een.

De oplossing: Op basis van de geografische locatie content verbergen op de webshop

Op basis van het IP adres kunnen we de geografische locatie van een bezoeker bepalen. Bij de eerste request van een bezoeker kunnen we het IP-adres van de bezoeker achterhalen. Aan de hand van het IP-adres kunnen we via een externe dienst bepalen wat de exacte geografische locatie van de bezoeker is. Vervolgens plaatsen we een cookie in de browser bij de bezoeker zodat we tijdens de vervolgsessie van de bezoeker niet elke keer opnieuw de locatie hoeven te bepalen.

We liepen tijdens het ontwikkelproces van deze oplossing wel tegen het volgende probleem aan: Google bezoekt de website vanuit Amerika, maar je wil Google en de andere zoekmachines wel volledige toegang geven tot alle content van de website. Tevens ondersteunen Zoekmachine crawlers geen cookies en daarom moesten we de oplossing enigszins herschrijven.

Dit deden we door tijdens de eerste request als eerste te kijken naar de User-Agent van het IP adres. Aan de hand van de User-Agent kunnen we bepalen om wat voor soort bezoeker het gaat. We kijken dus eerst of het een crawler is of een bezoeker. Is het een crawler van bijvoorbeeld Google dan krijgt hij volledige toegang tot de website om ervoor te zorgen dat het geen invloed heeft op de SEO van website. Is het een bezoeker? Dan bepalen we de locatie van de bezoeker eerst en bepalen we op basis van de geografische wat de bezoeker wel of niet krijgt te zien.

Hoe we de geografische locatie bepalen op basis van het IP-adres.

Elke persoon/server/robot heeft op het internet een toegewezen IP adres. Dit is nodig om met elkaar te kunnen communiceren over het internet. De Internet Assigned Numbers Authority beheert alle IP-adressen wereldwijd. Elk IP range (Dus meerdere IP adressen) worden toegekend aan een bepaalde regio of gebied binnen een land. Deze gegevens worden opgeslagen in een grote database. Er zijn verschillende diensten die deze database aanbieden in de vorm van een API zodat je snel kunt zien wat de locatie van een ip adres is.

Diensten die dit mogelijk maken zijn:

Is blokkeren op basis van IP adres waterdicht?

Het antwoord: Nee. Dagelijks komen er duizenden nieuwe IP adressen bij en deze worden vervolgens pas later ingedeeld op geografische locatie.
Tevens kun je op het internet je IP adres spoofen. Dit betekend dat je je kunt voordoen als bijvoorbeeld als een bezoeker uit Zuid-Afrika maar eigenlijk je in Nederland zit.