Definitie
Cloaking is zoekmachines andere content tonen dan bezoekers, met als doel rankings te manipuleren. Het staat in het spambeleid van Google en komt ook voor bij gehackte webshops.
Wat is cloaking?
Cloaking betekent dat je een zoekmachine een andere versie van een pagina laat zien dan een gewone bezoeker. De server herkent Googlebot aan de user-agent of het IP-adres, en serveert dan een pagina vol zoekwoorden, terwijl de bezoeker iets anders krijgt. Google noemt het expliciet in het spambeleid.
Klassieke voorbeelden: een pagina over reisbestemmingen voor Google, die bezoekers naar een kortingspagina doorstuurt. Of tekst die alleen in de HTML staat als de user-agent Googlebot is. Een verwante techniek is een sneaky redirect: bezoekers worden doorgestuurd naar een andere pagina dan Googlebot ziet.
Waarom het ertoe doet voor webshops
Vrijwel geen serieuze webshop doet bewust aan cloaking. Het risico zit ergens anders. Ten eerste in hacks. Aanvallers die een lek in een Magento-extensie, een verouderde server of een gestolen admin-account misbruiken, plaatsen soms code die alleen voor zoekmachines spampagina's toont, bijvoorbeeld in het Japans of over medicijnen. Bezoekers en de eigenaar zien niets. In Search Console zie je vreemde zoekopdrachten en pagina's, of een melding bij Beveiligingsproblemen.
Ten tweede in goedbedoelde techniek die verkeerd uitpakt. Een bot-detectie die Googlebot een sterk afwijkende of lege pagina geeft. Een A/B-test die Googlebot altijd een andere variant toont dan bezoekers. Of een prerender-dienst die een verouderde versie van de pagina serveert aan crawlers, met andere prijzen of producten dan de live pagina.
Wat geen cloaking is
Content aanpassen aan locatie, apparaat of taal is geen cloaking, zolang Googlebot dezelfde behandeling krijgt als een gebruiker met dezelfde kenmerken. Een mobiele versie, valuta per land of een gepersonaliseerde aanbeveling is prima.
Server-side rendering voor alle bezoekers is dat ook niet. Dynamic rendering, waarbij je crawlers een vooraf gerenderde HTML-versie geeft en gebruikers de JavaScript-versie, is volgens Google geen cloaking zolang de content gelijk is. Google noemt het inmiddels wel een tijdelijke workaround en raadt SSR of statische rendering aan. Voor een Hyvä-, Shopify- of Laravel-shop met server-side HTML is het niet nodig.
Ook paywalls en content achter een login zijn toegestaan, mits je ze correct opmaakt. Voor webshops speelt dat zelden, behalve bij B2B-prijzen achter een login. Google ziet dan de pagina zonder prijzen, net als een niet-ingelogde bezoeker. Dat is consistent en geen cloaking.
Zo controleer je het
Gebruik URL-inspectie in Search Console en bekijk de gerenderde HTML en de screenshot. Vergelijk die met wat een bezoeker ziet. Zoek op site:jouwdomein.nl met spamtermen, en controleer of er pagina's in de index staan die je niet kent. Houd de bestanden van je Magento-installatie, je thema en je servers in de gaten op ongeautoriseerde wijzigingen, en patch extensies tijdig.
Als je toch iets vindt, behandel het als beveiligingsincident. Verwijder de kwaadaardige code, zoek uit hoe de aanvaller binnenkwam, wijzig wachtwoorden en API-sleutels, en vraag daarna in Search Console om een beoordeling van de beveiligingsproblemen. Alleen de spampagina's verwijderen zonder het lek te dichten, betekent dat ze binnen dagen terugkomen. De spampagina's zelf kun je een 410 geven, zodat Google ze sneller uit de index haalt.
Verder lezen
Veelgestelde vragen
Is een andere mobiele weergave cloaking?+
Nee. Zolang Googlebot dezelfde content krijgt als een gebruiker op hetzelfde apparaat en vanaf dezelfde locatie, is het geen cloaking.
Hoe ontdek ik of mijn shop gehackt is met cloaking?+
Kijk in Search Console naar Beveiligingsproblemen en onbekende zoekopdrachten, gebruik URL-inspectie en zoek met site: naar pagina's die je niet kent.
