Shingles

Door Erik-Jan op 13 april 2008

Iedereen weet dat duplicate content een probleem vormt, maar slechts weinigen weten hoe duplicate content bepaald wordt. Nu is het ook maar de vraag waarom je dat wilt weten. Feit is dat je websites zo min mogelijk duplicate content moeten bevatten wil je er op ranken. Wie boeit het dan hoe Google dit berekend? Is dit niet alleen interessant voor blackhat sites die zich afvragen of ze betrapt zullen worden door Google? Er zijn echter volledig whitehat toepassingen waarbij je wilt weten of je duplicate content hebt.

  1. Ik denk dan bijvoorbeeld aan het publiceren van persberichten. Persberichten worden vaak 1 op 1 overgenomen en dat levert uiteraard een duplicate content probleem op. De vraag is dan: Hoeveel moet je herschrijven wil je door de duplicate content filter komen, zodat jouw bericht de SERP’s meer domineert?

  2. Of denk aan de vele vakantiesites die dezelfde recensies uit een algemene database halen. Dit is toegevoegde waarde voor je bezoekers, maar krijg je geen serieuze problemen met indexatie? Ook kan het zijn dat je steeds dezelfde tekst op al je pagina?s zet, bijvoorbeeld vanuit branding oogpunt. Hoe erg is dat? En hoeveel unieke tekst moet je er bij zetten, wil je deze pagina?s toch rankend krijgen?
  3. Of kijk naar Netters zelf. Als ik een blog of artikel plaats, worden de eerste zoveel woorden op de homepage vermeld. Deze intro?s zijn volledig duplicate met de eerste zinnen van het artikel. Kom ik hier mee weg, of moet ik een compleet andere preview geven op de homepage?

Uiteraard dien je hiervoor te weten hoeveel procent duplicatie okee is voor Google. Om eerlijk te zijn kan ik hier weinig over zeggen, maar d.m.v. trial en error kom je een heel eind. Als er iemand is die hier een testje op los wil laten, kan bij mij terecht voor uitleg hoe je die testjes kan uitvoeren? ;-) Uiteraard kun je met een hash redelijk makkelijk bepalen of een hele pagina duplicate is, maar in dit artikel gaat het juist om gedeeltelijke duplicatie.

Shingles

Om te bepalen of een tekst duplicate is, gebruiken zoekmachines zgn. shingles. Vrij vertaald zijn shingles losse woordreeksen waaruit een document is opgebouwd. Het idee is dat een tekst wordt opgeknipt in stukken van steeds enkele woorden. Het aantal woorden heet de shingle size. Stel we hebben deze tekst:

De roemruchte Amsterdamse seksclub Yab Yum moet toch de deuren sluiten. Dat heeft de bestuursrechter in Amsterdam vrijdag besloten.

Als de shingle size 12 is, zijn dit de shingles:

  1. De roemruchte Amsterdamse seksclub Yab Yum moet toch de deuren sluiten. Dat
  2. roemruchte Amsterdamse seksclub Yab Yum moet toch de deuren sluiten. Dat heeft
  3. Amsterdamse seksclub Yab Yum moet toch de deuren sluiten. Dat heeft de
  4. seksclub Yab Yum moet toch de deuren sluiten. Dat heeft de bestuursrechter
  5. Yab Yum moet toch de deuren sluiten. Dat heeft de bestuursrechter in
  6. Yum moet toch de deuren sluiten. Dat heeft de bestuursrechter in Amsterdam
  7. moet toch de deuren sluiten. Dat heeft de bestuursrechter in Amsterdam vrijdag
  8. toch de deuren sluiten. Dat heeft de bestuursrechter in Amsterdam vrijdag besloten.

Ik vermoed dat Google in werkelijkheid alle stop words zoals lidwoorden en voorzetsels eruit haalt. Als zoekmachines eenmaal deze shingles bepaalt hebben, kunnen de shingles vergeleken worden met de shingles van andere documenten. Als een shingle in twee documenten voorkomt, krijgt die shingle voor beide documenten een duplicate content alarmbelletje. Het kan dus zijn dat een bepaald percentage van de shingles wel en een bepaalde percentage van de shingles niet in een ander document voorkomt. Op deze manier is elk document altijd ergens tussen de 0 en 100% duplicate content met een ander document.

Content uit meerdere bronnen

Nu kan het zijn dat een document is samengesteld uit meerdere bronnen. Blackhat spammers maken hier vaak gebruik van. Vanuit meerdere RSS feeds scrapen ze content, korten de berichten wat in en plaatsen vervolgens drie verschillende berichten op één pagina. Een slimme zoekmachine herkent dat dit een slimme vorm van duplicatie is, maar om eerlijk te zijn vermoed ik dat je hier prima mee weg komt. Ik heb hier geen ervaringen mee, maar er is vast iemand die me dit in de comments kan vertellen.

Google kan vrij makkelijk kijken naar het aantal shingles wat in geen enkel ander document voorkomt. Dit zou ik het absoluut unieke shingles percentage willen noemen. Arjan heeft een shingles tool in elkaar gezet waarmee je tussen verschillende pagina?s het percentage duplicate kan bekijken. Deze tool geeft ook weer hoeveel procent van de shingles absoluut uniek is. Via deze tool zou je waarschijnlijk redelijk veel testjes op het gebied van duplicate content en de integratie van shingles in de grote zoekmachines kunnen uitvoeren.

