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 (Provedores de Serviços de Internet), entre outros, que eles devem considerar o user agent ao decidir se veicularão a página a partir 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 veiculam 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 agent 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 realidade, muitas dessas listas não são mantidas de modo adequado e ficam obsoletas, 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 computadores como de dispositivos móveis 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, assegure-se de que a detecção procure por strings específicas a smartphones (como buscar as palavras "Android" e "Dispositivo móvel") e não busque por strings de dispositivos móveis mais genéricas (como buscar somente "Android"). Saiba mais em nossa postagem do blog.

  3. Tenha cuidado com as técnicas de cloaking ao detectar user agents. O site deve detectar a classe ou tipo de dispositivo procurando o nome do dispositivo na string de user agent. Ele não deve procurar especificamente o Googlebot. Todos os user agents do Googlebot se identificam como dispositivos móveis específicos, e você deve tratá-los exatamente como trataria esses dispositivos. Por exemplo, o Googlebot para smartphones identifica-se como um iPhone, e você deve veicular para ele a mesma resposta que um usuário de iPhone receberia (redirecionamento, conteúdo otimizado etc.).

Enviar comentários sobre…