Faceted Search & SEO: high-risk, high-reward

Wat is faceted search (of filtered navigation)? En waarom is het een high-risk, high-reward ding?

Dit is een navigatiesysteem dat je meestal aan de linker zijkant van grote webshops en marketplaces ziet. Het is in feite het aan- en uitzetten van filters waarmee je een zoekopdracht op een website kunt uitbreiden of juist inkaderen. Vergelijk het met het aloude 'geavanceerd zoeken', maar dan on steroids, en waarbij allerlei filters geactiveerd en gecombineerd worden zodra je erop klikt.

Een voorbeeld:

  • -

    Stel je tikt op een vacaturesite het keyword 'psycholoog' in.

  • -

    Je krijgt dan alle vacatures van psychologen die die website heeft, maar je wil het inkaderen, bijvoorbeeld op regio. Je ziet een lijst met regio's staan waarin vacatures voor psychologen beschikbaar zijn. Je klikt dan bijvoorbeeld op 'Gelderland'.

  • -

    Het zoekresultaat ververst en je krijgt alleen vacatures te zien voor psychologen in Gelderland, en dus juist niet voor de rest van de regio's in Nederland.

  • -

    Naast Gelderland wil je ook in Noord-Brabant kijken. Je klikt 'Noord-Brabant' aan en ziet dan resultaten van Gelderland EN Noord-Brabant.

Ik ga het hier niet verder uitleggen, want er zijn veel betere handleidingen online, maar raad je wel aan om je erin te verdiepen voordat je verder leest, zeker als je werkt met database websites waarbij zoekresultaten essentieel zijn (classifieds, e-commerce, etc.)

Waarom is het 'high-risk'? #

Omdat je, als je niet uitkijkt, je site simpelweg teveel URLs heeft. Dat betekent bijvoorbeeld als je een vacaturesite hebt met de volgende filters:

  • -

    2 regio’s: Arnhem en Nijmegen

  • -

    2 dienstbetrekkingen: fulltime en interim

  • -

    2 salarisschalen: 1 en 2

Nu verwerk je die filters standaard in de URL en je kunt meerdere filters tegelijk aanzetten. Je bent bijvoorbeeld web developer en je zoekt een full-time baan in Nijmegen tegen salarisschaal 1. Als URL zou je dan bijvoorbeeld kunnen krijgen: /?regio=nijmegen&salaris=1&type=fulltime.

Of wat eleganter: /regio.nijmegen/salaris.1/type.fulltime/.

Probleem 1: volgorde #

Het eerste probleem is dat de volgorde van de filters vaak niet uitmaakt voor het systeem dat de zoekopdracht uitvoert en serveert op je website. Als je deze parameters omdraait, krijg je veelal hetzelfde resultaat te zien: /type.fulltime/salaris.1/regio.nijmegen/.

Stel je eens voor wat dit voor duplicate content issues doet als je vijftig filters hebt op je site. Dit kun je deels oplossen door altijd een vaste volgorde en prioriteit van filters aan te houden, maar dan ben je er nog niet.

Probleem 2: meerdere filters van hetzelfde type #

Want dan heb je natuurlijk de mogelijkheid dat iemand zowel op Arnhem als Nijmegen filtert: /regio.nijmegen/regio.arnhem/salaris.1/type.fulltime/.

Stel nu dat er slechts 1 vacature beschikbaar was bij allebei de zoekopdrachten, namelijk 1 dienstbetrekking in Nijmegen. Dat levert toch precies dezelfde content op. We hebben nu al drie URLs voorbij zien komen waarbij de content van de pagina precies hetzelfde was. En dan is dit nog een extreem simpel voorbeeld...

Probleem 3: het verergert andere problemen #

En dan heb je nog de problemen die je toch al vaak hebt met duplicate content issues, bijvoorbeeld onnodige parameters, extra slashes, session-id's, case-insensitivity, het gebruik van willekeurige categorienamen in URLs, etc., etc.

Probleem 4: inefficiënte verdeling van link waarde #

Je website als geheel heeft een bepaalde hoeveelheid 'SEO-waarde' te verdelen (laten we dat voor het gemak 'PageRank' noemen). Hoe meer pagina's je hebt, hoe minder je te verdelen hebt per pagina. Je verstuift het tot er niks meer overblijft, als het ware. Dit verdelen moet je zo effectief mogelijk doen. Daarbij kun je dus geen surplus aan URLs gebruiken!

Voorlopige conclusie: het is een "disaster waiting to happen" #

Kort gezegd komt het erop neer dat wanneer je faceted search via URLs afhandelt, je voor iedere filter een aanzienlijke groei aan URLs op je site erbij krijgt, en dat je de linkwaarde van je website dus ook verdeelt over steeds meer pagina's. Al heel snel betekent dat miljoenen extra URLs die minder en minder unieke content bevatten, met elkaar concurreren, en minder en minder autoriteit overhebben om te concurreren met pagina's van andere sites.

