Dynamische weergave

Dynamische weergave is een configuratie waarbij de server reageert met verschillende HTML (en CSS) op dezelfde URL, afhankelijk van de user-agent die de pagina aanvraagt.

Aangezien in deze configuratie niet meteen duidelijk is dat de site de HTML voor mobiele user-agents verandert (de mobiele content wordt 'verborgen' wanneer deze wordt gecrawld met een desktop user-agent), raden we u aan een hint via de server te versturen met het verzoek om de pagina ook door Googlebot voor smartphones te laten crawlen, zodat de mobiele content wordt gevonden. Deze aanwijzing wordt geïmplementeerd met de Vary HTTP-header.

Met een dynamische weergave wordt voor elk apparaat andere code weergegeven, maar de code wordt wel weergegeven op dezelfde URL.

In het kort

  • Gebruik de Vary HTTP-header om uw wijzigingen op basis van de user-agent door te geven.
  • Zorg dat user-agent-tekenreeksen goed worden gedetecteerd.

De Vary HTTP-header

De Vary HTTP-header heeft twee belangrijke en nuttige implicaties:

  • Er wordt een signaal gestuurd naar cachingservers die bij internetproviders en op andere locaties worden gebruikt om rekening te houden met de user-agent wanneer wordt bepaald of de pagina uit de cache wordt weergegeven. Zonder de Vary HTTP-header kan een cache ten onrechte de cache van de desktop-HTML-pagina laten zien aan mobiele gebruikers of omgekeerd.
  • Zo kan Googlebot uw voor mobiel geoptimaliseerde content sneller ontdekken, omdat een geldige Vary HTTP-header een van de signalen is die we kunnen gebruiken voor het crawlen van URL's die voor mobiel geoptimaliseerde content weergeven.

De Vary HTTP-header maakt deel uit van de reactie van de server op een verzoek zoals hieronder:

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

De Vary-header vertelt de browser dat de content van de reactie afhangt van de user-agent die de pagina opvraagt. Als uw server de Vary HTTP-header al gebruikt, kunt u 'User-Agent' toevoegen aan de lijst die al wordt weergegeven.

User-agents correct detecteren

Het detecteren van user-agents (soms 'user-agent sniffing' genoemd) is over het algemeen een foutgevoelige techniek. Dit heeft veel verschillende redenen, maar drie soorten fouten komen vaak voor:

  1. De detectie van user-agents is afhankelijk van een lijst met user-agent-tekenreeksen (of subtekenreeksen) waarmee de user-agents kunnen worden vergeleken. Dergelijke lijsten moeten voortdurend worden onderhouden en geüpdatet en komen niet overeen met nieuwe user-agents. Veel van dergelijke lijsten worden in werkelijkheid niet goed onderhouden en zijn verouderd, wat leidt tot een slechte ervaring voor uw gebruikers.
  2. Wanneer overeenkomsten voor user-agents worden gezocht, worden er vaak onjuiste overeenkomsten gevonden. Het kan bijvoorbeeld gebeuren dat een user-agent voor desktopapparaten wordt gedetecteerd als een user-agent voor mobiele apparaten of omgekeerd. Ook is een veelgemaakte fout dat sites tablets onbedoeld behandelen als smartphones. Als u de user-agent detecteert van browsers die uw site bezoeken, moet u ervoor zorgen dat uw detectie op smartphone-specifieke tekenreeksen let (bijvoorbeeld door zowel op het woord 'Android' als 'Mobile' te controleren) in tegenstelling tot generieke mobiele tekenreeksen (alleen controleren op 'Android'). Bekijk meer informatie in onze blogpost.

  3. Kijk bij het detecteren van user-agents goed uit voor cloaking. Wanneer de user-agent wordt gedetecteerd, detecteert de site de apparaatklasse of het apparaattype door de apparaatnaam te zoeken in de user-agent-tekenreeks. Er moet niet specifiek worden gezocht naar Googlebot. Alle Googlebot-user-agents identificeren zichzelf als specifieke mobiele apparaten. U moet deze Googlebot-user-agents net zo behandelen als u deze apparaten zou behandelen. Googlebot voor smartphones identificeert zich bijvoorbeeld als een iPhone en u moet dezelfde reactie geven als een iPhone-gebruiker zou krijgen (omleiden, geoptimaliseerde content, enzovoort).

Feedback verzenden over...