LosenNettstedet ditt, sett fra en AI-agent

Alle artikler

Filtre som bare finnes bak et klikk

37 av 135 norske nettsteder klarte ikke å la en agent filtrere, sortere eller bla seg gjennom en liste. Årsaken er nesten alltid den samme: filteret har ingen adresse.

Publisert

Dette er den vanligste blokkerende feilen vi finner. 37 av 135 nettsteder i gjennomgangen vår klarte ikke å la en agent filtrere, sortere eller bla seg gjennom en liste fra start til slutt. 35 klarte ikke å snevre inn på en oppgitt egenskap og samtidig vise at varen kan kjøpes.

Kunden spurte om «vanntett jakke i str. L under 3000 kroner». Katalogen din har alle tre delene. Agenten kommer likevel ikke fram til dem.

Hvorfor

En agent klikker ikke. Den henter en adresse, leser svaret, og henter en adresse til. Alt den skal kunne gjøre, må derfor ha en adresse.

Et fasettfilter bygget som knapper som endrer tilstand i nettleseren har ingen adresse. Sorteringen som ligger i en nedtrekksmeny og sender en fetch bak kulissene har ingen adresse. «Vis flere»-knappen som legger på 24 produkter til har ingen adresse. For deg som ser på skjermen er alt dette åpenbart tilgjengelig. For agenten finnes det ikke.

Vi ser tre varianter, i denne rekkefølgen:

  • Filteret setter ingen adresse. Tilstanden ligger bare i minnet til nettleseren. Kopierer du adressefeltet og åpner det i et nytt vindu, er du tilbake til ufiltrert liste. Det er den enkleste testen som finnes.
  • Filteret setter en adresse, men serveren ignorerer den. Adressen ser riktig ut, men innholdet settes sammen av et skript etterpå. En agent som henter adressen får den ufiltrerte listen.
  • Fasettene har ingen navn en agent kan forstå. Vi har sett filter.eComFilter1 i produksjon. Det er en gyldig adresse, men ingenting i den forteller at dette er «farge» eller «størrelse». En agent kan ikke gjette hvilken parameter som betyr «vanntett».

Vi ser også det motsatte av et filter: apotek1.no svarte likt på hver adresse vi prøvde, og kategorinavnene i navigasjonen hadde ingen href i det hele tatt. Da finnes det ingen vei inn i katalogen som er noe annet enn å klikke.

Slik sjekker du

Den korteste testen tar tretti sekunder og krever ingen verktøy:

  1. Åpne en kategoriside i nettleseren.
  2. Sett på to filtre og en sortering.
  3. Kopier adressen fra adressefeltet.
  4. Lim den inn i et privat vindu.

Får du den samme filtrerte listen, er du i orden. Får du den ufiltrerte listen, eller en adresse uten spor av valgene dine, har du feilen.

Så gjentar du testen slik en agent gjør det:

curl -sL "https://dinbutikk.no/jakker/?farge=svart&storrelse=l" \
  | grep -oiE "<a [^>]*href=\"[^\"]*jakke[^\"]*\"" | wc -l

Får du et tall som er like stort med og uten parameterne, blir filteret ikke brukt på serveren.

Til slutt: se etter fasettlenkene i kildekoden.

curl -sL https://dinbutikk.no/jakker/ | grep -oE "href=\"[^\"]*(farge|storrelse|filter)[^\"]*\"" | head -20

Ingen treff betyr at fasettene dine bare finnes i JavaScript.

Hva du gjør

  1. Legg filtertilstanden i adressen. Hver kombinasjon av valg skal ha sin egen adresse som gir den samme listen når den åpnes kaldt. Dette er én endring, og den løser mesteparten av problemet.
  2. La hver fasett være en ekte <a href>. Da kan agenten oppdage hvilke valg som finnes ved å lese siden, i stedet for å måtte gjette parameternavn.
  3. Gi parameterne navn på et språk et menneske kan lese. ?farge=svart er selvforklarende. ?f1=42 er ikke det, og filter.eComFilter1 er verre.
  4. Bygg den filtrerte listen på serveren. Adressen skal ikke bare eksistere; den skal gi riktig innhold i første svar.
  5. La paginering være lenker. ?side=2 som en <a href> er nok. «Vis flere» som bare finnes som en knapp, gjør resten av katalogen usynlig.
  6. Ikke sett noindex på fasettsidene som faktisk betyr noe. Det er vanlig å sperre alle fasettkombinasjoner for å unngå duplikater. Da stenger du samtidig den ene siden agenten skulle landet på.

Ett forbehold vi legger på oss selv: sjekkene våre for filtertilstand og sortering er blant de mest tolkende vi har, fordi vi ikke kjører JavaScript og derfor må slutte oss til at et kontrollelement er JS-bare når det ikke setter noen adresse. Vi rapporterer dem som regel som advarsel, ikke som blokkering.

Slik ser du at det ble bedre

Ta den samme adressen med to filtre og en sortering, og hent den med curl uten nettleser. Du skal se de riktige produktnavnene og prisene i ren tekst, i den rekkefølgen sorteringen tilsier, og en lenke til neste side. Klarer du det, klarer en agent oppgaven kunden ga den.

Det går an. kicks.no legger 61 oppmerkede produkter på hver listeside. Da vi testet det for hånd 8. august 2026, fant både ChatGPT og Claude et produkt og prisen på det umiddelbart.

Hvor tallene kommer fra

37 og 35 er antall nettsteder i vår egen gjennomgang av 135 norske nettsteder i august 2026, fra tabellen over vanligste blokkerende feil i docs/findings.md. filter.eComFilter1 og observasjonene om apotek1.no og kicks.no er fra det samme utvalget. Utvalget er stikkprøver — rundt 8 til 25 sider per nettsted — ikke en full gjennomgang.

Alle artikler · Test et nettsted