NLWeb står for Natural Language Web, eller naturlig språk-web på norsk. Det betyr i praksis: Nettstedet ditt eksponerer to REST-endepunkter, /ask for mennesker og /mcp for AI-agenter, som svarer på spørsmål om innholdet ditt i strukturert JSON. ChatGPT, Claude og Perplexity kan ringe siden din direkte i stedet for å gjette ut fra HTML-en.
Telefonnummer-for-nettstedet-ditt-analogien
SEO fikk siden din inn i ti blå lenker. GEO fikk den sitert i syntetiserte AI-svar. AEO fikk den hentet inn i Googles svarbokser. NLWeb er neste steg: Det gir nettstedet ditt et telefonnummer AI-agenter kan ringe.
Når ChatGPT, Claude eller Microsoft Copilot trenger å vite om produktene dine, lagerbeholdningen din eller artiklene dine, skraper og gjetter de i dag. Med NLWeb kaller de /mcp på siden din og spør i ren tekst. Du svarer i ren tekst. De siterer svaret ditt i sitt eget svar. Du forblir kilden til sannhet.
Slik fungerer det under panseret
To endepunkter. NLWeb legger til /ask og /mcp på domenet ditt. /ask-endepunktet tar en naturligspråk-spørring som JSON, returnerer et Schema.org-formet JSON-svar. /mcp-endepunktet snakker Model Context Protocol, samme protokoll Claude Desktop bruker for å snakke med lokale verktøy, slik at AI-agenter kan liste siden din som et kallbart verktøy.
Schema.org som input. NLWeb leser den strukturerte dataen som allerede ligger på siden din: Product, Recipe, Article, Event, LocalBusiness, uansett hvilke Schema.org-typer du har merket opp. Den embedder dem inn i en vektordatabase og indekserer dem for henting. Hvis siden din har null Schema.org-markup, har NLWeb ingenting å tygge på.
LLM i midten. Når en spørring kommer til /ask, tolker NLWeb den i lys av forrige tur (oversetter «hva koster det» mot konteksten), henter matchende innhold fra vektordatabasen, rangerer med en LLM og skriver et endelig strukturert svar. Eieren av nettstedet velger hvilken vektordatabase (Qdrant, Postgres pgvector) og hvilken LLM (OpenAI, Anthropic, andre).
MCP-server som standard. Hver NLWeb-utrulling er også en MCP-server. Det er det viktige skiftet: Siden din slutter å være et reisemål AI-agenter må crawle, og blir et verktøy de kan kalle. De annonserte lanseringspartnerne (Shopify, Tripadvisor, Eventbrite, O'Reilly, Booking, Hugging Face, Allrecipes) kjører alle NLWeb-endepunkter i dag.
Hvem som står bak. Microsoft lanserte NLWeb på Build 2025. Lederen er R.V. Guha, samme person som bygget RSS, RDF og Schema.org. Den er MIT-lisensiert, med referanseimplementeringer i Python og .NET på GitHub hos github.com/microsoft/NLWeb.
Slik gjør Lovable dette for deg
Ærlig talt, gjør den det ikke, ennå. NLWeb er en server-side-tjeneste: En Python-prosess (eller .NET), en vektordatabase, en LLM-tilkobling. Lovables prosjekt-i-en-chat-modell kan ikke for tiden klargjøre den infrastrukturen. Det er ingen «legg til NLWeb»-rad i SEO- og AI-søkanalysen.
Det Lovable gjør som mater NLWebs verdi: JSON-LD-strukturert data Lovable allerede genererer per side (Article, BreadcrumbList, Organization) er nøyaktig det NLWeb trenger å indeksere. Jo renere Schema.org-markup på siden din, jo bedre fungerer NLWeb når du kobler det opp. Så SEO- og AI-søkfundamentet betaler seg dobbelt: Én gang for tradisjonelle søkemotorer, én gang for et NLWeb-endepunkt rettet mot ditt eget nettsted.
Hvis du vil ha NLWeb i dag, kjører du det ved siden av Lovable-siden din, ikke inne i den.
Det du fortsatt må gjøre selv
Bestem om du faktisk trenger dette. NLWeb gir mening når siden din har strukturert innhold AI-agenter ville ringt etter (produkter, oppskrifter, artikler, arrangementer, oversikter). En personlig blogg rettferdiggjør sannsynligvis ikke infrastrukturen. En innholdstung publikasjon, en butikk, en kunnskapsbase gjør det.
Rull ut NLWeb-tjenesten. Klon github.com/microsoft/NLWeb, velg en vektordatabase (Postgres pgvector eller Qdrant er de dokumenterte sporene), koble til en LLM (OpenAI, Anthropic, Azure), pek den mot den strukturerte dataen på Lovable-siden din. Microsoft Community Hub har en Postgres-spesifikk guide; det finnes også en .NET 9-referanseimplementering hvis du foretrekker det.
Revider Schema.org-markupen din. NLWeb vet bare det den strukturerte dataen din forteller den. Hvis produktene dine mangler pris, oppskriftene dine mangler ingredienser, artiklene dine mangler forfatter, vil NLWeb svare med hull. Bruk SEO & AI search-fanen for å finne Schema.org-svakheter først.
Bestem hva du skal eksponere på /mcp. Ikke alle deler av siden din trenger å være et kallbart verktøy. Plukk operasjonene som gir mening for agenter: Søk produkter, list arrangementer, finn artikler etter tema. Hopp over administratorsider og persondata.
Følg med på spesifikasjonsendringer. NLWeb er måneder gammel som offentlig spesifikasjon, ikke år. Endepunkter, svarformer og konfigurasjon kan endre seg. Spesifikasjonen ligger på nlweb.ai/spec.
Et praktisk eksempel: Klargjør Lovable-sidens Schema.org-markup for NLWeb
Den raskeste måten å lære dette på er å mate NLWeb god input. Her er hele løkka for å gjøre Lovable-sidens Schema.org-markup NLWeb-klar, allerede før du setter opp NLWeb-tjenesten.
Steg 1. Skriv prompten.
Revider den strukturerte dataen på /products-listingen og /products/[slug]-detaljsidene. Hvert produkt skal emitere JSON-LD med type "Product" inkludert name, description, image, sku, brand, offers (price, priceCurrency, availability). Det synlige sideinnholdet skal matche de strukturerte feltene eksakt. Render JSON-LD-en i den server-rendrede <head>, ikke i en kun-klient-komponent. Vis meg én rendret Product JSON-LD-blokk fra forhåndsvisningens kildekode så jeg kan verifisere.
Linjen «server-rendret <head>» er den som betyr noe. Hvis JSON-LD sendes fra en klientkomponent, kan ikke NLWebs indekserer se den.
Steg 2. Inspiser.
I Lovable-kodepanelet. Finn Product-sidens komponent. JSON-LD-en bør ligge i en <Head>-helper eller tilsvarende server-side-renderingsbane. Søk i filen etter "@type": "Product" og bekreft at price, currency, availability er ekte verdier hentet fra datalaget, ikke plassholdere.
I den kjørende forhåndsvisningen. Åpne én produkt-URL i en ny fane. Høyreklikk og velg Vis sidekilde. Søk etter application/ld+json. Du bør se én blokk per side med hele Product-schemaet. Lim live-URL-en inn i Googles Rich Results Test (search.google.com/test/rich-results) for å bekrefte at pris og tilgjengelighet parses.
Steg 3. Valider mot NLWebs forventninger. NLWebs referanseimplementering leser Schema.org som ren JSON-LD. Hvis Googles Rich Results Test parser Product-schemaet ditt rent, vil NLWeb også klare det. Det motsatte er ikke sant (NLWeb er mer lempelig), men Googles validator er det strenge utgangspunktet. Når produktene er rene, gjenta for Article, Event, Recipe, uansett hvilke typer som matcher innholdet ditt.
Dette bør du huske
NLWeb er nettstedet ditt som blir et verktøy AI-agenter kan kalle. Ikke et rangerings-spill, ikke et siterings-spill. Et protokollskifte.
To endepunkter (/ask, /mcp), bygget på Schema.org og MCP, åpen kildekode, Microsoft-ledet men leverandørnøytral. Store innholdsnettsteder har allerede rullet det ut.
Lovable kjører ikke NLWeb for deg. Jobben dens i kjeden er å holde Schema.org-strukturert data ren nok til at NLWeb har noe ekte å indeksere når du faktisk kobler det opp.