Wanneer wordt duplicatie bepaald?

Het probleem van het bereken van duplicate content is dat het een enorme rekenkracht vereist. Als Google 100 miljard geïndexeerde pagina?s heeft (om maar eens een getal te noemen), moeten er 100 miljard x 100 miljard combinaties van pagina?s bekeken worden. De operatie zelf is per pagina niet eens zo heel erg zwaar, maar in totaal moet het dus 10.000.000.000.000.000.000.000 worden uitgevoerd. Dit is te veel werk. Daarnaast is duplicate content pas een probleem als er in de resultaten op een bepaalde query duplicate pagina?s zijn. Google zou de duplicate content controle dus pas kunnen controleren bij een query.

Daarnaast is het bekend dat Google eigenaar is van meerdere patenten over de integratie van shingles binnen lineaire algebra. Over de vraag in hoeverre Google daadwerkelijk deze zaken toepast is helaas weinig bekend. Zo kwam ik een PDF tegen van een wiskundige genaamd Bill Pugh die zich bezig heeft gehouden met het onderzoek naar shingles voor Google. Dit deed hij al ergens in 2000, maar hij heeft geen idee of Google iets heeft geïmplementeerd, en zo ja, wat.

Helaas is dit met de hoeveelheid queries die op Google worden uitgevoerd alsnog een onmogelijkheid. De processietijd van een query zou te veel stijgen en de servers van Google zouden al snel overbelast worden. Daarom is mijn vermoeden dat Google via een cron job af en toe de meest voorkomende queries ontdoet van duplicate content. Waarschijnlijk zal de controle op competitieve termen met een hoog spamgehalte als ‘poker’ en ‘hypotheek’ hoger zijn. Dit zijn namelijk markten waarin duplicate content via bijvoorbeeld RSS feeds wordt misbruikt.

Disclaimer

De grote zoekmachines bezitten meerdere patenten om duplicate content te achterhalen. Logischerwijs willen ze spammers niet in de hand werken, dus Google zal niet zo maar zeggen hoe ze duplicate content precies bepalen. Dat ze o.a. shingles is echter aannemelijk, omdat het een handige manier is om tot een percentage duplicatie te komen. Ik stel hier echter niet dat er niet meer is.


Je kunt een reactie, achterlaten of een trackback van uw eigen site.

8 Reacties op “Shingles”

  1. adfiliate

    goed artikel, heel helder

    Reageer
  2. Elja

    Heldere uitleg, bedankt.

    Ook een handige tool. Ik zie nog wel een paar kleine verbetermogelijkheden die de tool nog handiger maken. Bijvoorbeeld wat langere invoervelden zodat je de hele url kunt zien (bij langere urls). Wellicht de resultaten een (rood) kleurtje geven wanneer een bepaalde percentage dublicate content gevonden wordt.
    Waar ligt zo’n grens eigenlijk?

    Momenteel wordt er ook nog een boel html code meegenomen. Vooral op oudere pagina’s die niet netjes met div’s opgebouwd zijn. Denk aan table’s, style’s, witdh, etc.. Dat vertroebelt de resultaten natuurlijk.

    Reageer
  3. Erik-Jan

    @Elja: De vraag is natuurlijk hoe goed Google is om de HTML eruit te halen. Daarnaast is het de vraag of Google shingles gebruikt (ik neem aan van wel, maar dan als één van de methoden op duplicate content te herkennen). Tenslotte is het de vraag bij welk percentage je in de gevarenzone zit.

    Dit artikel is daarom meer theoretisch dan praktisch ben ik bang.

    Reageer
  4. Arjan

    @elja: er is al een paar maanden niet meer aan gewerkt en bij mijn weten was deze tool ook nog in testfase, dus als de resultaten een beetje raar zijn kan dat kloppen :-)

    Reageer
  5. Dude

    Verhelderend! Dank!

    Of denk aan de vele vakantiesites die dezelfde recensies uit een algemene database halen.

    Ja, hier ben ik ook al achter sinds ik een tamelijk domme fout op vele websites tegenkwam. Alleen de Lonely Planet pakt het nog anders aan. Ken je een aanbieder van dergelijke databanken??

    Reageer
  6. Bert

    Goed artikel zeg. Er bestaat nog zoveel onduidelijkheid over dit onderwerp.
    Leuk tooltje ook.

    Reageer
  7. Patrick

    Ik vraag me toch af hoe ik dit moet zien als het gaat om persberichten. Grote nieuwssites nemen artikelen van persbureau’s vaak letterlijk over, en deze ranken toch goed?

    Reageer
  8. MacSeth

    Ik denk dat dup content vooral wordt afgeknalt als alle informatie vanaf 1 site afkomt… als je het slim aankomt en verschillende bronnen gebruikt en daarbij ook het een en ander herschrijft zullen duplicate content issues echt niet zo aan de orde zijn.

    Reageer

Reageer!