WordPress Zoeken op je site naar een nieuw niveau gebracht!

Hoe je de zoekfunctie op jouw site een powerboost kan geven

Wanneer jouw site wat groter en complexer wordt, dan kan de zoekfunctie die ‘standaard’ bij WordPress is ingebouwd wat onhandiger worden. En dat om een aantal redenen.

De WordPress zoekfunctie is traag

In spiral slow journey

Wanneer jij op WordPress een zoekfunctie uitvoert, dan wordt gezocht in de inhoud van de titel en de content van alle posts (blogposts, pagina’s en eventuele custom post types) die in jouw database voorkomen.

Hierbij wordt ook nog iets gedaan aan prioriteitstelling: wanneer het zoekwoord in de titel voorkomt, is het wat belangrijker dan in de content, en naarmate het zoekwoord vaker voorkomt, zal het ook een hogere prioriteit krijgen.

Hiervoor worden de functies gebruikt van het onderliggende database systeem, MySQL of een afgeleide hiervan.

Een dergelijke zoekopdracht is echter behoorlijk resource intensief, omdat om een resultaat te krijgen iedere post -ook die waar het woord niet in voorkomt- helemaal moet worden gelezen. Het is niet genoeg om te concluderen dat het voorkomt, want het ‘hoevaak’ is ook belangrijk voor de prioriteitstelling.

De WordPress zoekfunctie is incompleet.

Zoals al aangegeven, de WordPress zoekfunctie zoekt in de titel en de content. Wanneer je gebruik maakt van een custom post type, kan het echter zo zijn, dat je nog een heleboel andere velden hebt, waar ook belangrijke inhoud in staat. Deze inhoud wordt niet gezien door de zoekfunctie.

Ook is het mogelijk, dat je shortcodes gebruikt die bepaalde inhoud ‘plaatsen’ in je content, of door middel van plugins inhoud uit andere bronnen wordt toegevoegd. Ook dit -omdat het niet in het ‘content’ veld in de database staat, wordt niet waargenomen door de zoekfunctie.

Het kan dus heel goed, dat tientallen posts, waar je zoekterm in voorkomt, gewoon gemist worden door de WordPress zoekfunctie, louter en alleen, omdat deze in het verkeerde veld staat.

De WordPress zoekfunctie is niet selectief

Files selection and management
File selection, management and organization: user analyzing paper cut folders with a magnifier and adding them to his cardboard tablet screen

Een ander probleem van de WordPress zoekfunctie is, dat deze niet selectief is. Op het moment dat ik zoek op een term, dan zal WordPress geen verschil maken met betrekking tot het soort post type. Zolang het maar een post type is wat ‘aan de buitenkant’ getoond mag worden, krijg je het te zien.

Daarnaast is de WordPress zoekfunctie ook niet selectief met betrekking tot de inhoud van een content veld. Want niet alleen de ‘gewone tekst’, maar ook de HTML wordt als tekst gezien. je krijgt dus resultaten, die soms heel onvoorspelbaar lijken.

Ook content die door een membership systeem ‘verborgen’ is, wordt gewoon zichtbaar in de zoekresultaten, tenzij het membership systeem zelf hier een filter overheen gebouwd heeft.

En ook niet onbelangrijk… je hebt tijd en moeite geïnvesteerd om aan jouw product categorieën en tags te hangen, die helemaal genegeerd worden door het zoeksysteem.

Is dit een probleem?

De vraag is natuurlijk, of dit een reeel probleem is. En dat is natuurlijk sterk afhankelijk van je toepassing. Heb je een website met vijf pagina’s over je bedrijf, dan zal je het lang zo problematisch niet vinden als in een situatie wanneer je een kennisbase hebt opgebouwd met honderden of duizenden informatieve artikelen.

In dat laatste geval is natuurlijk ieder niet gevonden artikel een misser en kunnen ‘false positives’ de zoekresultaten sterk vervuilen.

