Publicación dinámica

La publicación dinámica es una configuración en la que el servidor envía una respuesta con varios códigos HTML (y CSS) en la misma URL según el usuario-agente que solicite la página.

Dado que en esta configuración no es evidente de inmediato que el sitio modifica el código HTML para los usuarios-agentes de dispositivos móviles (el contenido para dispositivos móviles se encuentra "oculto" cuando se rastrea con un usuario-agente de escritorio), recomendamos que el servidor envíe una pista para solicitar que el robot de Google para smartphones también rastree la página y, de ese modo, detectar el contenido para dispositivos móviles. Esta pista se implementa mediante el encabezado HTTP Vary.

La publicación dinámica envía un código distinto a cada dispositivo, pero en la misma URL.

TL;DR

  • Usa el encabezado HTTP Vary para indicar los cambios en función del usuario-agente.
  • Detecta las strings de usuario-agente correctamente.

El encabezado HTTP Vary

El encabezado HTTP Vary tiene dos implicaciones importantes y útiles:

  • Indica a los servidores de caché que se usan en los ISP y en otros lugares que se debe tener en cuenta el usuario-agente cuando se decide si la página se muestra desde la caché o no. Sin el encabezado HTTP Vary, se podría mostrar por error a los usuarios de dispositivos móviles la caché de la página HTML de escritorio, o viceversa.
  • El robot de Google puede detectar más rápido el contenido optimizado para dispositivos móviles, ya que un encabezado HTTP Vary válido es una de las señales que podemos utilizar para rastrear las URL que muestran contenido optimizado para dispositivos móviles.

El encabezado HTTP Vary es parte de la respuesta del servidor a una solicitud, de la siguiente manera:

GET /page-1 HTTP/1.1
Host: www.example.com
(...rest of HTTP request headers...)

HTTP/1.1 200 OK
Content-Type: text/html
Vary: User-Agent
Content-Length: 5710
(... rest of HTTP response headers...)

El encabezado Vary indica al navegador que el contenido de la respuesta variará según el usuario-agente que solicite la página. Si el servidor ya utiliza el encabezado HTTP Vary, puedes agregar "User-Agent" a la lista que ya se brindó.

Cómo detectar correctamente los usuarios-agentes

La detección de usuarios-agentes (a veces llamada "husmeo" de usuarios-agentes) suele ser una técnica propensa a errores. Existen muchas causas, pero hay tres tipos de errores más comunes:

  1. La detección de usuarios-agentes depende de la presencia de una lista de strings de usuarios-agentes (o subcadenas) para determinar las coincidencias. Dichas listas necesitan un mantenimiento y una actualización constantes, y no coincidirán con los usuarios-agentes nuevos. En realidad, muchas de esas listas no se mantienen de forma apropiada y están inactivas, lo que empeora la experiencia del usuario.
  2. Cuando se buscan coincidencias de usuarios-agentes, es habitual obtener coincidencias erróneas. A veces, se detecta un usuario-agente de escritorio como uno de dispositivo móvil, o viceversa. Del mismo modo, un error habitual en los sitios es considerar los dispositivos tablet como smartphones. Para detectar los usuarios-agentes de los navegadores con los que se accede a tu sitio, asegúrate de que la detección se realice mediante la búsqueda de strings específicas para smartphones (por ejemplo, buscar tanto la palabra "Android" como la palabra "Móvil") en lugar de strings genéricas para dispositivos móviles (por ejemplo, buscar solo "Android"). Obtén más información en nuestra entrada de blog.

  3. Ten mucho cuidado con el encubrimiento al detectar usuarios-agentes. Durante el proceso, el sitio detecta la clase o el tipo de dispositivo buscando su nombre en la string de usuario-agente; no debería buscar específicamente el robot de Google. Todos los usuarios-agentes del robot de Google se identifican a sí mismos como dispositivos móviles específicos, y deberías tratarlos como lo harías con esos dispositivos.

Enviar comentarios sobre…