SmythSys IT Consulting

Usar Geolocalización en WordPress para proporcionar contenido según IP o país. Plugin GeoIP Detection.

Hoy os vamos a hablar de un plugin gratuito GeoIP Detection, que proporciona todo lo necesario para darle funcionalidad “geolocalizadora” a nuestro WordPress.


¿Y para que sirve esto?
Para todo lo que puedas imaginar sobre variar el contenido según el país o ciudad del visitante. Te damos alguna de las miles de ideas.

  • Mostrar contenido personalizado sólo a ciertos países (cambiar la dirección de un negocio según el país por ejemplo).
  • Ocultar contenido según país (mostrar a todos salvo….).
  • Redirigir a usuarios de ciertas zonas a páginas específicas.
  • Cambiar títulos, colores o incluso palabras según el país.

Los límites son tu imaginación. Y da más potencia de personalización que los plugins de traducción como WPML que suelen basarse en el idioma del navegador (y por lo tanto no distinguir localización física).

¿Cómo se activa la Geolocalización en WordPress?

Lo primero es instalar un plugin como GEOIP Detect que puede descargarse del repositorio o de su cuenta de Github.

Lo que hace el plugin es create el entorno para poder facilitarte la dirección de los visitantes según su dirección IP. Esta información la puedes usar luego con scripts, CSS, snippets etc. Para ello el plugin usa una base de datos de IPs y países que puede ser gratuita (usa MaxMind GeoIP2 Lite o HostIP.info  ) , de pago, o basada en el proveedor (como Cloudflare o Amazon AWS).

Nota: en modo automático instala MaxMind, y lo actualiza cada mes. Esto está bien en la mayoría de las webs…pero MaxMind tiene licencia Creative Commons ShareAlike-Attribution . No requiere mencionarles en la mayoría de las webs porque no se comparte información PERO si compartes la información proporcionada por tu geolocalización SI tienes que decir quién te da ese servicio (ver FAQ).

El plugin usa 5 funciones geoip_detect2_get_info_from_ip($ip, $locales = array(‘en’), $options = array()) , geoip_detect2_get_info_from_current_ip($locales = array(‘en’), $options = array()) , geoip_detect2_get_current_source_description(…) , geoip_detect2_get_external_ip_adress() y geoip_detect2_get_client_ip() para realizar sus tareas.

Podemos acceder a la información de dichas funciones con varios códigos bien documentados y de manera sencilla usando códigos ISO de país o nombres de países.
También es compatible con Contact Form 7

Ejemplos.

  • Ocultar contenido excepto para ciertas ciudades de Francia (usa el nombre en inglés para comparar):
    [geoip_detect2_hide_if lang="en" country="France" not_city="Paris, Lyon"] TEXT [/geoip_detect2_hide_if]
  • Muestra el contenido si está en Texas, USA:
    [geoip_detect2_show_if country="US" state="Texas"] TEXT [/geoip_detect2_show_if]

Deja un comentario

Resumen de nuestra Política de Privacidad

  • Responsable: SmythSys IT Consulting SLNE.
  • Finalidad: Gestionar y moderar los comentarios.
  • Legitimación: Necesitas dar tu consentimiento para publicar un comentario.
  • Destinatarios: Tus datos se alojan en los servidores de OVH.
  • Derechos: Tienes derecho a acceder, rectificar, limitar y suprimir los datos en la dirección del responsable (en nuestra política de privacidad).