Certificado AgentReady.md verificado
Emitido em sig: d57ab600d94deacd Verificar →

URL analisado

https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30

Analisar outro URL

Pontuação AI-Ready

58 / D

Fraco

de 100

Poupança de tokens

Tokens HTML 76.275
Tokens Markdown 110
Poupança 100%

Desdobramento da pontuação

HTML Semântico 75/100
Eficiência de conteúdo 55/100
Descobribilidade IA 35/100
Dados Estruturados 62/100
Acessibilidade 72/100

Protocolos emergentes

0 de 3 detetados

Endpoints well-known que os agentes de IA procuram. Detetado significa que um agente pode descobrir e conectar-se automaticamente ao seu serviço.

  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card Anthropic
    /.well-known/mcp.json
  • A2A Agent Card Google
    /.well-known/agent.json

O seu site não tem um ficheiro llms.txt. Este é o padrão emergente para ajudar agentes de IA a compreender a estrutura do seu site.

Como implementar

Crie um ficheiro /llms.txt seguindo a especificação llmstxt.org. Inclua uma descrição do site e links para as suas páginas principais.

A sua página tem um baixo rácio de conteúdo real em relação ao HTML total. Grande parte do peso da página é markup, scripts ou estilos em vez de conteúdo.

Como implementar

Mova CSS para folhas de estilo externas, remova estilos inline, minimize JavaScript e garanta que o HTML se foca na estrutura do conteúdo.

O seu site não suporta Markdown for Agents. Este padrão Cloudflare permite que agentes de IA solicitem conteúdo em formato markdown, reduzindo o uso de tokens em ~80%.

Como implementar

Implemente um ou mais: (1) Responder a Accept: text/markdown com conteúdo markdown. (2) Servir URLs .md (ex: /pagina.md). (3) Adicionar tags <link rel="alternate" type="text/markdown">. (4) Adicionar cabeçalhos HTTP Link para descoberta markdown.

{\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"},{"id":"fastify","label":"Fastify","language":"javascript","filename":"server.js","code":"// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"},{"id":"nextjs","label":"Next.js","language":"typescript","filename":"app/page/route.ts","code":"// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"},{"id":"wordpress","label":"WordPress","language":"php","filename":"functions.php","code":"post_content));\n exit;\n});"},{"id":"static","label":"Hugo / Jekyll / Astro","language":"txt","filename":"static/page.md","code":"# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in :\n# "}] }'>

Nenhuma diretiva Content-Signal encontrada. Estas indicam aos agentes de IA como podem usar o seu conteúdo (indexação, entrada IA, dados de treino). A localização recomendada é robots.txt.

Como implementar

Adicione Content-Signal ao seu robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. Também pode adicioná-lo como cabeçalho HTTP em respostas markdown.

{\n res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n done();\n});"}] }'>

Não foram encontrados dados estruturados Schema.org. JSON-LD ajuda os agentes de IA a extrair informação factual e estruturada das suas páginas.

Como implementar

Adicione um bloco <script type="application/ld+json"> com marcação Schema.org. Use tipos apropriados: Article para publicações de blog, Product para páginas de produtos, Organization para a página da sua empresa.

A sua página depende muito de elementos <div>. Elementos semânticos como <section>, <nav>, <header>, <footer> e <aside> fornecem uma estrutura significativa para agentes de IA.

Como implementar

Substitua contentores <div> genéricos por elementos semânticos apropriados. Use <section> para grupos temáticos, <nav> para navegação, <header>/<footer> para cabeçalhos e rodapés de página/secção.

O conteúdo principal aparece tarde no documento HTML. Os agentes de IA podem dar mais peso a conteúdo que aparece mais cedo.

Como implementar

Reestruture o seu HTML para que o conteúdo <main> ou <article> apareça antes das barras laterais e conteúdo suplementar.

A sua estrutura de títulos tem problemas (níveis saltados ou múltiplos h1). Uma hierarquia limpa ajuda os agentes de IA a compreender a organização do conteúdo.

Como implementar

