---
title: "Agentredo webbplats: vad vi byggde och vad som spelar roll — Dardo"
description: "Vad en agentredo webbplats behöver, från bygget av dardo.studio: markdown-kopior, llms.txt, AI-crawlerregler, MCP-server, A2A-kort och vad du kan hoppa över."
url: "https://dardo.studio/sv/blogg/agentredo-webbplats/"
language: "sv"
translations: {"en":"https://dardo.studio/en/blog/agent-ready-website/","es":"https://dardo.studio/es/blog/sitio-web-preparado-para-agentes-de-ia/","fr":"https://dardo.studio/fr/blog/site-web-pret-pour-agents-ia/","de":"https://dardo.studio/de/blog/agentenfaehige-website/","it":"https://dardo.studio/it/blog/sito-web-pronto-per-agenti-ai/","pt":"https://dardo.studio/pt/blog/site-pronto-para-agentes/","nl":"https://dardo.studio/nl/blog/agent-ready-website/","pl":"https://dardo.studio/pl/blog/strona-gotowa-na-agentow-ai/","uk":"https://dardo.studio/uk/blog/agent-ready-website/","ru":"https://dardo.studio/ru/blog/agent-ready-website/","ar":"https://dardo.studio/ar/blog/agent-ready-website/","hi":"https://dardo.studio/hi/blog/agent-ready-website/","th":"https://dardo.studio/th/blog/agent-ready-website/","ja":"https://dardo.studio/ja/blog/agent-ready-website/","ko":"https://dardo.studio/ko/blog/agent-ready-website/","zh-Hans":"https://dardo.studio/zh-Hans/blog/agent-ready-website/","zh-Hant":"https://dardo.studio/zh-Hant/blog/agent-ready-website/"}
updated: "2026-10-10T09:02:17.250Z"
---

