Trouw.nl krijgt Google penalty door CSS “cloaking”

Trouw.nl Google penalty: 0 resultatenSinds een aantal weken is (was) de website van Trouw niet meer in Google te vinden. Planet Multimedia Blognoot had de scoop. Voor zo’n grote (250.000+ pagina’s in Google) en publiek bekende website is dat nogal een klap. Ook voor Google is het niet echt lekker, want gebruikers verwachten een dergelijk grote site natuurlijk wel in zoekresultaten te vinden. Zo’n Google straf (meestal “penalty” genoemd) krijg je over het algemeen echter niet zomaar: je moet er echt iets “illegaals” voor doen. Of iets heel onhandigs, zoals Kieskeurig en Tweakers.net overkwam. Bij Trouw zit de vork echter heel anders in de steel dan bij eerdere gevallen, er lijkt iets fundamenteel veranderd in Google’s indexering spider die pagina’s bekijkt en opslaat.

Trouw.nl Google penalty: 0 resultaten
Dat zag er in Google dus zo uit…

CSS “cloaking”?

Normaal gesproken word je verwijderd uit Google wanneer je de zoekmachine om te tuin leidt, door de bezoeker een gewone pagina te tonen, en Google een speciale “geoptimaliseerde”. Een veelgebruikte methode hiervoor is “cloaking“: op basis van het IP adres en/ of de user agent van de Google spider (genaamd Googlebot) wordt een andere pagina getoond. Dit wordt ook vaak gedaan door middel van Javascript, omdat Javascript niet door zoekmachine gelezen kan worden en wel door gewone website bezoekers. Er wordt echter ook vaak CSS gebruikt: de tekst en/ of links die de website beheerder dan wil verbergen voor mensen, wordt dan in een layer geplaatst. Vervolgens wordt die layer met CSS op onzichtbaar gezet, waardoor wij mensen niks zien en de zoekmachine de verborgen tekst.
Google kan niet achter deze IP/ user agent/ Javascript/ CSS cloaking komen, behalve wanneer iemand een zogenaamd spam report invult. Dat is een soort kliklijn waar je websites kunt aaangeven die zich wellicht niet aan de regels houden.

Maar wat heeft Trouw.nl dan misdaan om verwijderd te worden? Het enige dat ik (met hulp van collega Ulco) kon vinden, was dit stukje in de broncode, op alle ~259.000 pagina’s:

dagblad trouw, podium, nieuws, achtergronden, kranten, verdieping, opvoeding, onderwijs, religie, filosofie, natuurtochten, gezondheid(s)zorg, cultuur, natuur, milieu, stijlboek, recensies, boeken, chat, polderpeil, maandaggids, dinsdaggids, woensdaggids, donderdaggids, vrijdaggids, weekendgids, letter, geest, letter&geest, boekrecensies, novum, laatstenieuws, rss, handheld, dossiers, trouwkabinet, illegaletrouw, ephimenco, schouten, spotprenten, spotprent, len, tom, modernemanieren, cryptogram, zusje, kritieken, nieuwskoppen, horizonreizen, relatie, parship, schrijfboek, webshop, trouwcompact, compact, animatie(s), Flash, video, radio, strip(s).

Deze website maakt gebruik van cascading stylesheets. De browser die u gebruikt lijkt deze niet te ondersteunen.

In de CSS werden deze twee layers op “visibity: hidden” gezet, waardoor gewone bezoekers ze niet te zien kregen. Dat zou er tenslotte ook erg vreemd uitzien… Dit kun je dus CSS cloaking noemen

Automatisch verwijderd

OK, dus Trouw.nl werd verwijderd als straf voor deze “CSS cloaking”? Vreemd genoeg lijkt het daar niet op. De spam van Trouw was namelijk totaal niet effectief, het was immers op elke pagina hetzelfde en de tekst niet bepaald sterk. Het is dus onwaarschijnlijk dat iemand zich eraan heeft gestoord en een spam report heeft ingevuld. Het lijkt er dus op dat Google deze CSS truc door heeft. En dat is eigenlijk niet eens verrassend aangezien Google door CSS verborgen layers al langer niet meer indexeerde. Dit verschijnsel heb ik inmiddels op meerdere websites gezien, die ook een penalty van Google hebben gekregen. Dit proces lijkt dus automatisch te gebeuren en heeft daarom grote gevolgen voor nietsvermoedende webmasters die iets te graag in zoekmachines willen scoren.

Educated guess

However, dit is allemaal educated gokwerk, want Google laat hierover uiteraard niets los. Ik ben dan ook erg benieuwd of er andere vergelijke voorbeelden zijn van (semi-)automatische verwijdering uit Google voor gebruik van CSS spam.

