Exibição dinâmica

A exibição dinâmica é uma configuração na qual o servidor responde com diferentes HTMLs (e CSS) no mesmo URL, dependendo do user agent que solicita a página.

Nessa configuração, como não se percebe de imediato que o site altera o HTML para user agents de dispositivos móveis (o conteúdo para dispositivos móveis fica "oculto" quando rastreado com um user agent para computadores), recomendamos que o servidor envie uma dica ao solicitar que o Googlebot para smartphones também rastreie a página. Dessa forma, ele também descobrirá o conteúdo para dispositivos móveis. Essa dica é implantada usando o cabeçalho HTTP Vary.

A exibição dinâmica exibe códigos diferentes para cada dispositivo, mas no mesmo URL.

TL;DR ("muito longo, não li", na sigla em inglês)

  • Use o cabeçalho HTTP Vary para sinalizar suas alterações dependendo do user agent.
  • Detecte corretamente as strings do user agent.

O cabeçalho HTTP Vary

O cabeçalho HTTP Vary tem duas implicações úteis e importantes:

  • Ele sinaliza aos servidores de cache usados nos ISPs, entre outros, que eles precisam considerar o user agent ao decidir se exibirão a página a partir do cache ou não. Sem o cabeçalho HTTP Vary, um cache pode exibir erroneamente a usuários de dispositivos móveis o cache da página HTML para computador ou vice-versa.
  • Ele ajuda o Googlebot a detectar mais rapidamente seu conteúdo otimizado para dispositivos móveis, já que um cabeçalho HTTP Vary válido é um dos sinais que podemos usar para rastrear URLs que exibem conteúdo otimizado para dispositivos móveis.

O cabeçalho HTTP Vary é parte de uma resposta a uma solicitação, assim:

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...)

O cabeçalho Vary informa ao navegador que os conteúdos da resposta variam dependendo do user agent que solicitar a página. Caso seu servidor já use um cabeçalho HTTP Vary, é possível adicionar o "User agent" à lista que já está veiculada.

Como detectar user agents corretamente

A técnica de detectar user agents (às vezes chamada de "farejamento" de user agents) é propensa a erros. Há muitas razões para isso, mas três tipos de falhas são comuns:

  1. A detecção de user agents depende de uma lista de strings (ou substrings) de user agents para correspondência. Essas listas exigem manutenção e atualização constantes e não corresponderão a novos user agents. Na verdade, muitas dessas listas não são mantidas de modo adequado e ficam desatualizadas, oferecendo a seus usuários uma experiência ruim.
  2. Ao fazer a correspondência de user agents, é comum haver incompatibilidades que algumas vezes levam a detectar um user agent de computador como sendo de dispositivo móvel ou vice-versa. Da mesma forma, um erro comum em sites é tratar inadvertidamente tablets como smartphones. Caso você tenha detectado um user agent de navegadores acessando seu site, verifique se a detecção procura strings específicas para smartphones (como as palavras "Android" e "Dispositivo móvel") e não strings de dispositivos móveis mais genéricas (como somente "Android"). Saiba mais na nossa postagem do blog.

  3. Tenha cuidado com as técnicas de cloaking ao detectar user agents. O site precisa detectar a classe ou tipo de dispositivo procurando o nome dele na string do user agent, e não procurando especificamente o Googlebot. Todos os user agents do Googlebot se identificam como dispositivos móveis específicos, e você precisa tratá-los exatamente como trataria esses dispositivos.

Enviar comentários sobre…