Publicaciones dinámicas

La publicación dinámica es una configuración en la que el servidor responde con diferentes HTML (y CSS) en la misma URL, según el usuario-agente que solicita la página (como un dispositivo móvil, una tablet o una computadora de escritorio).

Como en esta configuración no es evidente de inmediato que el sitio modifica el HTML para los usuarios-agentes de dispositivos móviles (el contenido para dispositivos móviles está "oculto" cuando se rastrea con un usuario-agente de computadoras de escritorio), recomendamos que el servidor envíe una sugerencia a fin de solicitar que el robot de Google para smartphones también rastree la página y, así, descubra el contenido para dispositivos móviles. Esta sugerencia se implementa mediante el encabezado HTTP Vary.

Representación gráfica de cómo funciona la publicación dinámica
La publicación dinámica entrega un código distinto a cada dispositivo, pero en la misma URL.

A modo de resumen

  • 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 repercute de dos maneras 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, a los usuarios de dispositivos móviles se les podría mostrar por error la caché de la página HTML para computadoras 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 publican contenido optimizado para dispositivos móviles.

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

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

El encabezado HTTP Vary le dice al navegador que el contenido de la respuesta varía según el usuario-agente que solicita la página. Si el servidor ya utiliza el encabezado HTTP Vary, puedes agregar User-Agent a la lista que ya se entregó.

Cómo detectar correctamente los usuarios-agentes

Detectar a los usuarios-agentes (lo que a veces se denomina "husmear" o "examinar" a los usuarios-agentes) es generalmente 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 substrings) para determinar las coincidencias. Dichas listas requieren mantenimiento y actualización constantes y no coinciden con 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 computadoras de escritorio como uno de dispositivo móvil, o viceversa. Del mismo modo, un error habitual en los sitios es considerar a las tablets como smartphones de manera involuntaria. Si estás detectando el usuario-agente de los navegadores que acceden a tu sitio, asegúrate de que la detección busque strings específicas para smartphones (como cuando se verifican las palabras "Android" y "dispositivo móvil") en lugar de strings de dispositivos móviles genéricas (como cuando se verifica solo "Android"). Obtén más información en nuestra entrada de blog.

  3. Ten mucho cuidado con el encubrimiento en la detección de usuarios-agentes. Durante el proceso, el sitio detecta la clase o el tipo de dispositivo mediante la búsqueda de su nombre en la string del usuario-agente; no debería buscar al robot de Google de manera específica. 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.

    El procesamiento previo de contenido para rastreadores como el robot de Google no se considera encubrimiento cuando tiene la configuración apropiada.