Dus ja. Het kan een probleem zijn. Gelukkig is er voor ieder probleem ook een oplossing.

SearchWP

Search Tool
3D illustration of a magnifying glass and a plastic sign with the word search over wooden background.

SearchWP is één van die plugins, die niet zo spectaculair lijkt, maar wel enorm veel veranderd aan je website. Want laten we duidelijk zijn… het enige wat deze plugin doet is intelligenter zoeken. Aan de zoekdialoog zelf wordt niets veranderd.

De kracht achter SearchWP is dat je zelf kan definiëren in welke post types wel en niet gezocht moet worden, en welke velden hierbij wel of niet in beschouwing moeten worden genomen. Je kan zelfs een gewicht toekennen aan de verschillende onderdelen om de uiteindelijke positionering op jouw site de juiste prioriteiten te geven.

Sneller door indexering

Wanneer je allerlei wegingsfactoren toe gaat passen, dan krijg je al snel het probleem, dat alles nog trager wordt. Om dit te voorkomen indexeert SearchWP je website. Vergelijk het een beetje met de technieken die Google ook gebruikt. Woorden krijgen afhankelijk van hun plaats in de tekst en het aantal keren dat het voorkomt een ‘wegingsfactor’. Sla je een nieuwe pagina op, dan wordt op de achtergrond die index bijgewerkt.

Op deze manier hoeft de plugin niet voor iedere zoekopdracht jouw complete site te doorzoeken, maar alleen te kijken hoe bepaalde pagina’s scoren voor een specifieke zoekopdracht.

Indexeren van gelinkte documenten

Maar het gaat nog iets verder. Wanneer jij PDF’s of Office documenten (GoogleDocs, OpenOffice en Microsoft Office worden hier ondersteund) opslaat als bijlage bij een post, dan wordt ook het gelinkte document geïndexeerd. Met behulp van SearchWP is het dus niet alleen mogelijk te zien welke posts de woorden bevatten, maar ook welke gelinkte documenten dat ook doen.

Dat is natuurlijk enorm waardevol, wanneer je bijvoorbeeld een intranet site hebt met veel documenten anders dan WordPress pagina’s.

‘Doorgeven’ van de score aan de parent pagina

Dit leidt echter wel tot een potentieel probleem. Wil je inderdaad ook, dat je documenten direct toegankelijk zijn? Ook hier is aan gedacht en een oplossing voor gevonden. Je kan namelijk instellen, dat onderliggende documenten hun ‘score’ doorgeven aan het ‘parent’ document. Dus als ik in mijn blogpost een PDF zou linken en daar 10x de tekst ‘SearchWP’ zou voorkomen, maar in de post zelf niet, wordt die post toch nog gevonden, omdat het onderliggende document zijn ‘waarden doorgeeft’.

Wegingsfactor voor individuele taxonomieën

Mocht je het woord taxonomie hier niet kennen, een taxonomie is een systematische indeling. En in WordPress delen we onze blogposts bijvoorbeeld systematisch in door middel van categorieën en tags.

Dank zij SearchWP kan ik per taxonomie een wegingsfactor toekennen. En dat kan heel handig zijn.

Stel, dat ik een blog heb met uitjes in Nederland. En mijn bezoeker wil zoeken op ‘Fietstochten Gelderland’. Wanneer ik een prachtige fietsroute heb beschreven, maar niet genoemd heb, dat het een fietstocht is (stond toch al in de tags) en niet dat deze door Gelderland ging (had ik immers in de categorie aangegeven), zou mijn bezoeker met de standaard zoekfunctie van WordPress niets vinden.

Wanneer ik echter een waarde via SearchWP toe zou kennen, dan zouden deze tochten toch naar boven komen in de zoekresultaten.

Integratie met diverse plugins