[Blogg](https://dardo.studio/sv/blogg/)

# Vad en agentredo webbplats behöver: lärdomar från bygget av dardo.studio

Vi gjorde dardo.studio läsbar och anropbar för AI-agenter, ett lager i taget. Här är vad varje lager gör, vem som dokumenterar att de läser det idag och vilka vi skulle bygga igen.

Av [Nicolás Cerón](https://dardo.studio/sv/studio/) ·10 oktober 2026

![En liten robot på hjul följer en karmosinröd ledlinje över ett museigalleri på natten mot en upplyst skulptur.](https://dardo.studio/_astro/01M4GYDFZJP0ZV0S7JSNMWYADG_ZoH0qp.webp)

## Det korta svaret

En agentredo webbplats gör tre saker. AI-agenter kan nå den. De kan läsa den utan att ta sig igenom menyer, banners och skript. Och där det är rimligt kan de anropa några deklarerade verktyg i stället för att gissa vilken knapp de ska trycka på.

Vi byggde in alla tre på dardo.studio i början av oktober 2026. Här är vad vi lanserade och hur mycket av det som de stora AI-plattformarna dokumenterar att de använder, kontrollerat mot den live-publicerade webbplatsen den 8 oktober 2026.

Sammanfattningen är mindre spännande än de flesta checklistor för "AI-redo". De äldsta lagren väger tyngst: åtkomst för crawlers och ren, semantisk HTML. Markdown-kopior och llms.txt är billiga bekvämligheter. MCP, A2A och WebMCP är riktiga protokoll med fungerande klienter, men ingen av den crawlerdokumentation vi hänvisar till från OpenAI, Anthropic, Perplexity eller Google beskriver att deras assistenter på egen hand hittar en webbplats verktyg.

## Börja med åtkomst: robots.txt och nätverkskanten

Vår [robots.txt](https://dardo.studio/robots.txt) upprepar en grupp för standardagenten (`*`) och för varje AI-sökcrawler och användarutlöst hämtare vi nämner:

```
User-agent: OAI-SearchBot
Allow: /
Disallow: /api/
Content-Signal: search=yes, ai-input=yes
```

Samma regler gäller för ChatGPT-User, PerplexityBot, Perplexity-User, Claude-SearchBot, Claude-User och Bingbot. Bara `/api/` är stängt.

### Sökcrawlers och träningscrawlers är separata

De stora företagen dokumenterar nu separata token för sökning och för träning:

- **OpenAI.** OAI-SearchBot lyfter fram webbplatser i ChatGPT-sök. Webbplatser som blockerar den utelämnas från svaren i ChatGPT-sök, men kan ändå visas som vanliga navigeringslänkar. GPTBot samlar in träningsdata. ([OpenAI crawlers](https://developers.openai.com/api/docs/bots))
- **Anthropic.** Claude-SearchBot indexerar för sökning, ClaudeBot samlar in träningsdata och Claude-User hämtar sidor när en person ställer en fråga till Claude. ([Anthropic crawlers](https://support.claude.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler))
- **Perplexity.** PerplexityBot lyfter fram och länkar till webbplatser i Perplexitys resultat och används inte för att träna grundmodeller. ([Perplexity crawlers](https://docs.perplexity.ai/docs/resources/perplexity-crawlers))
- **Google.** Google-Extended är en kontrolltoken för träning av Gemini och för grounding i andra Google-produkter. Den påverkar inte inkludering eller rankning i Google Sök. ([Google common crawlers](https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers))

Användarutlösta hämtare är annorlunda. OpenAI säger att robots.txt kanske inte gäller ChatGPT-User, eftersom en person startar de förfrågningarna. Perplexity-User och Googles [användarutlösta hämtare](https://developers.google.com/crawling/docs/crawlers-fetchers/google-user-triggered-fetchers) ignorerar den i regel. Dessa hämtare agerar för en enskild person i realtid; där en blockering fungerar hindrar den mest den personens assistent från att läsa din sida.

Vår fil nämner inte träningscrawlers, så de omfattas av `*` och är tillåtna. Det är ett affärsbeslut, och leverantörerna dokumenterar det som en separat kontroll: att blockera GPTBot eller ClaudeBot är inte detsamma som att lämna deras sökindex.

### Content Signals: en rad, inga åtaganden

Raden `Content-Signal` kommer från Cloudflares [Content Signals Policy](https://blog.cloudflare.com/content-signals-policy/), som nämner tre användningar: `search`, `ai-input` (att mata en modell med innehåll när den svarar) och `ai-train`. Vi utelämnar `ai-train`, vilket enligt policyn varken tillåter eller begränsar den användningen. Cloudflare säger att signaler uttrycker preferenser, inte blockerar något och kan ignoreras. Ingen av de crawlersidor vi hänvisar till här nämner dem. Det kostar en rad; förvänta dig inget än.

### Kontrollera nätverkskanten, inte bara filen

robots.txt anger en policy; det är ditt CDN som avgör vad som händer. När vi testade den 2 oktober svarade Cloudflares Browser Integrity Check med 403 till Pythons standardklient för HTTP (`Python-urllib`) och `libwww-perl`, trots att robots.txt tillät allt. Skript som skrivs av kodningsagenter använder ofta Pythons standardbibliotek oförändrat.

Vi lade till en konfigurationsregel i Cloudflare som undantar GET- och HEAD-förfrågningar för offentligt innehåll; `/api/` svarar fortfarande med 403. Samma genomgång visade att våra `.txt`\-filer saknade teckenkodning, så vissa klienter läste "Bogotá" som "BogotÃ¡". Lösningen var en enda header: `charset=utf-8`.

Testa med riktiga förfrågningar under varje user agent. Det visar att inget blockerar namnet; det bevisar inte att den riktiga crawlern har besökt sidan.

## Enkel, semantisk HTML: lagret som alla agenter är beroende av

Googles [guide för AI-optimering](https://developers.google.com/search/docs/fundamentals/ai-optimization-guide) beskriver webbläsaragenter som analyserar skärmdumpar, inspekterar DOM och tolkar tillgänglighetsträdet. Den hänvisar webbplatsägare till web.dev:s [agentvänliga vägledning](https://web.dev/articles/ai-agent-site-ux), som till största delen handlar om [tillgänglighetsarbete](https://dardo.studio/sv/tjanster/webbtillganglighet/): använd `<button>` och `<a>` i stället för stylade `<div>`\-element, koppla varje etikett till sitt fält och se till att layouten inte förskjuts under en skärmdump.

På dardo.studio har varje sida en `<main>` och märkta `<nav>`\-landmärken. Meny- och temaväxlare är riktiga knappar som anger sitt läge med `aria-expanded` och `aria-pressed`, och stängda menyer är `inert`. Varje fält i kontaktformuläret ligger inuti sin `<label>`, vilket ger det ett tillgängligt namn. web.dev föreslår attributet `for`; att omsluta fältet gör samma nytta.

Det hjälper användare av skärmläsare redan i dag, vilket i sig är skäl nog.

## En ren markdown-kopia av varje sida

Agenter betalar för varje token de läser, och en renderad sida innehåller navigering, en cookiebanner, skript och dekorativ grafik. Före det här arbetet gav förfrågningar till våra sidor med `Accept: text/markdown` allt det som HTML.

Nu skriver ett byggsteg en `index.md` bredvid varje indexerbar sida. Filen inleds med front matter (titel, beskrivning, kanonisk URL, språk, språkversionen på det andra språket och uppdateringsdatum) och fortsätter med sidans `<main>`\-innehåll utan skript, knappar, dekorativa bilder eller den inbyggda innehållsförteckningen. Svaren i FAQ:n finns kvar. Formulär blir en lista över sina fält och val, så att en agent kan berätta för en person vad vårt kontaktformulär frågar efter utan att röra det.

Det finns tre sätt att hämta kopian:

- Skicka `Accept: text/markdown` till den vanliga URL:en. Dessa svar har `Vary: Accept`, så att cacheminnen håller versionerna isär.
- Begär filen: `/en/services/seo/index.md`.
- Lägg till `.md` på sidans sökväg (`/en/services/seo.md`). För URL:er som slutar med snedstreck använder [förslaget llms.txt](https://llmstxt.org/) `index.md`, alltså formen ovan.

Varje HTML-sida pekar dessutom ut sin kopia med `<link rel="alternate" type="text/markdown">`.

### Peka tillbaka mot HTML-sidan för sökmotorerna

Googles guide konstaterar att Google kan genomsöka och indexera många filtyper förutom HTML, utan att behandla dem på något särskilt sätt. En markdown-kopia kan konkurrera med sin egen sida, så varje markdown-svar anger HTML-sidan som kanonisk:

```
$ curl -sI https://dardo.studio/en/services/seo/index.md
content-type: text/markdown; charset=utf-8
link: <https://dardo.studio/en/services/seo/>; rel="canonical", ...
```

Vem läser de här kopiorna? Cloudflare har byggt [Markdown for Agents](https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/) för att konvertera HTML i kanten av nätverket för förfrågningar som föredrar markdown, vilket tyder på att agenter efterfrågar det. Cloudflare anger inte vilka klienter som skickar headern, och vi har heller ingen verifierad lista. Om du använder Cloudflares funktion lägger den till `Content-Signal: ai-train=yes, search=yes, ai-input=yes`, om inte din origin sätter en egen. Vi genererar våra kopior vid bygget så att de stämmer exakt med sidan.

## llms.txt: ett användbart index utan effekt på sökningen

llms.txt är ett [förslag av Jeremy Howard](https://llmstxt.org/), först publicerat i september 2024 och fortfarande öppet för synpunkter från communityn: en markdown-fil på `/llms.txt` med webbplatsens namn, en kort sammanfattning och listor med länkar som en agent kan vilja ha.

Vår fil, på [/llms.txt](https://dardo.studio/llms.txt) och [/es/llms.txt](https://dardo.studio/es/llms.txt), genereras ur samma data som sidorna, så den kan inte glida isär från dem. Den anger fakta om studion (Bogotá, grundad 2026, ett team på tre, hur projekt prissätts, kontaktvägar), listar tjänster och arbeten och förklarar hur man hämtar markdown-kopior. `llms-full.txt` innehåller hela texten från sidorna om studion, tjänsterna, arbetena och kontakt.

En rad nämner företag med liknande namn som inte är vi. När vi kontrollerade den 2 oktober toppade de sökresultaten för "dardo studio". Den raden kan vara den mest användbara i filen.

Läget, rakt på sak:

- **Google** säger att du inte behöver llms.txt för att synas i Sök eller i dess AI-funktioner, att Sök ignorerar filen och att en sådan varken hjälper eller stjälper.
- **OpenAI, Anthropic och Perplexity** säger inte i sin dokumentation för sökrobotar att deras botar läser andra webbplatsers llms.txt. OpenAIs, Anthropics och Perplexitys egna dokumentationssajter publicerar dock en, för agenter som läser deras dokumentation.

Behåll en om den genereras och är korrekt. Den hjälper kodagenter och verktyg som letar efter den. Den är inget verktyg för att öka synligheten.

## Verktyg som agenter kan anropa: MCP, A2A och API-katalogen

Vi har publicerat två skrivskyddade verktyg:

- `**list_services**` returnerar våra publicerade tjänster, omfattning, leveranser och käll-URL:er på engelska eller spanska, filtrerade med ett valfritt nyckelord.
- `**get_project_brief**` returnerar de frågor du bör besvara innan du kontaktar oss och den lokaliserade kontaktlänken för den tjänsten.

En implementation ligger bakom flera ingångar:

| Ingång        | Adress på dardo.studio                          | Standard och status                                                                                                                                                                                               |
| ------------- | ----------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| MCP-server    | /mcp, kort på /.well-known/mcp/server-card.json | [MCP](https://modelcontextprotocol.io/specification/2025-11-25/basic/transports) Streamable HTTP; serverkortet är ett [utkast till förslag](https://modelcontextprotocol.io/community/working-groups/server-card) |
| A2A-agent     | /a2a, kort på /.well-known/agent-card.json      | [A2A 1.0](https://a2a-protocol.org/latest/specification/), JSON-RPC                                                                                                                                               |
| JSON-endpoint | /agent/services.json, beskriven i OpenAPI       | Vanlig HTTP                                                                                                                                                                                                       |
| API-katalog   | /.well-known/api-catalog                        | [RFC 9727](https://www.rfc-editor.org/rfc/rfc9727.html), IETF Standards Track                                                                                                                                     |

Varje HTML- och markdown-svar skickar en `Link`\-header som pekar på katalogen, indexet över agentfärdigheter och båda korten, så att vilken sida som helst leder vidare till resten.

### Designregler vi skulle upprepa

- **Skrivskyddat och offentligt.** MCP-verktygen deklarerar `readOnlyHint: true` och läser samma publicerade katalog som HTML-sidorna, utan någon databas bakom. `get_project_brief` skickar inte in, bokar eller offererar något; en person granskar och skickar.
- **Begränsad inmatning.** Förfrågningskroppar är begränsade till 8 KiB, webbläsarens `Origin`\-headers kontrolleras (MCP-specifikationen kräver det) och anrop har en egen hastighetsgräns.
- **Inget tillstånd.** A2A-agenten svarar direkt, sparar inga uppgifter, har strömning avstängd och hämtar inte filer eller URL:er som skickas till den.
- **Tydliga villkor.** [/auth.md](https://dardo.studio/auth.md) säger att inga inloggningsuppgifter behövs och att rätten att läsa offentliga data inte ger behörighet att skicka ett meddelande eller göra en betalning.

Vi har också utelämnat saker. Beredskapsskannrar letar efter handelsprotokoll och OAuth-discovery. Vi säljer inget via en kassa och skyddar inga resurser, så att publicera sådant skulle beskriva funktioner som inte finns.

Vem använder de här verktygen i dag: MCP-klienter som någon har kopplat till `/mcp` och A2A-klienter som fått vårt kort. För en studio är värdet måttligt: ett precist svar på "vad gör Dardo, och vad ska jag skicka dem?" Argumenten är starkare för en webbplats med live-data som folk frågar om, som lagersaldo, tillgänglighet eller produktdokumentation. Agenter som skriver data behöver autentisering och granskningssteg; det är arbete för [AI-automatisering](https://dardo.studio/sv/tjanster/ai-automation/).

## WebMCP: samma verktyg i webbläsaren

Med [WebMCP](https://webmachinelearning.github.io/webmcp/) kan en sida registrera verktyg som en AI-agent i webbläsaren kan anropa. Det är en Draft Community Group Report från W3C Web Machine Learning Community Group och anger att det inte är en W3C-standard. web.dev säger att det är under aktiv utveckling, kan komma att ändras och kan testas i Chrome via en origin trial.

Våra sidor registrerar samma två verktyg via `document.modelContext` (eller `navigator.modelContext` i äldre förhandsversioner). Utan API:et kör webbläsaren inget extra. Eftersom verktygen redan fanns tog det ungefär 40 rader. Se det som ett experiment.

## Alla lager, och om de är värda det

| Lager                                     | Vad det är                                                 | Vem läser det idag                                                         | Värt det?                                                |
| ----------------------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------- |
| Semantisk HTML och formulär med etiketter | Riktiga knappar, länkar, landmärken och etiketter          | Webbläsare, hjälpmedel och webbläsaragenter                                | Ja. Bygg det först                                       |
| robots.txt för sök- och användaragenter   | Regler per crawler som skiljer sök från träning            | OpenAI, Anthropic, Perplexity och Google dokumenterar sina tokens          | Ja. Testa sedan i CDN:et                                 |
| Content Signals                           | Inställningarna search, ai-input och ai-train i robots.txt | Inget AI-bolag vi kontrollerade dokumenterar att de följer dem             | En rad. Förvänta dig inget                               |
| Markdown-kopior med canonical-headers     | En ren textversion av varje sida                           | Agenter som efterfrågar markdown; ingen publicerad lista över vilka        | Ja, med canonical-headern                                |
| llms.txt och llms-full.txt                | Ett kurerat index och fulltext för agenter                 | Google Search ignorerar den; ingen crawlerdokumentation säger sig läsa den | Behåll den om den genereras. Inget verktyg för synlighet |
| MCP-server (skrivskyddad)                 | Deklarerade verktyg som agenter kan anropa                 | MCP-klienter som en person ansluter                                        | Bara om det finns data eller åtgärder värda att anropa   |
| A2A-agentkort                             | En maskinläsbar beskrivning av en agent                    | A2A-klienter som pekas dit                                                 | Spekulativt för de flesta webbplatser                    |
| API-katalog (RFC 9727)                    | En känd lista över dina publika API:er                     | Verktyg som letar efter den                                                | Billigt om du redan har API:er                           |
| WebMCP                                    | Verktyg som sidan registrerar i webbläsaren                | Chrome, via en origin trial                                                | Experiment                                               |

## Det vi skulle bygga igen

I ordning: semantisk HTML, testad crawleråtkomst, markdown-kopior med canonical-headers, en genererad llms.txt, och verktyg först när det finns något värt att anropa. Mät sedan. Serverloggarna visar vilka agenter som hämtar markdown-kopior eller anropar `/mcp`. En hämtning är inte en källhänvisning, och inget av detta garanterar att [ett AI-system nämner dig](https://dardo.studio/sv/blogg/synas-i-ai-svar/).

Agentberedskap är en del av vårt arbete med [AI-sökoptimering](https://dardo.studio/sv/tjanster/ai-sokoptimering/), tillsammans med innehållet och mätningen som avgör om AI-svar citerar dig. Vill du bygga in det på din webbplats? [Berätta om projektet](https://dardo.studio/sv/kontakt/).

[Nicolás Cerón](https://dardo.studio/sv/studio/)

Nicolás Cerón är grundare av Dardo, en byrå för varumärke, webbdesign och webbutveckling i Bogotá, Colombia.

## Fortsätt utforska.

- [Tjänst · **AI-sökoptimering (GEO): bli citerad av ChatGPT och Googles AI**](https://dardo.studio/sv/tjanster/ai-sokoptimering/)

- [Ditt projekt · **Starta en dialog**](https://dardo.studio/sv/kontakt/)
