Exibição dinâmica

A exibição dinâmica é uma configuração em que o servidor responde com diferentes HTMLs (e CSS) no mesmo URL, dependendo do user agent que solicita a página (dispositivo móvel, tablet ou computador).

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), é recomendável que o servidor envie uma dica para solicitar que o Googlebot para smartphones também rastreie a página. Dessa maneira, 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 devem considerar o user agent ao decidir se exibirão a página do cache ou não. Sem o cabeçalho HTTP Vary, um cache pode erroneamente exibir 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 da resposta do servidor a uma solicitação, como esta:

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

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

Como detectar user agents corretamente

A detecção de user agents, às vezes chamada de "farejamento" de user agents, geralmente é uma técnica passível de erro. Há muitas razões para isso, mas três tipos de falhas são comuns:

  1. A detecção de user agent depende de uma lista de strings (ou substrings) de user agents para correspondência. Essas listas precisam de manutenção e atualização constantes e não corresponderão a novos user agents. Na realidade, muitas dessas listas não são mantidas de modo adequado e ficam obsoletas, oferecendo aos usuários uma experiência ruim.
  2. É comum uma incompatibilidade ao combinar user agents. Às vezes, um user agent de computador é detectado como um de dispositivo móvel ou um user agent de dispositivo móvel é detectado como um de computador. Da mesma maneira, um erro comum em sites é tratar inadvertidamente tablets como smartphones. Se você detectar o user agent de navegadores que acessam o site, a detecção precisará procurar por strings específicas para smartphones, como a verificação das palavras "Android" e "Mobile", em vez de strings genéricas para dispositivos, em que somente "Android" é verificado. Saiba mais em nossa postagem do blog.

  3. Tenha cuidado com as técnicas de cloaking ao detectar user agents. Ao detectar o user agent, o site precisa detectar a classe ou o tipo de dispositivo procurando o nome do dispositivo na string de user agent. Ele não procura 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…