Je begrijpt dat dit problematisch zou zijn.

Tip: ik kan je hiermee helpen, trouwens ;) #

En wel met deze producten / diensten:

Of zit hier toch een "high-reward" kans? Jawel! #

Maar faceted search kan ook een zegen zijn voor SEO, mits je het goed aanpakt! Het is belangrijk om dit te herhalen: alleen als je het goed aanpakt.

Waar het namelijk ook voor zorgt, is dat je een gebruikersvriendelijke, contextafhankelijke navigatie hebt voor een hele grote (database) site die alle content heel eenvoudig beschikbaar maakt, en dat ook slechts binnen een beperkt aantal clicks.

We moeten ook niet vergeten dat - naast 'in-tekst' links - juist de links in je navigatiemenu de meeste waarde te verdelen hebben (meer bijvoorbeeld dan footerlinks).

Op iedere willekeurige pagina van je site heb je gerelateerde links staan, en die verwijzen alleen maar naar pagina's die ook relevant zijn voor waar je je op dat moment op de site bevindt. Dat is dus aanzienlijk beter dan een statisch navigatiemenu dat op elke pagina van je site hetzelfde is. Het helpt zoekmachines als Google om te begrijpen wat de inhoudelijke (semantische) context is van een bepaalde pagina. Dat is een belangrijke SEO factor.

Waar veel database-sites problemen hebben met het überhaupt makkelijk bereikbaar maken van hun grote hoeveelheden content (bijvoorbeeld door paginering), lost een faceted search (of: faceted navigatie) dat probleemloos op, en doet dat op een manier die de context van een pagina beter versterkt dan traditionele navigatiesystemen. En dat is zeker een zegen.

Stappenplan SEO en faceted search #

Maar hoe zorg je nu dat je gebruik kunt maken van de usability en (mogelijke) SEO-voordelen van een faceted search systeem, zonder last te hebben van de duplicate content issues en het beschikbare crawl- en PageRank budget? Hieronder een stappenplan. Het hangt van de complexiteit van je site en organisatie af of de uitvoer net zo eenvoudig is.

  1. 1.

    welke typen pagina's wel, en welke niet?
    In der Beschränkung zeigt sich erst der Meister: welke typen pagina's wil je gebruiken om Google te bestormen, en welke niet? En zeg nu niet 'allemaal', want dan moet je het stukje onder Vloek: duplicate content nogmaals lezen! Meestal weet je intuïtief al welke (typen) filters het meest gezocht worden, op je site en/of op het web. Niet zelden is dat maar een beperkt aantal. Maar als je het precies wil weten, moet je eens een goede inhoudelijke blik werpen op de statistieken van je site.

  2. 2.

    Hoe doen we de uitvoer?
    Als je weet welke typen pagina's wel, en welke niet geïndexeerd mogen worden, moet je bepalen HOE je dit gaat doen. En juist hier lopen de meningen bij SEO's uiteen. Ruwweg komt het meningsverschil hierop neer: ga je achteraf vertellen tegen Google wat er met het surplus aan pagina's moet gebeuren; of vertel je het vooraf?

Vooraf is beter. Daarmee voorkom je een probleem, in plaats van dat je het achteraf verbergt.

Vooraf tegen Google vertellen welke pagina’s geïndexeerd mogen worden en welke niet #

Ik kan hier van alles beschrijven (heb ik in vorige versies van dit artikel ook gedaan), maar eigenlijk is het gebruik van robots.txt Disallow regels het meest effectief.

Als je ervoor zorgt dat ieder paginatype herkenbaar is aan een bepaald URL-patroon, dan kun je met een robots.txt Disallow regel vrij eenvoudig die regels blokkeren voor indexatie. Zo simpel is het.

Zo kun je met robots.txt:

  • -

    Een whitelist maken. Je sluit dan alle faceted search URLs uit voor indexatie, behoudens enkele uitzonderingen. Zo kun je dus heel precies controleren wat je 'in Google' wil hebben!

  • -

    Of je gebruikt een paar eenvoudige wildcards waarmee je bijvoorbeeld tegen Google zegt: indexeer alles tot en met niveau 2, maar negeer alles wat dieper ligt: Disallow: /*/*/*/

Dit zijn twee voorbeelden van aanpassingen die ik in de praktijk al uitgevoerd heb en oh verrassing: het werkte kei goed ;)

Monitor populariteit & adapt accordingly #

Als blijkt dat bepaalde filters vaak gebruikt worden / populair zijn en genoeg unieke content bevatten, dan kun je overwegen om deze ook in Google op te laten nemen. Dit is een reactieve vorm van SEO, maar zeer verantwoord.

→ Call to action ←

Klinkt interessant?

Laten we dan de virtuele afstand tussen ons 1 stap kleiner maken!