Certifique-se de que tem exatamente um <h1> por página e os títulos seguem uma ordem sequencial: h1 > h2 > h3. Não salte níveis (ex.: h1 diretamente para h3).

Tags Open Graph em falta ou incompletas. As tags OG ajudam os agentes de IA (e plataformas sociais) a compreender o título, descrição e imagem da sua página.

Como implementar

Adicione meta tags og:title, og:description e og:image ao <head> da sua página.

post_content), 30);\n $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://statics.otodom.pl/static/otodompl/naspersclassifieds-regional/verticalsre-atlas-web-otodompl/static/img/fb/fb-image200x200.png?t=20-11-09';\n $url = get_permalink($post);\n printf('' . \"\\n\", esc_attr($title));\n printf('' . \"\\n\", esc_attr($desc));\n printf('' . \"\\n\", esc_url($image));\n printf('' . \"\\n\", esc_url($url));\n echo '' . \"\\n\";\n}, 5);"},{"id":"nextjs","label":"Next.js","language":"typescript","filename":"app/page.tsx","code":"// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n title: \"Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki\",\n description: \"Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\",\n openGraph: {\n title: \"Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki\",\n description: \"Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\",\n url: \"https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30\",\n images: [\"https://statics.otodom.pl/static/otodompl/naspersclassifieds-regional/verticalsre-atlas-web-otodompl/static/img/fb/fb-image200x200.png?t=20-11-09\"],\n type: 'website',\n },\n};"}] }'>

Muitos elementos têm atributos de estilo inline. Estes adicionam ruído para agentes de IA que extraem conteúdo.

Como implementar

Mova todos os estilos inline para classes CSS na sua folha de estilos. Use frameworks CSS utilitários como Tailwind se precisar de muitos estilos únicos.

Tokens Markdown: 110
## O mnie

Obszar działania

Gdańsk

Doświadczenie

Mieszkania, Lokale użytkowe, Garaże, Kawalerki

### Bio

Jestem komunikatywna, łatwo nawiązuję kontakty, jestem lojalna, odpowiedzialna i konsekwentna w działaniu, a swoją pracę wykonuję z pasją. Stawiam sobie ambitne cele i lubię wyzwania.

‌
Marianna Boczko - Agent nieruchomości - Gdańsk

