654380491
hola@carlosdk.com
Login
[miniorange_social_login]

Login with your site account

Lost your password?

Carlos DK Carlos DK
  • Inicio
  • Kit digital
  • Universo Dk
  • Blog
  • Contacto
Back
  • Inicio
  • Kit digital
  • Universo Dk
  • Blog
  • Contacto
  • Home
  • Blog
  • Tutoriales formativos
  • Saber el idioma del navegador y redireccionar con PHP

Tutoriales formativos

27 Abr

Saber el idioma del navegador y redireccionar con PHP

  • By Carlos Dk
  • In Tutoriales formativos
  • 4 comments

Os traigo un código muy fácil de implementar, de hecho es una pequeña función para devolver el idioma del navegador del visitante o usuario, devolverá los dos primeros caracteres para utilizarse luego por ejemplo en una condicional que redireccione al subdominio o carpeta para tal idioma.

Iconos de banderas gratis
Idiomas con PHP

En las webs multiidioma se hace necesario en muchas ocasiones separar el contenido en diferentes subdominios o carpetas, cada una por su idioma, esto facilita en muchas ocasiones el mantenimiento de la web, ya que no se tiene que estar actualizando sobre una plataforma completa, sino que cada lenguaje tiene su propio despliegue y por tanto, pueden llevar caminos independientes, esto se puede dar por varios motivos, entre ellos destacaría que el perfil de un visitante español es diferente de un alemán o un inglés, por lo que adaptarlo al público puede ser una estrategia más que a tener en cuenta para conseguir unos buenos resultados.

Después de esta explicación, vamos al código, es muy sencillo, como siempre os lo muestro y luego lo comento:

[codesyntax lang=”php”]

<?php
//Creamos una función que detecte el idioma del navegador del cliente.
function traeLenguage() {
$idioma =substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,2);
return $idioma;
}
//Llamamos a la función y guardamos el idioma en una variable
$idiomaUsuario = traeLenguage();

//De acuerdo al idioma hacemos las redirecciones según el lenguaje del navegador
if($idiomaUsuario=='es'){
header( 'Location: http://es.apartamentosembrujodeazahar.es' );
}
elseif($idiomaUsuario=='de'){
header( 'Location: http://de.apartamentosembrujodeazahar.es' );
}
else {
header( 'Location: http://en.apartamentosembrujodeazahar.es' );
}
?>

[/codesyntax]

Creo que está bien comentado, pero aún así os dejo alguna aclaración.

La función traeLenguaje es la que es llamada y devuelve los dos primeros dígitos de la variable HTTP_ACCEPT_LANGUAGE que es en si misma la que devuelve el idioma del navegador utilizado por el usuario, esta variable luego la guardamos en idiomaUsuario y a continuación simplemente redireccionamos según este. El último condicional es abierto, por si no es ni español ni alemán, que directamente entre en inglés que entendemos es más utilizado.

Espero que os sirva! Recordad compartir y comentar!

  • Share:
Carlos Dk

You may also like

Crear categorías y configurar menú en WordPress en 4 min.

  • marzo 3, 2019
  • by Carlos Dk
  • in Tutoriales formativos
Crear categoría y menú WordPress Es indispensable en una nueva instalación de WordPress, crear las...
Instalar tema en WordPress en 2 pasos
febrero 23, 2019
Actualizar MySQL 5.1 a 5.6 en CentOS 6.9 con Plesk como panel
octubre 20, 2018
Recorrer todos los objetos de una capa o del DOM completo con JQuery
diciembre 22, 2014

    Comments

  1. joel
    febrero 1, 2019

    eso está bien pero que tal si un usuario es de idioma español y su navegador esta en ingles, es decir que por error lo puede mandar para la web en inglés.

    Responder
    • Carlos Dk
      febrero 2, 2019

      No es en sí el navegador, sino la configuración de su User-Agent, aunque tengas instalado el navegador en inglés, lo que prima es el idioma “preferido” de su sistema operativo, del idioma configurado del visitante.

      Es decir, la información de idioma que tengas como configuración en tu sistema y no el idioma del browser en sí. Aunque también está claro que puedes tener varios idiomas instalados en tu sistema, el idioma que envía el user-agent a nuestro servidor es el idioma preferido. Hay maneras de rescatar los diferentes idiomas instalados, pero no es el cometido de este artículo.

      Espero haberte aclarado algo.

      Responder
  2. David
    noviembre 3, 2019

    Viendo tu frase descriptiva ‘Apasionado por la enseñanza y el SEO’, me hace dudar mucho sobre tus capacidades de SEO.
    Este codigo es de todo menos SEO yo no me considero un profesional del SEO pero cada linea de codigo que creo esta pensada para el SEO y no me publicito como profesor de nada.
    Con unas pocas lineas mas habrias creado algo interesante para los menos ‘capacitados’ pero tal como esta es un peligro para el SEO ya que redireccionas sin ver si el visitante es un buscador o es un simple usuario.
    Si un buscador entra en tudominio.com y le mandas siempre a en.tudominio.com tendras solo una web visible para el buscador y la decena de idiomas extras que tengas no existiran, espero que no elimines este comentario y que otros usuarios puedan ver el problema y solucionarlo por sus medios ya que tal como lo dejaste es un peligro.

    Responder
    • Carlos Dk
      noviembre 4, 2019

      Buenas David,

      No borro comentarios siempre que se hagan con respeto.

      Te respondo sobre tu comentario: Y es que creo que confundes términos. El código es “para saber el idioma del navegador y redireccionar con PHP” nada más.

      Te añado: El sistema de indexación de un buscador, no es linea, aunque las arañas puedan realizar el trabajo de esa manera, conocerás los sitemaps. Aparte con Linkbuilding también pueden saltarse a cualquier otra página e indexar igualmente. De hecho, te invito a buscar información del archivo robots, muchas webs han tenido problemas de exponer información, que en principio no debía de estar indexada 😉

      Conste, no digo que el código no se pueda mejorar. Pero el código hace su función, y a nivel SEO, sinceramente, tampoco lo veo un condicionante.

      La indexación se realizará igualmente 😉

      Responder

Leave A Reply Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Busca en la web

Recomiendo

Software ERP empresarial

Categorías

  • Miscelanea (129)
  • Tutoriales formativos (622)

Ponte en contacto

+34 654380491

hola@carlosdk.com

Torre del Mar (Málaga)

Enlaces rápidos

  • Universo Dk
  • Contacto
  • Blog

Soy social

  • Twitter
  • Linkedin
  • Youtube

Newsletters

Suscríbete para enterarte de lo último que estoy haciendo. No lo usaré para enviarte SPAM inútil 😉

Esta web la he diseñado con cariño en Andalucía por Carlos Dk