Bovendien is deze plugin geïntegreerd met een groot aantal plugins om het zoeken binnen die plugins enorm te vergemakkelijken. Zoals WooCommerce, Advanced Custom Fields, bbPress en andere. PODS wordt nog niet ‘out of de box’ ondersteund, maar toen ik de makers van de plugin hierop wees, kreeg ik te horen, dat dit een goede suggestie was en dit op niet al te lange termijn zeker zou gebeuren.

Dat neemt overigens niet weg, dat PODS (of andere plugins die niet in het integratielijstje voorkomen), totaal niet ondersteund worden… je moet alleen meer moeite doen, om deze gegevens mee te indexeren.

Meerdere search Engines

Een ander aardig punt is dat ik meerdere search engines kan maken. Stel je bijvoorbeeld de volgende situatie voor. Ik heb een site, waar members en niet-members beiden een zoekfunctie kunnen gebruiken. De members hebben alleen toegang tot meer informatie.

Nu wil ik niet, dat zelfs maar het idee die meerdere informatie zou kunnen bestaan bij de niet-members op zou moeten komen. Zij moeten deze pagina’s absoluut niet in de zoekresultaten terug zien.

Wat ik dan kan doen is een tweede search engine definieren, met andere kenmerken, dan de ‘standaard’ engine. En op deze manier stel ik de éne engine, die minder zal vinden, beschikbaar aan de niet-leden en de andere aan de leden.

Open, goed gedocumenteerde API

Het allerbelangrijkst is denk ik nog wel, dat deze plugin een open API met goede documentatie heeft. Als iets niet standaard ondersteund wordt, is het relatief eenvoudig hier met een paar regels code op ‘in te grijpen’.

Geen zoeksuggesties

Wat deze plugin echter niet biedt zijn de ‘zoeksuggesties’. Je weet wel, je begint met typen, en er wordt al een aantal woorden aangegeven, die je mogelijk zou willen gebruiken om op te zoeken. Dat is echter nog helemaal geen ramp, want in de repository van WordPress vind je een gratis plugin die precies deze éne missende functie toevoegt aan SearchWP, SearchWP Live Ajax Search.

Conclusie

Een geweldige plugin, met maar één nadeel. De prijs. Voor één website zou je volgens de huidige prijsstelling ongeveer 99 dollar per jaar kwijt zijn, wat best veel is voor een relatief eenvoudig lijkende (geloof mij, het is niet eenvoudig) uitbreiding op de functionaliteit.

Maar met name wanneer jij een site hebt, waarbij het essentieel is, dat de content makkelijk doorzocht kan worden, dan kan je niet om deze plugin heen.

Ook wanneer je een webshop met een groot aantal producten hebt, kan je de vindbaarheid van je producten enorm verhogen… en daarmee je omzet.

Nog niet uitgelezen?

Vind je dit artikel interessant? Mooi! Want ik heb nog veel meer te bieden. Op deze site vind je letterlijke honderden artikelen over WordPress, marketing, e-commers, e-learning en nog veel meer onderwerpen. Op zoek naar meer informatie? Kies één van de trefwoorden hieronder of tik een zoekopdracht in.

Meest populaire blogposts
Enkele trefwoorden om vergelijkbare posts te vinden:

Voeg je koptekst hier toe

Word je website de baas. Neem vandaag nog contact op!

Contact Information

WordXPression 

Bezoekadres
Eperweg 135 (op afspraak)
8072 PL Nunspeet

Postadres
Aardoliestraat 14-I
7553GT Hengelo

06-10449807 (van 9:00 tot 17:00 van ma-vr)

KVK : 75580152 

Social media
Stuur een bericht

Deze post rapporteren

Wanneer deze post niet meer relevant is of verouderde informatie bevat, zou ik het op prijs stellen wanneer je dit door wilt geven., zodat ik dit eventueel bij kan werken. De persoonlijke gegevens die je hieronder invult worden alleen gebruikt om de mail te versturen en zal niet voor marketingdoeleinden worden gebruikt.