[![Idź do strony głównej](https://statics.otodom.pl/fp_statics/images/logo/otodom_logo_2021_black.svg)](https://www.otodom.pl/)

Moje konto

Dodaj ogłoszenie

![TYSZKIEWICZ NIERUCHOMOŚCI](https://ireland.apollo.olxcdn.com/v1/files/eyJmbiI6ImkwOHE4MmViZGViYjEtQVBMIn0.Mw_PwJuiv1P7cXngvIWq_R3CYrl6fIlo0V2KAzTMB24/image;s=350x350;q=80)

TYSZKIEWICZ NIERUCHOMOŚCI

![Lider Jakości Ogłoszeń PRO](https://statics.otodom.pl/fp_statics/images/sellerBadges/qualityLeader.svg "Lider Jakości Ogłoszeń PRO")

![Marianna Boczko](https://ireland.apollo.olxcdn.com/v1/files/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmbiI6ImRpNjB6MzlxNjcxeDItQVBMIn0.9LG-_09YnSUtu3MbG9ZTLREfDgxCxAZibruoipqacPQ/image)

## Marianna Boczko

Agent nieruchomości w biurze [TYSZKIEWICZ NIERUCHOMOŚCI](https://www.otodom.pl/pl/firmy/biura-nieruchomosci/tyszkiewicz-nieruchomosci-ID629621)

![Lider Jakości Ogłoszeń PRO](https://statics.otodom.pl/fp_statics/images/sellerBadges/qualityLeader.svg "Lider Jakości Ogłoszeń PRO")

Pokaż numer

Biuro na Otodom od 2013

Udostępnij profil

## O mnie

## 0

Ogłoszenia sprzedaży

## 0

Ogłoszenia wynajmu

Obszar działania

Gdańsk

Doświadczenie

Mieszkania, Lokale użytkowe, Garaże, Kawalerki

### Bio

Jestem komunikatywna, łatwo nawiązuję kontakty, jestem lojalna, odpowiedzialna i konsekwentna w działaniu, a swoją pracę wykonuję z pasją. Stawiam sobie ambitne cele i lubię wyzwania.

‌

‌

Carregue este ficheiro como /pl/profil/agenci-nieruchomosci/marianna-boczko-ID30.md no seu servidor para que os agentes de IA possam aceder a uma versão limpa da sua página. Também pode configurar a negociação de conteúdo Accept: text/markdown para o servir automaticamente.

llms.txt gerado para esta página individual

Descarregar llms.txt
# www.otodom.pl/

> Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl

## Main
- [Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki](https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30): Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Of…
- [Mieszkania](https://www.otodom.pl/pl/wyniki/sprzedaz/mieszkanie/cala-polska)
- [Kawalerki](https://www.otodom.pl/pl/wyniki/sprzedaz/kawalerka/cala-polska)
- [Domy](https://www.otodom.pl/pl/wyniki/sprzedaz/dom/cala-polska)
- [Działki](https://www.otodom.pl/pl/wyniki/sprzedaz/dzialka/cala-polska)
- [Lokale użytkowe](https://www.otodom.pl/pl/wyniki/sprzedaz/lokal/cala-polska)
- [Biura](https://www.otodom.pl/pl/wyniki/sprzedaz/lokal,biuro/cala-polska)
- [Hale i magazyny](https://www.otodom.pl/pl/wyniki/sprzedaz/haleimagazyny/cala-polska)
- [Garaże](https://www.otodom.pl/pl/wyniki/sprzedaz/garaz/cala-polska)

O llms.txt completo requer análise de todo o domínio (em breve)

Carregue este ficheiro como https://www.otodom.pl/llms.txt na raiz do seu domínio. Agentes de IA como ChatGPT, Claude e Perplexity verificam este ficheiro para compreender a estrutura do seu site.

HTML Semântico

Utiliza elemento article ou main (100/100)

Has <main>

Hierarquia de títulos correta (70/100)

no <h1>

Utiliza elementos HTML semânticos (20/100)

5 semantic elements, 78 divs (ratio: 6%)

Textos alt de imagens descritivos (88/100)

7/8 images with meaningful alt text

Baixa profundidade de aninhamento de div (100/100)

Avg div depth: 5.0, max: 8

Eficiência de conteúdo

Bom rácio de redução de tokens (100/100)

100% token reduction (HTML→Markdown)

Bom rácio conteúdo-ruído (0/100)

Content ratio: 0.1% (274 content chars / 228914 HTML bytes)

Estilos inline mínimos (50/100)

30/756 elements with inline styles (4.0%)

Peso de página razoável (50/100)

HTML size: 224KB

Descobribilidade IA

Tem ficheiro llms.txt (0/100)

No llms.txt found

Tem ficheiro robots.txt (100/100)

robots.txt exists

robots.txt permite bots de IA (100/100)

All major AI bots allowed

Tem sitemap.xml (100/100)

Sitemap found

Suporte a Markdown for Agents (0/100)
&#10007; Accept: text/markdown &#10007; .md URL &#10007; <link> tag &#10007; Link header
Tem Content-Signal (robots.txt ou cabeçalhos HTTP) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Dados Estruturados

Tem Schema.org / JSON-LD (0/100)

No JSON-LD / Schema.org found

Tem tags Open Graph (67/100)

2/3 OG tags present

Tem meta descrição (100/100)

Meta description: 225 chars

Tem URL canónico (100/100)

Canonical URL present

Tem atributo lang (100/100)

lang="pl"

Acessibilidade

Conteúdo disponível sem JavaScript (100/100)

Content available without JavaScript

Tamanho de página razoável (80/100)

Page size: 224KB

Conteúdo aparece cedo no HTML (25/100)

Main content starts at 77% of HTML

{
  "url": "https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30",
  "timestamp": 1779974071870,
  "fetch": {
    "mode": "simple",
    "timeMs": 518,
    "htmlSizeBytes": 228914,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki",
    "excerpt": "Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl",
    "byline": null,
    "siteName": "www.otodom.pl/",
    "lang": "pl",
    "contentLength": 274,
    "metadata": {
      "description": "Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl",
      "ogTitle": "Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki",
      "ogDescription": null,
      "ogImage": "https://statics.otodom.pl/static/otodompl/naspersclassifieds-regional/verticalsre-atlas-web-otodompl/static/img/fb/fb-image200x200.png?t=20-11-09",
      "ogType": "website",
      "canonical": "https://www.otodom.pl/",
      "lang": "pl",
      "schemas": [],
      "robotsMeta": "index, follow",
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "## O mnie\n\nObszar działania\n\nGdańsk\n\nDoświadczenie\n\nMieszkania, Lokale użytkowe, Garaże, Kawalerki\n\n### Bio\n\nJestem komunikatywna, łatwo nawiązuję kontakty, jestem lojalna, odpowiedzialna i konsekwentna w działaniu, a swoją pracę wykonuję z pasją. Stawiam sobie ambitne cele i lubię wyzwania.\n\n‌\n",
  "fullPageMarkdown": "Marianna Boczko - Agent nieruchomości - Gdańsk\n\n[![Idź do strony głównej](https://statics.otodom.pl/fp_statics/images/logo/otodom_logo_2021_black.svg)](https://www.otodom.pl/)\n\nMoje konto\n\nDodaj ogłoszenie\n\n![TYSZKIEWICZ NIERUCHOMOŚCI](https://ireland.apollo.olxcdn.com/v1/files/eyJmbiI6ImkwOHE4MmViZGViYjEtQVBMIn0.Mw_PwJuiv1P7cXngvIWq_R3CYrl6fIlo0V2KAzTMB24/image;s=350x350;q=80)\n\nTYSZKIEWICZ NIERUCHOMOŚCI\n\n![Lider Jakości Ogłoszeń PRO](https://statics.otodom.pl/fp_statics/images/sellerBadges/qualityLeader.svg \"Lider Jakości Ogłoszeń PRO\")\n\n![Marianna Boczko](https://ireland.apollo.olxcdn.com/v1/files/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmbiI6ImRpNjB6MzlxNjcxeDItQVBMIn0.9LG-_09YnSUtu3MbG9ZTLREfDgxCxAZibruoipqacPQ/image)\n\n## Marianna Boczko\n\nAgent nieruchomości w biurze [TYSZKIEWICZ NIERUCHOMOŚCI](https://www.otodom.pl/pl/firmy/biura-nieruchomosci/tyszkiewicz-nieruchomosci-ID629621)\n\n![Lider Jakości Ogłoszeń PRO](https://statics.otodom.pl/fp_statics/images/sellerBadges/qualityLeader.svg \"Lider Jakości Ogłoszeń PRO\")\n\nPokaż numer\n\nBiuro na Otodom od 2013\n\nUdostępnij profil\n\n## O mnie\n\n## 0\n\nOgłoszenia sprzedaży\n\n## 0\n\nOgłoszenia wynajmu\n\nObszar działania\n\nGdańsk\n\nDoświadczenie\n\nMieszkania, Lokale użytkowe, Garaże, Kawalerki\n\n### Bio\n\nJestem komunikatywna, łatwo nawiązuję kontakty, jestem lojalna, odpowiedzialna i konsekwentna w działaniu, a swoją pracę wykonuję z pasją. Stawiam sobie ambitne cele i lubię wyzwania.\n\n‌\n\n‌\n",
  "markdownStats": {
    "images": 0,
    "links": 0,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 2
  },
  "tokens": {
    "htmlTokens": 76275,
    "markdownTokens": 110,
    "reduction": 76165,
    "reductionPercent": 100
  },
  "score": {
    "score": 58,
    "grade": "D",
    "dimensions": {
      "semanticHtml": {
        "score": 75,
        "weight": 20,
        "grade": "B",
        "checks": {
          "uses_article_or_main": {
            "score": 100,
            "weight": 20,
            "details": "Has <main>"
          },
          "proper_heading_hierarchy": {
            "score": 70,
            "weight": 25,
            "details": "no <h1>"
          },
          "semantic_elements": {
            "score": 20,
            "weight": 20,
            "details": "5 semantic elements, 78 divs (ratio: 6%)"
          },
          "meaningful_alt_texts": {
            "score": 88,
            "weight": 15,
            "details": "7/8 images with meaningful alt text"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "Avg div depth: 5.0, max: 8"
          }
        }
      },
      "contentEfficiency": {
        "score": 55,
        "weight": 25,
        "grade": "D",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "100% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "details": "Content ratio: 0.1% (274 content chars / 228914 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 50,
            "weight": 15,
            "details": "30/756 elements with inline styles (4.0%)"
          },
          "reasonable_page_weight": {
            "score": 50,
            "weight": 15,
            "details": "HTML size: 224KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 35,
        "weight": 25,
        "grade": "F",
        "checks": {
          "has_llms_txt": {
            "score": 0,
            "weight": 20,
            "details": "No llms.txt found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 10,
            "details": "Sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 25,
            "details": "No Markdown for Agents support detected"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 62,
        "weight": 15,
        "grade": "C",
        "checks": {
          "has_schema_org": {
            "score": 0,
            "weight": 30,
            "details": "No JSON-LD / Schema.org found"
          },
          "has_open_graph": {
            "score": 67,
            "weight": 25,
            "details": "2/3 OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "details": "Meta description: 225 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "details": "lang=\"pl\""
          }
        }
      },
      "accessibility": {
        "score": 72,
        "weight": 15,
        "grade": "C",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 80,
            "weight": 30,
            "details": "Page size: 224KB"
          },
          "fast_content_position": {
            "score": 25,
            "weight": 30,
            "details": "Main content starts at 77% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_llms_txt",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_llms_txt.title",
      "descriptionKey": "rec.add_llms_txt.description",
      "howToKey": "rec.add_llms_txt.howto",
      "effort": "quick-win",
      "estimatedImpact": 10,
      "checkScore": 0,
      "checkDetails": "No llms.txt found"
    },
    {
      "id": "improve_content_ratio",
      "priority": "critical",
      "category": "contentEfficiency",
      "titleKey": "rec.improve_content_ratio.title",
      "descriptionKey": "rec.improve_content_ratio.description",
      "howToKey": "rec.improve_content_ratio.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "Content ratio: 0.1% (274 content chars / 228914 HTML bytes)"
    },
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_content_signals",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "add_schema_org",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_schema_org.title",
      "descriptionKey": "rec.add_schema_org.description",
      "howToKey": "rec.add_schema_org.howto",
      "effort": "moderate",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No JSON-LD / Schema.org found"
    },
    {
      "id": "add_semantic_elements",
      "priority": "high",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "effort": "moderate",
      "estimatedImpact": 5,
      "checkScore": 20,
      "checkDetails": "5 semantic elements, 78 divs (ratio: 6%)"
    },
    {
      "id": "move_content_earlier",
      "priority": "high",
      "category": "accessibility",
      "titleKey": "rec.move_content_earlier.title",
      "descriptionKey": "rec.move_content_earlier.description",
      "howToKey": "rec.move_content_earlier.howto",
      "effort": "moderate",
      "estimatedImpact": 4,
      "checkScore": 25,
      "checkDetails": "Main content starts at 77% of HTML"
    },
    {
      "id": "fix_heading_hierarchy",
      "priority": "medium",
      "category": "semanticHtml",
      "titleKey": "rec.fix_heading_hierarchy.title",
      "descriptionKey": "rec.fix_heading_hierarchy.description",
      "howToKey": "rec.fix_heading_hierarchy.howto",
      "effort": "quick-win",
      "estimatedImpact": 6,
      "checkScore": 70,
      "checkDetails": "no <h1>"
    },
    {
      "id": "add_open_graph",
      "priority": "medium",
      "category": "structuredData",
      "titleKey": "rec.add_open_graph.title",
      "descriptionKey": "rec.add_open_graph.description",
      "howToKey": "rec.add_open_graph.howto",
      "effort": "quick-win",
      "estimatedImpact": 4,
      "checkScore": 67,
      "checkDetails": "2/3 OG tags present"
    },
    {
      "id": "remove_inline_styles",
      "priority": "medium",
      "category": "contentEfficiency",
      "titleKey": "rec.remove_inline_styles.title",
      "descriptionKey": "rec.remove_inline_styles.description",
      "howToKey": "rec.remove_inline_styles.howto",
      "effort": "moderate",
      "estimatedImpact": 3,
      "checkScore": 50,
      "checkDetails": "30/756 elements with inline styles (4.0%)"
    }
  ],
  "llmsTxtPreview": "# www.otodom.pl/\n\n> Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\n\n## Main\n- [Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki](https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30): Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Of…\n- [Mieszkania](https://www.otodom.pl/pl/wyniki/sprzedaz/mieszkanie/cala-polska)\n- [Kawalerki](https://www.otodom.pl/pl/wyniki/sprzedaz/kawalerka/cala-polska)\n- [Domy](https://www.otodom.pl/pl/wyniki/sprzedaz/dom/cala-polska)\n- [Działki](https://www.otodom.pl/pl/wyniki/sprzedaz/dzialka/cala-polska)\n- [Lokale użytkowe](https://www.otodom.pl/pl/wyniki/sprzedaz/lokal/cala-polska)\n- [Biura](https://www.otodom.pl/pl/wyniki/sprzedaz/lokal,biuro/cala-polska)\n- [Hale i magazyny](https://www.otodom.pl/pl/wyniki/sprzedaz/haleimagazyny/cala-polska)\n- [Garaże](https://www.otodom.pl/pl/wyniki/sprzedaz/garaz/cala-polska)\n\n",
  "llmsTxtExisting": null,
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": false,
      "url": "https://www.otodom.pl/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://www.otodom.pl/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://www.otodom.pl/.well-known/agent.json"
    },
    "count": 0
  },
  "snippets": [
    {
      "id": "add_llms_txt",
      "title": "Create /llms.txt",
      "description": "Upload this file to your web root. It tells AI agents what your site is about and which pages matter.",
      "language": "markdown",
      "code": "# www.otodom.pl/\n\n> Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\n\n## Main\n- [Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki](https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30): Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Of…\n- [Mieszkania](https://www.otodom.pl/pl/wyniki/sprzedaz/mieszkanie/cala-polska)\n- [Kawalerki](https://www.otodom.pl/pl/wyniki/sprzedaz/kawalerka/cala-polska)\n- [Domy](https://www.otodom.pl/pl/wyniki/sprzedaz/dom/cala-polska)\n- [Działki](https://www.otodom.pl/pl/wyniki/sprzedaz/dzialka/cala-polska)\n- [Lokale użytkowe](https://www.otodom.pl/pl/wyniki/sprzedaz/lokal/cala-polska)\n- [Biura](https://www.otodom.pl/pl/wyniki/sprzedaz/lokal,biuro/cala-polska)\n- [Hale i magazyny](https://www.otodom.pl/pl/wyniki/sprzedaz/haleimagazyny/cala-polska)\n- [Garaże](https://www.otodom.pl/pl/wyniki/sprzedaz/garaz/cala-polska)\n\n",
      "filename": "/llms.txt"
    },
    {
      "id": "fix_heading_hierarchy",
      "title": "Fix heading hierarchy",
      "description": "Your page has no <h1>. Every page needs exactly one <h1> as the main heading. Add it inside your <main> or <article>.",
      "language": "html",
      "code": "<h1>Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki</h1>",
      "filename": "<main> or <article>"
    },
    {
      "id": "add_open_graph",
      "title": "Add missing Open Graph tags",
      "description": "Open Graph tags control how your page looks when shared on social media and how AI platforms preview your URL in answers.",
      "language": "html",
      "code": "<meta property=\"og:description\" content=\"Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\">\n<meta property=\"og:url\" content=\"https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30\">\n<meta property=\"og:type\" content=\"website\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<meta property=\"og:description\" content=\"Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\">\n<meta property=\"og:url\" content=\"https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30\">\n<meta property=\"og:type\" content=\"website\">"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Quick Open Graph tags without a plugin (skip if Yoast / Rank Math is active)\nadd_action('wp_head', function () {\n    if (!is_singular()) return;\n    $post = get_queried_object();\n    $title = get_the_title($post);\n    $desc  = get_the_excerpt($post) ?: wp_trim_words(strip_tags($post->post_content), 30);\n    $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://statics.otodom.pl/static/otodompl/naspersclassifieds-regional/verticalsre-atlas-web-otodompl/static/img/fb/fb-image200x200.png?t=20-11-09';\n    $url   = get_permalink($post);\n    printf('<meta property=\"og:title\" content=\"%s\">' . \"\\n\", esc_attr($title));\n    printf('<meta property=\"og:description\" content=\"%s\">' . \"\\n\", esc_attr($desc));\n    printf('<meta property=\"og:image\" content=\"%s\">' . \"\\n\", esc_url($image));\n    printf('<meta property=\"og:url\" content=\"%s\">' . \"\\n\", esc_url($url));\n    echo '<meta property=\"og:type\" content=\"article\">' . \"\\n\";\n}, 5);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page.tsx",
          "code": "// Next.js App Router — Metadata API\nimport type { Metadata } from 'next';\n\nexport const metadata: Metadata = {\n  title: \"Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki\",\n  description: \"Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\",\n  openGraph: {\n    title: \"Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki\",\n    description: \"Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\",\n    url: \"https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30\",\n    images: [\"https://statics.otodom.pl/static/otodompl/naspersclassifieds-regional/verticalsre-atlas-web-otodompl/static/img/fb/fb-image200x200.png?t=20-11-09\"],\n    type: 'website',\n  },\n};"
        }
      ]
    },
    {
      "id": "add_schema_org",
      "title": "Add Schema.org JSON-LD",
      "description": "Structured data helps AI agents understand the type, author, and purpose of your content.",
      "language": "html",
      "code": "<script type=\"application/ld+json\">\n{\n  \"@context\": \"https://schema.org\",\n  \"@type\": \"WebPage\",\n  \"name\": \"Otodom: Ogloszenia Nieruchomosci, Mieszkania, Domy, Dzialki\",\n  \"description\": \"Najpopularniejszy serwis nieruchomosci. Sprzedaz i wynajem w kategoriach mieszkania, domy, dzialki, lokale uzytkowe. Oferty biur nieruchomosci, bezposrednie oraz od deweloperów. Znajdz swój dom marzen razem z nami - otoDom.pl\",\n  \"url\": \"https://www.otodom.pl/pl/profil/agenci-nieruchomosci/marianna-boczko-ID30\",\n  \"inLanguage\": \"pl\",\n  \"isPartOf\": {\n    \"@type\": \"WebSite\",\n    \"name\": \"www.otodom.pl/\"\n  }\n}\n</script>",
      "filename": "<head>"
    },
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

Use a nossa API para obter isto programaticamente (em breve)

Este JSON é para uso interno — ao contrário dos ficheiros Markdown e llms.txt, não se destina a ser carregado no seu site. Guarde-o como referência para acompanhar a sua pontuação ao longo do tempo, partilhe-o com a sua equipa de desenvolvimento ou integre-o no seu pipeline CI/CD.

Partilhe os seus resultados

Twitter LinkedIn

Incorpore o seu badge

Adicione este badge ao seu site. Atualiza automaticamente quando a sua pontuação de prontidão para IA mudar.

AgentReady.md score for www.otodom.pl
Script Recomendado
<script src="https://agentready.md/badge.js" data-id="d638e1c1-6905-4d74-a294-c704acd2ac94" data-domain="www.otodom.pl"></script>
Markdown
[![AgentReady.md score for www.otodom.pl](https://agentready.md/badge/www.otodom.pl.svg)](https://agentready.md/pt/r/d638e1c1-6905-4d74-a294-c704acd2ac94)

Em breve: Análise completa de domínio

Rastreie todo o seu domínio, gere llms.txt e monitorize a sua pontuação de prontidão para IA ao longo do tempo. Inscreva-se na lista de espera.

Está na lista! Notificá-lo-emos quando estiver disponível.