Crawlen en indexeren
Naast klantspecifieke configuratie ondersteunt Pandosearch ook een aantal webstandaarden rondom het crawlen en indexeren van websites. Hiermee kun je tot op zekere hoogte zelf bepalen welke informatie wel en niet in je zoekresultaten moet terugkomen. Dit artikel beschrijft deze standaarden en hoe wij hiermee omgaan.
Als we in dit artikel spreken over een “robot” of “bot”, bedoelen we een geautomatiseerd programma dat een website doorzoekt om er informatie uit te verzamelen. Pandosearch werkt met robots. Ook Google, Bing en andere online zoekmachines gebruiken robots om de informatie te verzamelen waarop ze hun zoekresultaten baseren.
Op drie niveaus kun je robots instructies geven:
- Gehele site: een robots.txt bestand
- Individuele pagina’s: HTML tags en HTTP headers
- Specifieke links binnen een pagina: link attributes
De rest van dit artikel gaat dieper in op deze drie niveaus.
Gehele site: robots.txt
Een robots.txt bestand is een advies aan bots over hoe een website gecrawld en ontsloten moet worden. Dit bestand zet je direct in de hoofdmap van je website. Voor pandosearch.com staat robots.txt op deze plek:
https://www.pandosearch.com/robots.txt
User-agent en Disallow
Instructies in robots.txt bestaan in de basis uit een combinatie van User-agent
en Disallow
regels. Een voorbeeld:
User-agent: *
Disallow: /cgi-bin/
-
User-agent: *
betekent dat deze regel van toepassing is op alle bots -
Disallow: /cgi-bin/
betekent dat bots niet moeten kijken naar alles onder /cgi-bin/
Ander voorbeeld:
User-agent: Googlebot
Disallow: /
-
User-agent: Googlebot
betekent dat deze regel specifiek van toepassing is op de bot die zich identificeert als “Googlebot” -
Disallow: /
betekent dat deze bot de hele website moet negeren (en dus niet moet indexeren)
Een robots.txt bestand mag meerdere User-agent
secties bevatten.
Pandosearch identificeert zich als “Pandosearch-Webcrawler” of “Enrise-Webcrawler”, afhankelijk van de configuratie. Hier kun je gebruik van maken om specifieke instructies te geven via een User-agent regel in combinatie met één of meer Disallow regels.
Belangrijk is om te melden dat robots.txt alleen een advies is. Bots zijn niet verplicht om dit te volgen. Pandosearch doet dit standaard wel, maar op verzoek kunnen we dit uitschakelen.
Meer informatie is te vinden in de voorgestelde webstandaard RFC 9309.
Sitemap
In robots.txt kunnen naast Disallow regels ook één of meerdere Sitemap regels staan:
Sitemap: https://www.pandosearch.com/sitemap.xml
Hiermee geef je de locatie van een sitemap of sitemap index weer. Pandosearch gebruikt deze sitemaps als input voor te vinden pagina’s. Zie Crawlen voor meer informatie over hoe dit werkt.
Individuele pagina’s: HTML tags en HTTP headers
Een robots.txt bestand gebruik je meestal om hele gedeeltes van je website uit te sluiten. Daarnaast is het ook mogelijk om te specificeren hoe bots specifieke pagina’s mogen gebruiken. Dit kan op een aantal manieren:
Robots meta tag
Voor individuele HTML pagina’s geef je instructies via een robots
meta tag. Twee instructies zijn voor Pandosearch relevant: noindex
en nofollow
.
noindex
<meta name="robots" content="noindex">
Via noindex
geef je robots de opdracht om de pagina niet te indexeren.
nofollow
<meta name="robots" content="nofollow">
Via nofollow
geef je robots de opdracht om links die op de pagina voorkomen niet te volgen.
Combineren
Het is ook mogelijk om beide te combineren:
<meta name="robots" content="noindex,nofollow">
Net als voor robots.txt geldt ook hier dat Pandosearch standaard deze instructies volgt, tenzij anders geconfigureerd.
Canonical tag
Naast het geheel uitsluiten van een pagina, kun je robots ook laten weten welke URL de juiste is. Waarom is dit van belang? Dezelfde informatie is vaak via meerdere URL’s te vinden. Een bekend voorbeeld is met en zonder “www”, bijvoorbeeld:
Strikt genomen zijn dit twee verschillende pagina’s, maar ze bevatten dezelfde informatie. Als je ze allebei in je zoekresultaten toont, is dit verwarrend voor eindgebruikers.
Om dit te voorkomen kun je gebruik maken van de zogeheten canonical tag in je HTML pagina. Deze staat net als de robots meta tag in het <head>
gedeelte van je HTML. Een voorbeeld:
<link rel="canonical" href="https://www.pandosearch.com">
Hiermee geef je aan dat de URL met “www.” ervoor de gewenste variant is om te indexeren en tonen in zoekresultaten.
Pandosearch volgt standaard deze instructies. In overleg kunnen we dit uitschakelen indien nodig.
HTTP headers
Voor content anders dan HTML (bijvoorbeeld PDF bestanden) zijn bovenstaande HTML tags niet bruikbaar. Daarom is er ook de mogelijkheid om in een X-Robots-Tag HTTP header aan te geven wat robots wel en niet mogen doen. Let op: dit vereist enige technische kennis over webservers.
Ook hier kun je noindex
, nofollow
of een combinatie gebruiken. In de praktijk is vooral noindex
bruikbaar, omdat in content anders dan HTML doorgaans geen links naar andere pagina’s te vinden zijn:
X-Robots-Tag: noindex
Specifieke links: link attributes
Via meta tags en HTTP headers kun je voor een hele pagina aangeven wat er met de links moet gebeuren die op de pagina staan. Soms wil je nog preciezer kunnen aangeven wat er met links op een pagina moeten gebeuren: sommige links wil je wel laten volgen, andere niet.
Denk bijvoorbeeld aan een forum op je website. Links die gebruikers in hun berichten plaatsen wil je uitsluiten, maar links naar de pagina’s waarop deze individuele berichten staan wil je juist wél laten indexeren.
Om dit te bereiken kun je rel="nofollow"
toevoegen aan individuele links. Voorbeeld:
<a href="https://pandosearch.com/" rel="nofollow">Pandosearch</a>
Hiermee geef je Pandosearch de instructie om deze link niet te volgen.
Kanttekening hierbij: Pandosearch volgt standaard alleen links die binnen hetzelfde domein verwijzen. Het is voor Pandosearch daarom ook niet nodig om rel=”nofollow” toe te voegen aan links die naar externe websites verwijzen. Toch kan het voor zoiets als het forum uit het voorbeeld zinvol zijn om dit te doen, omdat je geen controle hebt over wat mensen in hun berichten plaatsen. Met rel="nofollow"
voorkom je dat (door gebruikers geplaatste) links naar interne pagina’s onbedoeld in de zoekresultaten terugkomen.
Wel of geen standaard?
De robots.txt instructies zijn in 1994 al ontstaan, maar strikt genomen is er geen officiële standaarden gedefinieerd voor bovenstaande instructies (wel een in ontwikkeling op moment van schrijven). Dit betekent dat verschillende bots dezelfde informatie anders kunnen interpreteren en/of andere variaties kunnen ondersteunen.
De praktijk wijst echter uit dat de elementen uit dit artikel breed ondersteund worden. Ze bieden daarmee goede mogelijkheden om gedrag te controleren, zowel voor Pandosearch als andere robots.
Verder lezen
Wil je (nog) meer weten over robots instructies? Onderstaande pagina’s zijn goede vertrekpunten:
- https://nl.wikipedia.org/wiki/Robots_Exclusion_Protocol
- https://www.sitemaps.org/protocol.html#submit_robots
- https://en.wikipedia.org/wiki/Nofollow
- https://en.wikipedia.org/wiki/Noindex
- https://developers.google.com/search/docs/advanced/robots/create-robots-txt
- https://www.rfc-editor.org/rfc/rfc9309.html