A exibição dinâmica é uma configuração em que o servidor responde com diferentes versões do HTML (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.

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 User-Agent
à lista que já
está exibida.
Como detectar user agents corretamente
A detecção de user agents, às vezes chamada de "farejamento", geralmente é uma técnica passível de erro. Há muitas razões para isso, mas três tipos de falhas são comuns:
- 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.
É 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.
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.
Pré-renderizar conteúdo para rastreadores como o Googlebot não é considerado uma técnica de cloaking quando configurado corretamente.