¿Qué es un user-agent?

Cada vez que se realiza una petición el «user-agent» se envía desde el navegador a un servidor web con el fin de proporcionar más información sobre el sistema utilizado. Es, por así decirlo, una especie de «etiqueta de identificación» del navegador.

El user-agent

El «user-agent» es un campo del protocolo HTTP a través del cual se puede enviar información más o menos detallada sobre el dispositivo consultante en una petición de red.

Esto se realiza a través del Header-HTTP y esta información puede utilizarse, por ejemplo, para entregar determinados elementos solo a aquellos navegadores que se sabe que pueden manejarlos.

¿En qué consiste un user-agent?

La sintaxis del «user-agent» es inicialmente muy sencilla:

User-Agent: <Producto> / <Versión del producto> <Comentarios>

Sin embargo, si nos fijamos en un «user-agent» estándar del Googlebot para dispositivo móvil, por ejemplo, vemos que es muy diferente del anterior:

Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Podemos desglosar este «user-agent» de la siguiente manera:

  • Mozilla – es el producto.
  • 5.0 – es la versión del producto.
  • (Linux; – es el sistema operativo del dispositivo.
  • Android 6.0.1; – es la versión del sistema operativo.
  • Nexus 5X Build/MMB29P) – es el nombre de la compilación del sistema operativo.
  • AppleWebKit/537.36 – es el motor de renderización del navegador.
  • (KHTML, like Gecko) – el motor de renderizado basado en KHTML, que se comporta como Gecko.
  • Chrome/41.0.2272.96 – es el navegador y su número de versión.
  • Mobile Safari/537.36 – el navegador se comporta como Safari en la versión número 537.36.
  • (compatible; – aquí comienza el comentario real con la explicación de que el dispositivo de consulta es compatible con el navegador Mozilla.
  • Googlebot/2.1; – nombre y número de versión del rastreador.
  • +http://www.google.com/bot.html) – ¿dónde puedo obtener más información sobre este «user-agent»?

Si te estás preguntando por qué Googlebot, que deriva del navegador Google Chrome, se hace pasar por Mozilla, no estás solo. Existe una divertida «historia de la cadena del «user-agent» del navegador» (en inglés) donde se ha registrado toda la información más importante.

La conclusión es que casi todos los navegadores, por «determinadas razones» se presentan como Mozilla. El valor <Producto> es irrelevante y los comentarios son mucho más largos.

¿Cómo utiliza la información el user-agent del servidor?

El servidor puede utilizar la información sobre el sistema solicitado para informar a los usuarios de una versión adecuada del sitio web. Por ejemplo, si el «user-agent» indica al servidor que la solicitud procede de un dispositivo móvil Android con navegador Chrome, el servidor puede mostrar la versión móvil del sitio web solicitado (si está disponible).

El «user-agent» también puede informar al servidor si la versión del navegador que se está utilizando sigue siendo actual. Por ejemplo, si se utiliza un navegador «antiguo», como Internet Explorer 6, el servidor puede reaccionar solicitando una actualización en lugar de informar de la dirección web solicitada.

Por último, el servidor también puede guardar información sobre el «user-agent», por ejemplo con fines estadísticos.

User-agent y rastreadores

Los rastreadores (crawlers) también tienen un «user-agent». Debido a que el «user-agent» identifica a un robot como tal, los servidores web le otorgan ciertos «privilegios». Por ejemplo, el servidor web puede permitir que Googlebot acceda a páginas de registro. Es muy importante, sin embargo, evitar mostrar a los usuarios contenidos diferentes de los que se muestran al Googlebot, ya que esto podría dar lugar a cloaking.

Además, a través del archivo robots.txt (donde también se incluye un «user-agent»), el servidor web puede solicitar a los rastreadores que no rastreen determinadas áreas de un sitio web.

¿Cómo puedo utilizar el user-agent para SEO?

Sabiendo qué información utilizan los distintos rastreadores de Google puedes configurar tu navegador para que transmita el mismo identificador a través de un complemento del navegador o de Developer Console.

De este modo, por ejemplo, a menudo es posible comprobar si un sitio web ofrece un contenido diferente al Googlebot que a los usuarios habituales.

Para ello basta con acceder a Chrome Console utilizando los siguientes atajos:

Mac:        Command+Alt+C
Windows: Control+Shift+C

Haz clic en el menú de configuración representado por los tres puntos 1. Luego, haz clic en «More tools» 2 y a continuación, en «Network conditions»3.

Luego deberás indicar qué «user-agent» deseas utilizar para la navegación añadiéndolo en la casilla marcada en rojo:

cambiar user-agent en consola chrome

Esto solo funcionará mientras el servidor no realice una comprobación interna para ver si el «user-agent» que dice ser el Googlebot procede realmente de una IP de Google.

¿Qué user-agents son útiles para SEO?

Hemos recopilado en la siguiente tabla los principales «user-agent», más útiles en términos de SEO.

Google user-agents

Google User Agents
RastreadorToken User-AgentUser-Agent completo
Robot de Google para Imágenes- Googlebot-Image
- Googlebot
Googlebot-Image/1.0
Robot de Google para Noticias- Googlebot-News
- Googlebot
Googlebot-News
Robot de Google para Vídeo- Googlebot-Video
- Googlebot
Googlebot-Video/1.0
Robot de Google (Ordenadores)Googlebot- Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
- Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Googlebot/2.1; +http://www.google.com/bot.html) Safari/537.36

o bien (se utiliza con poca frecuencia)

- Googlebot/2.1 (+http://www.google.com/bot.html)
Robot de Google (smartphones)GooglebotMozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Robot de Google (smartphones) ***GooglebotMozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/W.X.Y.Z Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Aplicaciones móviles para AndroidAdsBot-Google-Mobile-AppsAdsBot-Google-Mobile-Apps

En las cadenas de «user-agent» de la versión de Chrome, las letras W.X.Y.Z de Googlebot para dispositivo de escritorio y dispositivo móvil, están pensadas como marcadores de posición porque Google siempre las actualiza a la última versión de Chrome. Para obtener más información, consulta el blog del Centro de la Búsqueda de Google.

Otros user-agents a tener en cuenta

La siguiente tabla contiene otras cadenas de «user-agent» que pueden ser relevantes en proyectos SEO, por ejemplo, en lo que respecta al ahorro de ancho de banda.

Otros user-agent a tener en cuenta
RastreadorToken User-AgentUser-Agent completo
PinterestPinterestbotPinterest/0.2 (+https://www.pinterest.com/bot.html)
Mozilla/5.0 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html)
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.96 Mobile Safari/537.36 (compatible; Pinterestbot/1.0; +https://www.pinterest.com/bot.html)
LinkedinLinkedInBotLinkedInBot/1.0 (compatible; Mozilla/5.0; Jakarta Commons-HttpClient/3.1 +http://www.linkedin.com)
Bingbingbot- Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
- Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
- Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 530) like Gecko (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
Yandex*YandexBotMozilla/5.0 (compatible; YandexBot/3.0; +http://yandex.com/bots)
Wayback Machinearchive.org_botMozilla/5.0 (compatible; archive.org_bot +http://www.archive.org/details/archive.org_bot)

*En cuanto a Yandex, hay una serie de otros «user-agent» que se identifican como YandexBot y pueden ser válidos.