Pubblicazione dinamica

La pubblicazione dinamica è una configurazione in cui il server risponde con un codice HTML (e CSS) diverso per lo stesso URL a seconda dello user-agent che richiede la pagina.

Dato che in questa configurazione non risulta subito chiaro che il sito modifica i contenuti HTML per gli user-agent dei dispositivi mobili (i contenuti per questi dispositivi sono "nascosti" quando vengono sottoposti a scansione con uno user-agent per desktop), ti consigliamo di fare in modo che il server invii un suggerimento per richiedere che la pagina venga sottoposta a scansione anche dal Googlebot per smartphone, così che vengano rilevati i contenuti per dispositivi mobili. Il suggerimento viene implementato utilizzando l'intestazione HTTP Vary.

La pubblicazione dinamica consente di pubblicare un codice diverso per ogni dispositivo, ma in corrispondenza dello stesso URL.

TL;DR

  • Utilizza l'intestazione HTTP Vary per segnalare le modifiche in base allo user-agent.
  • Rileva correttamente le stringhe dello user-agent.

Intestazione HTTP Vary

L'intestazione HTTP Vary ha due implicazioni importanti e utili:

  • Segnala ai caching server utilizzati negli ISP e altrove che dovrebbero tenere in considerazione lo user-agent per stabilire se pubblicare o meno la pagina dalla cache. Senza l'intestazione HTTP Vary, una cache potrebbe pubblicare erroneamente per gli utenti di dispositivi mobili la versione cache della pagina HTML desktop o viceversa.
  • Consente a Googlebot di rilevare più velocemente i contenuti ottimizzati per dispositivi mobili, perché un'intestazione HTTP Vary valida rappresenta uno dei segnali che potremmo utilizzare per eseguire la scansione degli URL in corrispondenza dei quali vengono pubblicati contenuti ottimizzati per dispositivi mobili.

L'intestazione HTTP Vary fa parte della risposta del server a una richiesta, ad esempio:

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

L'intestazione Vary indica al browser che i contenuti della risposta variano in base allo user-agent che richiede la pagina. Se il tuo server utilizza già l'intestazione HTTP Vary, puoi aggiungere "User-Agent" all'elenco già pubblicato.

Rilevamento corretto degli user-agent

Il rilevamento degli user-agent, a volte definito anche "sniffing", è in genere una tecnica soggetta a errori. Questi possono essere di vario genere, ma esistono comunque tre tipi di errori comuni:

  1. Il rilevamento degli user-agent dipende dall'esistenza di un elenco di stringhe (o sottostringhe) di user-agent con cui effettuare un confronto. Questi elenchi hanno bisogno di manutenzione e aggiornamento costanti; in caso contrario non corrisponderanno ai nuovi user-agent. In effetti, tanti di questi elenchi non vengono gestiti in modo adeguato e sono obsoleti, il che comporta un'esperienza negativa per gli utenti.
  2. Durante la ricerca di corrispondenze tra gli user-agent, è frequente trovare corrispondenze sbagliate. A volte, infatti, uno user-agent desktop viene rilevato come user-agent per dispositivi mobili o viceversa. Analogamente, un errore comune per quanto riguarda i siti consiste nel trattare inavvertitamente i dispositivi tablet come smartphone. Se rilevi lo user-agent dei browser che accedono al tuo sito, assicurati che il rilevamento cerchi stringhe specifiche per gli smartphone (ad esempio entrambe le parole "Android" e "Cellulare") anziché stringhe generiche per dispositivi mobili (ad esempio solo "Android"). Leggi ulteriori informazioni in questo post del nostro blog.

  3. Presta molta attenzione al cloaking durante il rilevamento degli user-agent. Durante il rilevamento dello user-agent, il sito rileva la serie o il tipo di dispositivo cercandone il nome nella stringa dello user-agent; non dovrebbe cercare specificatamente Googlebot. Tutti gli user-agent Googlebot si identificano come dispositivi mobili specifici e dovresti trattare questi user-agent Googlebot esattamente come tratteresti tali dispositivi. Ad esempio, Googlebot per smartphone si identifica come un iPhone, quindi dovresti restituire a questo user-agent la stessa risposta che riceverebbe un utente di iPhone (reindirizzamento, contenuti ottimizzati e così via).

Invia feedback per...