Entrega basada en IP con GeoIP de Apache

Hoy voy a compartir un tip que sirve para redireccionar a los usuarios de tu website de un determinado país al dominio que tú quieras, de acuerdo a su dirección IP.

Un caso de uso muy claro es cuando tienes un website en diferentes idiomas:

  • example.es
  • example.en
  • example.fr

Y quieres hacer algo como lo siguiente:

  • Que los usuarios de habla española (España, México, Argentina, Perú, etc.) vayan siempre al dominio example.es
  • Que los usuarios de habla inglesa (Reino Unido, Estados Unidos, Australia, etc.) vayan siempre al dominio example.en
  • Que los usuarios de habla francesa (Francia, etc.) vayan siempre al dominio example.fr

Entrega de contenido basada en IP

Si quieres saber un poco más acerca de este tema, te recomiendo que veas el siguiente vídeo de Matt Cutts de Google, seguro que te resuelve muchas dudas.

Entre otras cosas, Matt Cutts deja bien claro en este vídeo que una cosa es el cloaking (esto es servir a los usuarios un contenido diferente del que se sirve a Googlebot), y otra muy distinta es la entrega basada en IP, o IP delivery, que no es más que lo que su nombre indica, es decir, servir contenido en función de la IP que lo solicita.

Mientras sirvas el mismo contenido a Google y a los usuarios, no tienes que preocuparte del cloaking, Google no te penalizará. O dicho de otra manera, no hay nada extraño en hacer redirecciones basadas en IP cuando estés implementando un proceso de negocio que así lo requiera, y que tenga por lo tanto sentido para los usuarios.

Dicho lo anterior, hoy vamos a implementar la entrega de contenido basada en la dirección IP del usuario con el módulo GeoIP de Apache.

Lo primero que tenemos que hacer es instalar el módulo GeoIP:

Esto creará el siguiente archivo de configuración, que tenemos que editar:

Hay que descomentar esta línea:

y dejarlo así:

Reiniciamos Apache:

Ya para terminar, tienes que escribir algo como lo siguiente en el archivo .htaccess de tu proyecto, o en tu archivo de configuración de host virtual de Apache.

En este ejemplo, además de redireccionar a los usuarios con IP española al URL https://example.es, también whitelisteamos tres direcciones IP. Por cierto, fíjate que para hacer la redirección basada en contenido necesitamos tener instalado el módulo rewrite.

¡Y esto es todo por hoy! Espero que el post de hoy te sirva de ayuda y lo compartas con tus amigos.

0 comentarios

¿Me dejas un comentario? ¡Gracias!

Deja un comentario

Los campos obligatorios están marcados con *