He programando con mis rudimentarios conocimientos un pequeño experimento técnico sobre geolocalización de direcciones IP. Básicamente intenta distinguir con el menor código posible, de una forma «ligera» (ni siquiera requiere base de datos) si un visitante de una web llega desde España o desde fuera de España.
Si quieres hacer de conejillo de indias durante diez segundos, simplemente lee la siguiente página y marca si el sistema ha acertado o no. Allí también se pueden ver los resultados.
Prueba: geolocalización parcial por IP
Actualización: Tras más de 2.000 pruebas con los lectores habituales (¡gracias a todos!) parece que es razonablemente fiable: acierta el 95% de las veces, más o menos. (Dependiendo de la hora del día, entre el 60 y el 80 por ciento de nuestros lectores provienen de España, según las estadísticas generales). La función en PHP tiene unos 5 KB y requiere unas 0,5 milésimas de segundo de promedio para procesarse en el servidor (en otras palabras: parece que podrían hacerse facilmente hasta unas 2.000 consultas por segundo tal y como está programado, que es sin optimizar demasiado, en este servidor concreto). Miraré en los próximos días a ver si se puede optimizar un poco más, y qué posibles aplicaciones prácticas o variantes podrían existir.
Actualización: El experimento terminó, gracias.