Trouw heeft hier inmiddels zelf ook een column aan gewijd: Google: een zwijgzame rechter en politieagent

Disclosure: De uitgever van dagblad Trouw, PCM Uitgevers, is een opdrachtgever van SearchResult, waar ik werk.

20 gedachten over “Trouw.nl krijgt Google penalty door CSS “cloaking”

  1. Sander

    Als dit zo doorgaat mag je straks ook je ‘direct-naar’-menuutje en je menu-headers niet meer buiten beeld hangen. Kan me voorstellen dat dit dan voor een hoop organisaties een argument zou kunnen zijn om deze onderdelen er dan maar helemaal niet meer in te (laten) bouwen omdat ze die dingen gewoon niet in beeld hebben. Dat zou slecht nieuws zijn voor mensen die afhankelijk zijn van screen readers en/of andere assistive technologies.

    Like

  2. Ruben Timmerman Berichtauteur

    Sander, daar hoef je als het goed is niet bang voor te zijn. Een menu zal niet als spam aangemerkt worden. Ik neem aan dat er altijd nog een laatste human check op zit in de VS om te kijken of het echt spam is.

    Like

  3. Sander

    Maar het onderdeel is anders feitelijk ook een menu (zelf de className laat dat in het midden: slaat het op het indexeren door de een spider of op het feit dat het een index vormt voor achterliggende pagina’s?).

    Like

  4. Ulco

    Bij nu.nl lezen ze blijkbaar ook je weblog. Ze noemen het daar voor het gemak maar cloaking, jij was de enige die daar enigszins naar refereerde. Wel grappig dat ze dat dan (verkeerd) overnemen 🙂

    Like

  5. Ruben Timmerman Berichtauteur

    Ulco: ik heb cloaking niet voor niets tussen “”’s geschreven, for lack of something beters.

    En uhhh, ik heb de redactie van nu.nl getipt hierover en kreeg netjes reactie terug dat ze het stuk hadden geplaatst. Helaas hadden ze niet het fatsoen ook even een link hierheen te plaatsen, maar dat was misschien niet eens een verrassing…

    Like

  6. Pascal Van Hecke

    1.
    “Google kan niet achter deze IP/ user agent/ Javascript/ CSS cloaking komen, behalve wanneer iemand een zogenaamd spam report invult.”
    Je gaat ervan uit dat Google geen externe style sheets leest. Maar dat was nu het onderwerp van heel veel speculatie dacht ik… zie bv
    http://www.seroundtable.com/archives/002788.html
    (ik beweer niet zelf het antwoord te weten)

    2.
    Mij is het een jaar of twee geleden overkomen dat een site verdween uit de zoekresultaten door het sitewide gebruik van een serie identieke in-text keywords (heel kleine font, niet verborgen door css). Ik heb dat toen verwijderd, mailtje gestuurd, geen antwoord gekregen, maar na een paar dagen dook de site weer op. Maw: de css-truuk is misschien niet de (enige) trigger hier, ook de duplicat keyword lijst?

    Like

  7. Ruben Timmerman Berichtauteur

    Pascal: 1. Ik bedoel precies hetzelfde, dat is juist de grote verandering: Google leest nu wel CSS (intern of extern zal nooit een probleem geweest zijn). Ik bedoelde die zin meer in de verleden tijd, waar de rest van het stuk de nieuwe situatie beschrijft 🙂
    2. Ook hier bedoel ik eigenlijk hetzelfde als jij. De CSS truc is op zich niet illegaal (als je bijv. een menuutje wil laten verschijnen bij een rollover gebruik je het vaak ook), maar het plaatsen van 259.000 keer dezelfde woorden en links, is wel iets dat aangemerkt kan worden als illegale truc.

    Bas: Nee, dat zit hij niet echt vind ik, het is allemaal een stuk genuanceerder en zeker niet kwaadaardig van Trouw. Er is eerder sprake van een overijverige programmeur die niet wist wat hij deed.
    Bovendien heeft Arjan zijn tweede stuk na het mijne en dat op NU.nl gepubliceerd, dus zoals Ulco gokt op PMM Blognoot heeft hij de term cloaking wellicht op basis van dit stuk (onterecht) overgenomen. Kennelijk heeft hij de artikelen hier niet gezien (hopen we dan maar ;))

    N.B.: Ik schrijf cloaking niet voor niets tussen aanhalingstekens, omdat cloaking eigenlijk iets anders is, maar het doel hetzelfde kan zijn.

    Ulco: Weet jij een betere term voor spam-content-verbergen-met-CSS?

    Like

  8. Bas

    @Ruben: wat mij betreft is de term “CSS Cloaking” prima. Het gaat om misleiding, hoe onschuldig of stuntelig ook. En vanuit Google gaat het om een verschil tussen het zoekresultaat en de pagina die de gebruiker te zien krijgt.

    Een belangrijker punt dat Arjan maakt is dat het zogenaamd “illegale” er helemaal aan ligt hoe je ernaar kijkt. En mijn punt is vervolgens dat het van Trouw, en hier eigenlijk ook van jou, een beetje eenzijdig is hoe er gekeken en gewezen wordt: Er heeft iemand iets doms gedaan en nou is Google de boeman.

    Kijk voor de grap ook even op de link die ik al in de BlogNoot-comments plaatste:
    http://www.mattcutts.com/blog/how-google-handles-hacked-sites/

    Bas (ook bij Usarchy een trouwe-subscriber 🙂

    Like

  9. Ruben Timmerman Berichtauteur

    Bas: Voor mij is Google ook absoluut niet de boeman, ik hoop niet dat ik met dit stukje de indruk wek.

    Trouw heeft iets doms gedaan, dat ook vaak door zoekmachine spammers wordt gedaan. Google is bezig nieuwe technieken te ontwikkelen om spammers te pakken. Connect the dots… 🙂

    Leuk dat je van subscriber ook commenter bent geworden trouwens, ga zo door 🙂

    Like

  10. Sander

    Ik heb het hier al eens eerder gezegd: als Google van sites verwacht dat ze exact dezelfde pagina’s aanbieden aan bezoekers als aan hun spiders, dan zou ‘CSS-cloaking’ geen probleem mogen zijn. CSS is namelijk iets statisch en kan dus door de browser van de bezoeker en de spider op gelijke wijze gerenderd worden.
    Het wordt wat anders wanneer er, afhankelijk van de gedetecteerde user agent, andere content of opmaak aangeboden wordt aan de browser en de spider.
    Als Google er dus voor kiest om CSS niet, of niet op dezelfde manier, te renderen is dat hun keuze en moeten ze sites daar niet op afrekenen.

    Like

  11. Pingback: Plutosport, zoekmachinespam uit 1997… - chapter42

  12. Anders

    Ik maakte veelvuldig gebruik van verborgen headers () en de sites die ik ge??ptimaliseerd heb worden nu stuk voor stuk verwijderd. Althans, die websites die bovengemiddeld goed scoorden op google. Heeft iemand een suggestie hoe ik verborgen teksten kan opnemen die niet tot een ban leiden?

    Like

  13. Anders

    oh, ik had tussen de haakjes in mijn bericht [h1] gezet (maar dan als tag). Maar dat wordt natuurlijk uitgefilterd door het forum. dus [h1]optimalisatietekst[/h1] en dan de h1 visibility hidden gegeven in CSS.

    Like

  14. Andr?© Scholten

    Anders: wat jij doet is illegaal, je laat zoekmachines iets anders zien dan je gebruikers. Volledig terecht dat je er dan ook uitgegooid word. En nu vraag je of we andere spamtechnieken kennen? Ik zou dit soort technieken gewoon niet meer gebruiken en me richten op de online marketing van de website, daar haal je veel meer uit.

    Like

  15. Sander

    @Andr?©:
    Aan de reactie van Anders te lezen gaat het idd. om een vorm van spam, maar ik gebruik ook CSS om te zorgen dat sommige content niet gezien wordt door bezoekers die CSS-ondersteuning hebben in hun browser. Denk daarbij aan kopjes voor de diverse menu’s en aanduidingen die aangeven welk menu-item actief is. Als alle visuele hulp wegvalt (door ontbreken van CSS-ondersteuning of, nog drastischer, blindheid) kunnen de verschillende navigatieniveaus op een pagina voor een hoop verwarring zorgen. Verhelderende tekstjes/kopjes kunnen dan een hoop duidelijk maken.

    Laat zoekmachines hun searchbots onderhand maar eens wat beter maken op dit vlak, zodat een bezoeker kan aangeven dat ie alleen in zichtbare (CSS) content wil zoeken of ook in ‘onzichtbare’ content (waaronder hulp-teksten, maar helaas ook ‘spam’). Als die keuze er komt, en de meeste mensen dus enkel op zichtbare content zullen zoeken, zal dergelijke ‘spam’ vanzelf ophouden omdat het geen nut meer heeft. En vervolgens wordt dan ook de mogelijkheid om ook inclusief ‘onzichtbare’ content te zoeken interessant.

    De content die in de door mij gebouwde sites aan de zoekmachine wordt aangeboden is voor searchbots exact hetzelfde als voor de doorsnee bezoeker. Het feit dat het als spam gezien zou kunnen worden (enkel volgens een technische definitie, niet qua content) ligt dan ook aan een tekortkoming van de searchbot.

    Like

Plaats een reactie