Google heeft een intelligente manier gevonden, om de resultaten van een zoekopdracht te sorteren. Een interessante vraag is: waar kunnen we die intelligentie vinden? Er is al veel onderzoek gedaan naar het indexatieproces en waarschijnlijk nog meer onderzoek naar de rankingfactoren. Wij vroegen ons af hoe slim de Googlebot eigenlijk is. Om structuur in het onderzoek aan te brengen, zijn we uitgegaan van verschillende uitspraken en algemeen gebruikte principes binnen het vakgebied en hebben we getest hoe de Googlebot hiermee omging. Sommige van de bevindingen zouden op enkele honderden domeinen moeten worden getest om er echt uitspraken over mogen te doen, maar het geeft je wellicht wel nieuwe inzichten en ideeën.
Snelheid van de Crawler
De eerste uitspraak die we hebben getest is er één van Matt Cutts: “… het nummer van pagina’s die we crawlen is ruwweg evenredig aan je PageRank”.
Dit brengt ons bij één van de uitdagingen waar websites met veel content voor staan. Het is een uitdaging om alle individuele pagina’s geïndexeerd te krijgen door Google. Je kan je voorstellen dat als Amazon.com een nieuwe website was, het een tijdje zou duren voordat Google alle 48 miljoen aanwezige pagina’s zou hebben gecrawld. Als Matt Cutts uitspraak klopt, zou dit zelfs onmogelijk moeten zijn zonder inkomende linkwaarde.
Om dit te testen, hebben we een domein genomen zonder geschiedenis. Dit wil zeggen, nog niet eerder geregistreerd en geen inkomende links. Vervolgens hebben we een pagina op deze website gemaakt met 250 linkjes op de pagina. Deze linkjes verwijzen vervolgens weer naar pagina’s met 250 linkjes er op (enz). De URL’s en linksten lopen op van 1 t/m 250, in dezelfde volgorde als dat ze in de broncode staan. We hebben de url aangemeld bij google via “addurl” en wachtten af. Vanwege het feit dat het domein geen inkomende links heeft, is de PageRank van de website verwaarloosbaar. Als Matt Cutts uitspraak zou kloppen, zou Googlebot snel moeten stoppen met crawlen.
Zoals je kan zien in de grafiek, start Googlebot het crawlen van de site met een frequentie van ongeveer 2500 pagina’s per uur. Na drie uur zakt deze frequentie terug naar een snelheid van ongeveer 25 pagina’s per uur en houdt deze frequentie aan voor in ieder geval enkele maanden. Om deze resultaten te verifiëren, hebben we deze test herhaald op twee andere domeinen. Beide tests kwamen met ongeveer vergelijkbare resultaten. Het enige verschil is een lagere piek bij het begin van Googlebots bezoek.
Sitemap
Tijdens de test manifesteerde het toevoegen van een sitemap zich als een bruikbare methode om de crawlfrequentie te beïnvloeden. We hebben tijdens de test een sitemap toegevoegd met 50.000 nog niet gecrawlde pagina’s (indexatie level 0). De pagina’s die middels de sitemap zijn toegevoegd zijn door Google voor in de wachtrij geplaatst om gecrawld te worden. Dit betekent dat die pagina’s eerder gecrawled zijn dan de pagina’s met een indexatie level van F-. Wat echt opvallend is te noemen is de enorme stijging in crawlfrequentie. Voordat de sitemap werd toegevoegd was de crawlfrequentie gestabiliseerd op een snelheid van 20 – 30 pagina’s per uur. Zodra de sitemap was geüpload via de webmaster central, versnelde de crawler tot ongeveer 500 pagina’s per uur. In enkele dagen bereikte de crawler zelfs een snelheid van ongeveer 2224 pagina’s per uur. Waar de crawler voor het toevoegen van de sitemap een gemiddelde snelheid had van 26,59 pagina’s per uur, groeide het na het toevoegen van de sitemap tot een gemiddelde van 1257 pagina’s per uur. Dit is een stijging van maar liefst 4630,27 procent. De stijging in crawlfrequentie is niet alleen voorbehouden aan pagina’s welke waren opgenomen in de sitemap. Ook de pagina’s met een indexatie level F- en 0 profiteren van de stijging in crawlfrequentie.
Het is vrij opmerkelijk dat Google opens meer van haar capaciteit gebruikt om de website te crawlen. Op het moment dat de sitemap was toegevoegd aan de webmaster central, was de wachtrij van Google al gevuld met pagina’s met een indexatie level van F-, wachtende om gecrawled te worden. Een verklaring hiervoor is dat Google wellicht veel waarde hecht aan een toegevoegde sitemap.
Dit brengt ons terug bij de uitspraak van Matt Cutts. Na maar 31 dagen heeft de Googlebot ongeveer 375.000 pagina’s van de website gecrawled. Als dit in proportie was met zijn PageRank (welke 0 is) zou dit betekenen dat het van een PageRank 1 website maarliefst 140.625.000.000 pagina’s zou crawlen in slechts 31 dagen. Bedenk je dat PageRank exponentieel is. In andere woorden betekent dit dat je je nooit druk zou hoeven maken over je PageRank. Met andere woorden, accepteer niet zomaar alles wat Matt Cutts zegt.
Crawler bewegingen
Tijdens het eerste bezoek van Google heeft het alleen de root pagina (http://example.com) bezocht. Na enkele uren bezocht het de site opnieuw en bezocht het alle 250 pagina’s die waren gevonden op de root pagina. Op het eerste gezicht leek het erop dat Google alle links op de pagina verdeelde in drie blokken:
– Blok1: link 1 t/m 9
– Blok2: link 10 t/m99
– Blok3: link 100 t/m 250
Als Googlebot een pagina bezoekt lijkt de kans drie keer groter dat het meer links volgt van blok 1 dan van blok 3. De kans dat Googlebot links van blok 1 bezoekt is volgens de waarnemingen zelfs 6 keer groter dan links van blok 3. In blok 3 zijn er twee links die een iets grotere kans hebben om bezocht te worden in vergelijking met de rest van het blok. Dit zijn respectievelijk /100/ en /200/.
Met enkel de resultaten van deze test, is het te vroeg om te kunnen concluderen dat Google altijd de pagina’s opverdeelt in deze blokken. Het is mogelijk dat Google de verdeling van de blokken baseert op de lengte van de linktekst, op de lengte van de gehele tekst, op de positie van de andere links, etc. Om al deze mogelijkheden uit te sluiten hebben we enkele extra testen uitgevoerd.
Deze test welke ons uitsluitsel gaf was een test waarbij de lengte van de URL’s in willekeurige volgorde op een pagina stonden. Deze links refereerden op hun beurt weer naar pagina’s met ook links van diverse lengtes in willekeurige volgorde (enz). Googlebot lijkt links te crawlen in volgorde van de lengte van de URL. Dit is goed om te weten als je wat geavanceerdere sitesculpting wilt bedrijven.
Aantal links
Rand Fishkin zegt: “…Je kan over het door Google geadviseerde aantal van 100 links gaan. indien je een PageRank van 7 hebt kan je zelfs over 250-300 links nadenken.”
Het advies van 100 links per pagina is altijd een goed besproken onderwerp geweest, met name voor websites met een groot aantal pagina’s. De reden dat het oorspronkelijk geadviseerd werd was vanwege het feit dat Google in eerste instantie maar 100 kilobyte per pagina kon indexeren. Er is toentertijd gekozen voor 100 links, omdat dit een redelijk aantal links was op een pagina van 100 kilobyte. Zodra een pagina meer dan dat aantal links had, zou de mogelijkheid bestaan, dat de pagina te lang zou worden en daardoor de gehele pagina niet geïndexeerd zou worden. Tegenwoordig indexeert Google in ieder geval meer dan 1.5 MB en is de gebruikerservaring de hoofdreden voor Google om het “100 links” per pagina advies in haar richtlijnen te blijven opnemen.
Zoals je kon zien in voorgaande paragraaf crawlt Google inmiddels 250 links, zelfs op sites zonder inkomende linkwaarde. De vraag is alleen: is er een limiet? Om deze vraag te beantwoorden hebben we de test nogmaals uitgevoerd. In plaats van 250 links per pagina zijn er bij deze tweede test 5000 links per pagina aangehouden. Op het moment dat Googlebot deze test bezocht gebeurde er iets opvallends. Googlebot vroeg de volgende pagina’s op:
• http://example.com/1/
• http://example.com/10/
• http://example.com/100/
• http://example.com/1000/
Op elk niveau die Google bezoek, zien we dit beeld terugkeren. Het ziet er naar uit dat de Googlebot niet weet hoe het moet omgaan met een dusdanig groot aantal links op een pagina.
Intelligentie van de Crawler
Semantiek
Eén van de SEO mythes die je bijna op elke geoptimaliseerde website terugziet, zijn de links geplaatst tussen heading tags. Onlangs was het ook genoemd als één van de factoren die een rol speelde in het “Reasonable Surfer patent”. Als Google semantiek respecteerde, zou het meer waarde hechten aan links welke binnen een heading tag staan. Wij hadden onze twijfels en hebben het getest.
We hebben eenzelfde test gestart als hiervoor beschreven en markeerden enkele links met headingtags. Ditzelfde werd gedaan voor enkele pagina’s op dieper gelegen niveaus. Na enkele weken wachten was er nog steeds geen verschil zichtbaar geworden in vergelijking met de overige links. Niets duidde er op dat Google de voorkeur geeft aan de heading links om te volgen. Dit betekent echter niet dat Google geen gebruik maakt van semantiek in haar algoritme. Het duidt er alleen op dat het geen gebruik maakt van headings om een bepaald pad sneller te crawlen dan andere links.
JavaScript
Google zegt dat het steeds beter wordt in het herkennen en uitvoeren van JavaScript. Hoewel JavaScript geen goede techniek is om te gebruiken wanneer je zeker wilt weten dat Google je links volgt, wordt het regelmatig gebruikt om juist het omgekeerde te bereiken. Wanneer de techniek wordt gebruikt voor PageRank sculpting, is het doel van de techniek om de links onherkenbaar te maken voor zoekmachines. Als JavaScript op deze manier wordt ingezet, is het verstandig om jezelf uptodate te houden over wat Google wel en niet kan herkennen en uitvoeren. Om Googlebot te testen op haar mogelijkheden om JavaScript te herkennen en uit te voeren, hebben we de JavaScript codes genomen zoals beschreven in “The professional’s guide to PageRank optimization” en hebben Google aan de hand van deze code getest.
De enige code die Googlebot kon uitvoeren en de links erin kon volgen waren de simpele links gemaakt met een simpele “document.write” lijn. Dit wil niet gelijk zeggen dat Google niet in staat is om geavanceerdere JavaScript te herkennen en uit te voeren. Het is mogelijk dat er een extra trigger nodig is zoals bijvoorbeeld inkomende links om Google deze links te laten volgen.
Breadcrumbs
Breadcrumbs zijn typische elementen op een website die special gecreëerd zijn voor gebruikers. Soms worden ze ook gebruikt om de sitestructuur te ondersteunen. De laatste maanden zijn we enkele keren tegen het probleem aangelopen dat Google moeite had met het omhoog crawlen via breadcrumbs. Aan de hand van deze problemen hebben we enkele testen uitgevoerd.
We hebben een pagina gemaakt op enkele niveaus diep ( http://example.com/lvl1/lvl2/lvl3/ ) met wat content en een link naar pagina’s hoger gelegen in de structuur. We hebben enkele inkomende links naar de pagina geplaatst en wachtten af. Hoewel Googlebot 3 keer op de pagina zelf is langs geweest, kregen de hoger gelegen pagina’s geen bezoek.
Om de resultaten te verifiëren hebben we dezelfde test gedaan op een ander domein. Dit keer hebben we de test pagina enkele niveaus dieper in de sitestructuur gestopt. Dit keer volgde Google wel enkele links die naar pagina’s hoger in de sitestructuur refereerden. Ondanks het feit dat enkele van de links volgde, ziet het er niet naar uit dat het een goede methode is om de sitestructuur de ondersteunen. Na enkele weken heeft Google nog steeds niet alle hoger gelegen pagina’s gecrawld. Het ziet er naar uit dat de Googlebot liever dieper de sitestructuur ingaat dan dat het hoger gelegen pagina’s crawlt.
Takeaways
Samengevat hebben we geleerd dat je de crawlfrequentie kan beïnvloeden met een sitemap. Dit betekent niet dat je altijd een sitemap moet uploaden. Je wil alleen de crawlfrequentie verhogen als het grootste gedeelte van de gecrawlde pagina’s ook daadwerkelijk wordt geïndexeerd. Het duurt namelijk langer voordat de crawler opnieuw bij een pagina met een indexatie level van “F” langs komt dan een reeds geïndexeerde pagina. Dus als de meeste pagina’s wel worden gecrawld maar niet worden geïndexeerd, zou je moeten overwegen om eerst meer inkomende links te verzamelen voordat je de sitemap inzet. Daarnaast is het verstandig om te monitoren wanneer een pagina voor het laatst gecrawld is door Googlebot. Indien je dit bijhoudt, kan je altijd problemen in je sitestructuur identificeren.
Een andere manier om de Googlebot te beïnvloeden, is door verstandig om te gaan met de lengte van je URL’s. Google crawlt korte URL’s eerder dan langere URL’s. Het helpt niet om alle URL’s even lang en kort te maken. Als ze allemaal dezelfde lengte hebben, worden ze random gecrawld. Het is dus verstandig om de juiste pagina’s een korte URL te geven. Maak echter altijd een overweging tussen indexatie en crawlen. Een korte URL kan handig zijn om snel gecrawld te worden, maar de URL is ook van invloed bij indexatie en rankings.
Het is dus verstandig om er rekening mee te houden bij het ontwerpen van je sitestructuur. Waarschijnlijk is het nog belangrijker om mee te nemen bij linkbuilding. We hebben het nog niet getest, maar het is waarschijnlijk dat Google op dezelfde manier omgaat met het crawlen van externe links als interne links. Dit zou betekenen als je met een link naar je website tussen honderden andere links staat, je je kansen vergroot om gecrawld te worden door een korte URL te kiezen.
Verder is het aantal links niet gelimiteerd tot 250 links (zelfs niet als je geen inkomende linkwaarde hebt) al ziet het er naar uit 5000 links teveel zijn. We hebben niet de exacte limiet gevonden van het aantal links gevonden die Google crawlt, maar we houden je op de hoogte.
Links in heading tags plaatsen voor crawl doeleinden lijkt geen nut te hebben. Dit neemt niet weg dat je het altijd nog kan inzetten voor de usability van een website, omdat je het gewend bent of omdat WordPress het toch al standaard doet. Daarnaast zou het nog steeds een ranking factor kunnen zijn.
Een andere conclusie die we kunnen trekken is dat Googlebot niet erg goed lijkt in het crawlen van breadcrumbs. Gebruik deze dus niet als basis van je structuur. Google lijkt nou eenmaal niet zo goed omhoog als omlaag te crawlen. In tegenstelling tot breadcrumbs kan je JavaScript op dit moment nog inzetten voor sitesculpting doeleinden. Googlebot is nog steeds niet geweldig in het herkennen en uitvoeren van JavaScript links. Houd jezelf echter wel up-to-date indien je deze techniek gaat toepassen. Google kan elk moment een update uitbrengen waardoor de crawler beter wordt in het uitvoeren van JavaScript, maar voor nu kan je prima geavanceerdere JavaScript gebruiken om de bot om de tuin de leiden.
Fraaie test, Rolf + Onetomarket, met leuke inzichten.
Belangrijk zijn wat mij betreft 2 dingen hierbij:
– Deze data is het resultaat van de specifiek geteste situatie en geldt niet per se voor andere situaties, hoe vergelijkbaar ook.
– Verwar het proces van crawlen en indexeren niet. Crawlen betekent niet dat je geïndexeerd wordt.
Maar bovenal hulde voor de testen en het delen van deze resultaten!
Erg mooi werk. Grote vraag is: hoe kan je hiervan profiteren met een site?
Wat versta je onder een korte URL? Het aantal karakters of het aantal niveaus?
Dank voor het delen van deze inzichten Rolf, erg interessant!
Wat ik me afvroeg bij de grafieken wanneer de bot de pagina’s gaat crawlen, komen deze gegevens nou exact overeen met de gegevens in Google Webmaster Tools?
Zeer leuke test en erg interessant om door te lezen. De resultaten zien er zeer aannemelijk uit, voor de situaties die zijn getest natuurlijk.
Bedankt voor deze post en ik kijk uit naar meer van dit soort testen van jullie kan uit!
@Eduard Blacquière
Het is inderdaad voor de specifiek geteste situaties (iets wat eigenlijk altijd voor testen mbt Google opgaat).
Sommige van de uitkomsten hebben we inmiddels al wel op andere sites kunnen bevestigen.
Deze testen zijn inderdaad puur gericht op het crawlen, naar indexatie is niet gekeken, laat staan rankings.
@Gijs Bos
Dat is inderdaad de grote vraag waar het om draait. Omdat elke site anders is, kan ik hier natuurlijk geen eenduidig antwoord op geven. Natuurlijk wil ik wel even wat voorbeelden geven waar de resultaten wellicht voor ingezet kunnen worden. Dit wel even onder voorbehoud dat alles nog verder moet worden onderzocht (en ook onderzocht wordt).
In het algemeen kan je stellen dat sites veel meer bij de basis moeten beginnen. Zoals gezegd zijn er 3 processen (crawlen, indeaxtie en ranken) waarvan de eerste door bijna iedereen voor het gemak maar vergeten wordt. Dit onder het mom van, Google vindt m’n pagina’s toch wel.
Kort door de bocht kan je stellen dat indien jij meer je best doet om Google op de hoogte te stellen van je (nieuwe) pagina’s, Google meer moeite zal doen om ze te crawlen. Voor een nieuwe (maar ook voor bestaande) sites kan het dus heel verstandig zijn om een sitemap te uploaden. Wat je echter wil voorkomen is dat je door het toevoegen van sitemaps eventuele gaten in je navigatiestructuur over het hoofd gaat zien. Daarom raad ik het sowieso aan om in een database bij te houden wanneer Google langs komt en op welke pagina’s. zo krijg je een beter inzicht in de crawlrate, maar ook in eventuele “zwarte gaten” op je website.
Verder lijkt de crawlpiek aan het begin van het crawlproces te maken te hebben met de snelheid van de server. Dit zijn we nog verder aan het testen, maar meer overhead (snellere servers) lijkt ook beter voor je crawlrate.
De volgorde waarin Google crawlt lijkt lastiger toepasbaar, al zijn er in combinatie met de wetenschap dat Google tussen de 250 en 5000 ergens een limiet heeft zitten wel wat toepassingen te verzinnen. Zo zijn er diverse startpagina’s met 1000+ links. Stel dat de crawlvolgorde ook opgaat bij links naar externe domeinen, dan zou je dus de kortste link willen hebben, om er zeker van te zijn dat Google de link volgt. (even los van het feit dat het wellicht niet heel veel nut heeft om een link vanaf die pagina te hebben).
Verder zou je het kunnen gebruiken bij het ontwikkelen van een nieuwe website. Een simpel voorbeeld is de contact pagina. In plaats van http://example.com/contact.html zou je misschien http://example.com/more-info/about-us/contact.html willen gebruiken. Dit omdat je wellicht liever hebt dat andere pagina’s eerst worden gecrawld bij het live gaan van de nieuwe website.
Verder wil je dat je website niet afhankelijk is van breadcrumbs om Google langs alle pagina’s te sturen. Je wilt breadcrumbs gebruiken voor de bezoekers. Daarom is het altijd verstandig om een top-down structuur te hanteren.
Al met al een korte opsomming met mogelijkheden, niet allemaal even waardevol en realistisch, maar om wat hardere uitspraken te doen willen we dingen nog verder hebben onderzocht.
@Anne Jellema
Hiermee bedoel ik het aantal karakters in de url. Dit moet nog getest worden met domeinnamen, maar binnen een site lijkt het vooralsnog altijd op te gaan.
@Anne Jan Roeleveld
Deze gegevens komen niet exact overeen, maar bij benadering kloppen ze nog best aardig.
@Edwin Kersten
Dank! Op de achtergrond zijn we altijd druk bezig met dit soort onderzoeken. Als we weer mooie resultaten hebben die we kunnen delen, zullen we ze hier weer posten.
@Rolf Broer: dank voor de toelichting. Zou het voor grote sites zinvol zijn om meerdere en verschillende sitemaps te submitten om te voorkomen dat zwarte gaten ontstaan?
Hoe zou je het kunnen toepassen bij sites die veel tijdelijke pagina’s heeft? (heel praktische vraag, want bij een jobboard gaat een vacature na een tijdje offline).
Met zwarte gaten bedoel ik eigenlijk plekken waar de sitestructuur dusdanig slecht in elkaar zit dat Google er op een natuurlijke manier niet of nauwelijks langskomt. (dus dat Google de pagina’s zonder sitemap niet kan vinden) Als Google een pagina niet of slecht kan vinden zal dat al snel betekenen dat er ook weinig linkwaarde naar toe vloeit en de pagina dus meer moeite zal hebben om geïndexeerd te worden en te gaan ranken.
Als je op een gegeven moment sitemaps gaat toevoegen is het artikel van Patrick Altoft interessant om te lezen: http://www.blogstorm.co.uk/using-multiple-sitemaps-to-analyse-indexation-on-large-sites/
Hij beschrijft een methode om middels het toevoegen van meerdere sitemaps beter te kunnen analyseren hoeveel pagina’s daadwerkelijk zijn geïndexeerd. (niet 100% nauwkeurig maar het geeft je wel een goed beeld).
In het geval van een jobboard kan het slim zijn om de nieuwe pagina’s (nieuwe vacatures) aan een sitemap toe te voegen. Vervolgens moeten verwijderde pagina’s ook weer uit de sitemap gehaald worden en natuurlijk een nette 301 redirect naar een zo’n relevant mogelijke pagina.
Mooi onderzoek. Complimenten!
Goed artikel Rolf, mijn complimenten.
Pas wel even overal “betekend” aan naar “betekent”
thnx, gelijk even opgepakt. Erg slordig.
top, gaan wij ook eens testen bij ons op de marketing afdeling! Bedankt jongens.
[…] Broer van Onetomarket publiceerde een interessant onderzoek over de manier waarop de Googlebot een website doorzoekt. Op basis een van een eigen experiment […]
Interessant onderzoek, nice work!
Ben wel benieuwd hoe zich dit vertaalt naar indexatie (goed omdat onderscheid nog aan te geven @Eduard). Is daar iets over bekend?
Het onderzoek vertalen naar indexatie en uiteindelijk naar rankings is inderdaad het grotere doel van het geheel.
Het onderzoek 1 op 1 vertalen naar indexatie gaat helaas niet lukken vanwege de opzet van de tests. We zijn inmiddels echter wel bezig met een methode om crawlen, indexatie en rankings beter tegen elkaar te kunnen afzetten. Zodra we hier wat verder mee zijn hopen we er natuurlijk een blogpost over naar buiten te brengen.