Ga naar inhoud

Zoeken (overlay en resultaten)

Doel & URL('s)

Sitebreed zoeken binnen de GB-context: artikelen, nieuwsberichten, evenementen en producten. Voor alle bezoekers.

  • Zoek-overlay: op elke pagina te openen via de zoekknop in de header.
  • Resultaten-URL: /?s={term}&t=GB (vanuit het formulier) én /search/{term}/ (nette zoek-URL); beide werken.
  • Paginering: /page/{n}/?s={term} resp. /search/{term}/page/{n}/.

Opbouw

Zoek-overlay

Fullscreen overlay over de pagina:

  • Kop: "Waar bent u naar op zoek?".
  • Zoekformulier: GET naar /, tekstveld s met placeholder "Type om te zoeken", verborgen veld t=GB (behoudt de sub-site-context) en een submitknop met zoek-icoon.
  • Openen: klik op de zoekknop (vergrootglas) in de header. Sluiten: sluitknop of Escape.

Resultatenpagina

  1. Kop "Zoekresultaten voor:" + h1 met de zoekterm tussen aanhalingstekens.
  2. Bij 0 resultaten: "Helaas, er zijn geen resultaten gevonden."
  3. Herhaald zoekformulier (zelfde formulier als in de overlay).
  4. Per resultaat (c-search-preview): titel-link, de URL als sublink en een samenvatting van maximaal 30 woorden. De samenvattingsbron hangt af van het contenttype:

    Contenttype Samenvattingsbron
    Nieuwsbericht news_intro
    Artikel article_intro
    Evenement event_intro
    Product product_text
    Pagina eerste tekstblok
  5. Genummerde paginering (10 resultaten per pagina).

Databronnen

Gegeven Bron
Doorzochte posttypes (GB-context) gb-post, gb-event, wv-article, product (de geconfigureerde gb-article/gb-page bestaan niet als posttype)
Zoekbereik Titel + content, én ACF-velden van het type text/textarea/wysiwyg (plugin "ACF Better Search") — een term die alleen in de artikelbody-blokken voorkomt geeft dus ook een treffer
Resultaten per pagina 10 (WP-instelling)
Sub-site-context Hidden veld t in het zoekformulier

Gedrag & rollen

  • Publiek; geen rolverschillen. Afgeschermde content (uitgaven) valt buiten de doorzochte posttypes.
  • De ?t=GB-parameter houdt kleuren, menu en resultaatfilter in GB-context; de parameter zet tevens noindex op de resultatenpagina.
  • Zoeken vanaf een WV/TR/CGC-pagina gebruikt dezelfde overlay met de eigen sub-site-key en eigen posttype-set (buiten deze pagina beschreven).

Acceptatiecriteria

  • Als bezoeker klik ik op een willekeurige GB-pagina op de zoekknop in de header, dan opent de fullscreen overlay met de kop "Waar bent u naar op zoek?" en krijgt het zoekveld focus.
  • Als bezoeker sluit ik de overlay met Escape of de sluitknop, dan verdwijnt de overlay zonder te navigeren.
  • Als bezoeker typ ik een term en verzend ik het formulier, dan land ik op de resultatenpagina met s={term} en t=GB in de URL en toont de h1 mijn zoekterm.
  • Als bezoeker met een term die voorkomt in nieuws, artikelen, evenementen of producten zie ik resultaten van die typen, elk met titel-link, URL en samenvatting van maximaal 30 woorden.
  • Als bezoeker klik ik op een resultaattitel, dan navigeer ik naar de betreffende detailpagina.
  • Als bezoeker zoek ik op een term die alleen in de bodytekst (ACF-blokken) van een artikel voorkomt, dan levert dat artikel toch een treffer op.
  • Als bezoeker zoek ik op een onzin-term, dan verschijnt "Helaas, er zijn geen resultaten gevonden." met daarbij een nieuw zoekformulier.
  • Als bezoeker met meer dan 10 treffers zie ik paginering; pagina 2 toont andere resultaten dan pagina 1.
  • Als bezoeker levert de nette URL /search/{term}/ dezelfde resultaten als /?s={term}.
  • Als bezoeker blijft de resultatenpagina in GB-huisstijl (body-class theme-gb, GB-menu).
  • Als bezoeker verschijnen er géén uitgaven (issues) of accountpagina's in de resultaten.

Bekende afwijkingen

NIET nabouwen in Next.js — wel vermelden in het testrapport

  1. De zoekconfiguratie bevat de niet-bestaande posttypes gb-article en gb-page; feitelijk wordt gezocht in gb-post, gb-event, wv-article en product. In de rebuild de doorzochte set expliciet definiëren.
  2. Er zijn twee URL-vormen (/?s= en /search/{term}/) zonder redirect naar één canonieke vorm; de ?t=-parameter zet bovendien noindex. Rebuild-beslispunt: één canonieke zoek-URL kiezen.
  3. De paginering van zoekresultaten met meer dan één pagina is in de huidige site niet expliciet geverifieerd; bij het testen van de oude site eerst het feitelijke gedrag vaststellen.