Certificado AgentReady.md verificado
Emitido el sig: aada952106a9f120 Verificar →

URL analizada

https://yeunoithat.com/

Analizar otra URL

Puntuación AI-Ready

70 / C

Aceptable

de 100

Ahorro de tokens

Tokens HTML 11.388
Tokens Markdown 29
Ahorro 100%

Desglose de la puntuación

HTML semántico 93/100
Eficiencia del contenido 70/100
Visibilidad para IA 31/100
Datos estructurados 77/100
Accesibilidad 100/100

Protocolos emergentes

0 de 3 detectados

Endpoints well-known que los AI agents buscan. Detectados significa que un agente puede descubrir y conectar con tu servicio automáticamente.

  • 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

Tu sitio no tiene un archivo llms.txt. Este es el estándar emergente para ayudar a los AI agents a comprender la estructura de tu sitio.

Cómo implementarlo

Crea un archivo /llms.txt siguiendo la especificación de llmstxt.org. Incluye una descripción del sitio y enlaces a tus páginas principales.

Tu página tiene un bajo ratio de contenido real respecto al HTML total. Gran parte del peso de la página es marcado, scripts o estilos en lugar de contenido.

Cómo implementarlo

Mueve el CSS a hojas de estilo externas, elimina los estilos en línea, minimiza el JavaScript y asegúrate de que el HTML se centre en la estructura del contenido.

No se encontró un sitemap. Un sitemap ayuda a los AI agents a descubrir todas las páginas de tu sitio.

Cómo implementarlo

Crea un /sitemap.xml con todas tus páginas públicas. La mayoría de los CMS pueden generarlo automáticamente.

No se encontraron directivas Content-Signal. Estas indican a los agentes IA cómo pueden usar tu contenido (indexación, entrada IA, datos de entrenamiento). La ubicación recomendada es robots.txt.

Cómo implementarlo

Añade Content-Signal a tu robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. También puedes añadirlo como cabecera HTTP en respuestas 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});"}] }'>

Tu sitio no soporta Markdown for Agents. Este estándar de Cloudflare permite a los agentes IA solicitar contenido en formato markdown, reduciendo el uso de tokens en ~80%.

Cómo implementarlo

Implementa uno o más: (1) Responder a Accept: text/markdown con contenido markdown. (2) Servir URLs .md (ej: /pagina.md). (3) Añadir etiquetas <link rel="alternate" type="text/markdown">. (4) Añadir cabeceras HTTP Link para descubrimiento 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# "}] }'>

No se encontró URL canónica. Esto ayuda a los AI agents a identificar la versión preferida de una página y evitar contenido duplicado.

Cómo implementarlo

Añade una etiqueta <link rel="canonical" href="..."> apuntando a la URL canónica de la página.

La estructura de encabezados tiene problemas (niveles saltados o múltiples etiquetas h1). Una jerarquía limpia ayuda a los AI agents a comprender la organización del contenido.

Cómo implementarlo

Asegúrate de tener exactamente un <h1> por página y que los encabezados sigan un orden secuencial: h1 > h2 > h3. No saltes niveles (por ejemplo, de h1 directamente a h3).

Faltan etiquetas Open Graph o están incompletas. Las etiquetas OG ayudan a los AI agents (y plataformas sociales) a comprender el título, la descripción y la imagen de tu página.

Cómo implementarlo

Añade las meta etiquetas og:title, og:description y og:image en el <head> de tu página.

post_content), 30);\n $image = get_the_post_thumbnail_url($post, 'large') ?: 'https://yoursite.com/og-image.jpg';\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: \"Yêu Nội Thất\",\n description: \"Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.\",\n openGraph: {\n title: \"Yêu Nội Thất\",\n description: \"Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.\",\n url: \"https://yeunoithat.com/\",\n images: [\"https://yoursite.com/og-image.jpg\"],\n type: 'website',\n },\n};"}] }'>
Tokens Markdown: 29
© 2026 | [Yêu nội thất](https://yeunoithat.com/#) | All rights reserved
Yêu Nội Thất

Tim kiếm AI nội thất

## Những thiết kế mới mẻ từ cộng đồng

[![Không Gian Phòng Khách Liền Bếp Hiện Đại Tông Kem Sang Trọng](https://i.pinimg.com/1200x/bc/00/51/bc005135e19d561d6c366618c4ea202e.jpg)](https://yeunoithat.com/y-tuong/phong-khach-hien-dai-tong-kem-sang-trong/)

### [Không Gian Phòng Khách Liền Bếp Hiện Đại Tông Kem Sang Trọng](https://yeunoithat.com/y-tuong/phong-khach-hien-dai-tong-kem-sang-trong/)

[![Phòng khách Scandinavian ấm cúng với ghế bành và bàn gỗ](https://i.pinimg.com/1200x/48/89/90/488990188644c7c5341ccb75a3a33bd6.jpg)](https://yeunoithat.com/y-tuong/phong-khach-boho-nghe-thuat-su-ket-hop-hoan-hao-giua-mau-sac-va-thien-nhien-11694/)

### [Phòng khách Scandinavian ấm cúng với ghế bành và bàn gỗ](https://yeunoithat.com/y-tuong/phong-khach-boho-nghe-thuat-su-ket-hop-hoan-hao-giua-mau-sac-va-thien-nhien-11694/)

[![Phòng tắm hiện đại thanh lịch – Xu hướng thiết kế 2025](https://i.pinimg.com/736x/ef/ea/32/efea32341a96886dd3f347923898a8b7.jpg)](https://yeunoithat.com/y-tuong/phong-khach-phong-cach-scandinavia-am-cung-va-tinh-te-11701/)

### [Phòng tắm hiện đại thanh lịch – Xu hướng thiết kế 2025](https://yeunoithat.com/y-tuong/phong-khach-phong-cach-scandinavia-am-cung-va-tinh-te-11701/)

[![Phòng tắm hiện đại tối giản: Vách kính, vòi sen âm tường và gương tròn](https://i.pinimg.com/1200x/80/d3/b8/80d3b8f422d21e656e4c9bfedcf6c7c5.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-cham-voi-phong-khach-phong-cach-japandi-hien-djai-11703/)

### [Phòng tắm hiện đại tối giản: Vách kính, vòi sen âm tường và gương tròn](https://yeunoithat.com/y-tuong/nghe-thuat-song-cham-voi-phong-khach-phong-cach-japandi-hien-djai-11703/)

[![Phòng tắm hiện đại tối giản – Sự thanh lịch từng centimet](https://i.pinimg.com/736x/c7/24/8b/c7248b904c35085d4ba34a1848420c61.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-cham-voi-phong-khach-japandi-hien-djai-11707/)

### [Phòng tắm hiện đại tối giản – Sự thanh lịch từng centimet](https://yeunoithat.com/y-tuong/nghe-thuat-song-cham-voi-phong-khach-japandi-hien-djai-11707/)

[![Nhà bếp Scandinavia tối giản: Hòa quyện giữa gỗ tự nhiên và sắc trắng tinh khôi](https://i.pinimg.com/736x/57/3b/60/573b6009e1860028d94630e4e29e711a.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-scandinavian-11713/)

### [Nhà bếp Scandinavia tối giản: Hòa quyện giữa gỗ tự nhiên và sắc trắng tinh khôi](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-scandinavian-11713/)

[![Phòng khách – ăn phong cách Scandinavia: Ấm cúng và tinh tế](https://i.pinimg.com/736x/bf/48/42/bf4842072abec803f962247023b0534b.jpg)](https://yeunoithat.com/y-tuong/khong-gian-phong-khach-toi-gian-sang-trong-voi-tong-mau-trung-tinh-11717/)

### [Phòng khách – ăn phong cách Scandinavia: Ấm cúng và tinh tế](https://yeunoithat.com/y-tuong/khong-gian-phong-khach-toi-gian-sang-trong-voi-tong-mau-trung-tinh-11717/)

[![Phòng Khách Hiện Đại Tinh Tế Với Tông Màu Trung Tính](https://i.pinimg.com/736x/3f/f0/ff/3ff0ff2024da1e61cf99556343bbbac4.jpg)](https://yeunoithat.com/y-tuong/phong-khach-hien-djai-tinh-te-voi-tong-mau-trung-tinh-11718/)

### [Phòng Khách Hiện Đại Tinh Tế Với Tông Màu Trung Tính](https://yeunoithat.com/y-tuong/phong-khach-hien-djai-tinh-te-voi-tong-mau-trung-tinh-11718/)

[![Phòng tắm hiện đại tối giản – Sự thanh lịch và thư giãn](https://i.pinimg.com/736x/00/89/c0/0089c076bd95dd331f4d6916e6a54e89.jpg)](https://yeunoithat.com/y-tuong/phong-khach-scandinavia-nghe-thuat-cua-su-toi-gian-va-am-cung-11719/)

### [Phòng tắm hiện đại tối giản – Sự thanh lịch và thư giãn](https://yeunoithat.com/y-tuong/phong-khach-scandinavia-nghe-thuat-cua-su-toi-gian-va-am-cung-11719/)

[![Phòng tắm hiện đại tối giản với điểm nhấn nghệ thuật](https://i.pinimg.com/1200x/40/c7/ad/40c7ad94b00fb0ad33879d4fc2199f66.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-11720/)

### [Phòng tắm hiện đại tối giản với điểm nhấn nghệ thuật](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-11720/)

[![Nghệ Thuật Sống Tối Giản Với Phong Cách Japandi Cho Phòng Khách](https://i.pinimg.com/736x/68/bd/c6/68bdc63666abe886b52269814ce4a128.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-2-11722/)

### [Nghệ Thuật Sống Tối Giản Với Phong Cách Japandi Cho Phòng Khách](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-2-11722/)

[![Phòng ngủ phong cách Scandinavia – Sự yên bình giữa lòng thành phố](https://i.pinimg.com/736x/9b/77/c3/9b77c3aac5bd77f7cabc445e7223cbda.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-khach-phong-cach-scandinavia-11724/)

### [Phòng ngủ phong cách Scandinavia – Sự yên bình giữa lòng thành phố](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-khach-phong-cach-scandinavia-11724/)

[![Phòng bếp mộc mạc hữu cơ – Ấm cúng và gần gũi với thiên nhiên](https://i.pinimg.com/736x/a7/e5/86/a7e5865cd80ca341d9d4a2ccf133bb13.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-1-11725/)

### [Phòng bếp mộc mạc hữu cơ – Ấm cúng và gần gũi với thiên nhiên](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-1-11725/)

[![Phòng khách hiện đại ấm cúng – Điểm nhấn nghệ thuật và ánh sáng](https://i.pinimg.com/736x/34/3a/3d/343a3dede4b4073fe898c42b063e3faf.jpg)](https://yeunoithat.com/y-tuong/khong-gian-phong-khach-hien-djai-am-cung-va-tinh-te-11735/)

### [Phòng khách hiện đại ấm cúng – Điểm nhấn nghệ thuật và ánh sáng](https://yeunoithat.com/y-tuong/khong-gian-phong-khach-hien-djai-am-cung-va-tinh-te-11735/)

[![Phòng học hiện đại tối giản – Không gian sáng tạo và tập trung](https://i.pinimg.com/1200x/6c/e3/e5/6ce3e5fdff2a5c4b793c26da2d4a0410.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-gam-mau-trung-tinh-va-hinh-khoi-huu-co-11741/)

### [Phòng học hiện đại tối giản – Không gian sáng tạo và tập trung](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-gam-mau-trung-tinh-va-hinh-khoi-huu-co-11741/)

[![Bộ Sưu Tập Phòng Tắm Hiện Đại Tinh Tế](https://i.pinimg.com/1200x/55/74/9d/55749d024c68a81f6237b087c7345957.jpg)](https://yeunoithat.com/y-tuong/phong-khach-scandinavia-su-giao-thoa-giua-tinh-te-va-am-cung-11745/)

### [Bộ Sưu Tập Phòng Tắm Hiện Đại Tinh Tế](https://yeunoithat.com/y-tuong/phong-khach-scandinavia-su-giao-thoa-giua-tinh-te-va-am-cung-11745/)

[![Góc học tập – nghỉ ngơi đa năng cho căn hộ nhỏ](https://i.pinimg.com/1200x/2f/81/ae/2f81ae46ab1375f7dfe270fcce5180a2.jpg)](https://yeunoithat.com/y-tuong/phong-khach-hien-djai-tinh-te-voi-tong-mau-trung-tinh-11748/)

### [Góc học tập – nghỉ ngơi đa năng cho căn hộ nhỏ](https://yeunoithat.com/y-tuong/phong-khach-hien-djai-tinh-te-voi-tong-mau-trung-tinh-11748/)

[![Góc ăn uống chiết trung: Ấm áp, sáng tạo và đầy cảm hứng](https://i.pinimg.com/1200x/1f/7a/f8/1f7af8f2754b9c9ab798531f370dfde0.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-bien-phong-khach-thanh-thien-djuong-thu-gian-11750/)

### [Góc ăn uống chiết trung: Ấm áp, sáng tạo và đầy cảm hứng](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-bien-phong-khach-thanh-thien-djuong-thu-gian-11750/)

[![Góc thư giãn phong cách Scandinavia ấm cúng](https://i.pinimg.com/originals/44/83/91/448391d86321c459e726b0214565ac18.jpg)](https://yeunoithat.com/y-tuong/bien-phong-ngu-thanh-thien-uong-thu-gian-voi-phong-cach-japandi-11827/)

### [Góc thư giãn phong cách Scandinavia ấm cúng](https://yeunoithat.com/y-tuong/bien-phong-ngu-thanh-thien-uong-thu-gian-voi-phong-cach-japandi-11827/)

[![Phòng khách Scandinavian ấm cúng với nội thất tối giản](https://i.pinimg.com/originals/ca/a0/05/caa00524e4216fd16b9145503ca7d90d.jpg)](https://yeunoithat.com/y-tuong/phong-khach-japandi-tinh-te-va-am-cung-11828/)

### [Phòng khách Scandinavian ấm cúng với nội thất tối giản](https://yeunoithat.com/y-tuong/phong-khach-japandi-tinh-te-va-am-cung-11828/)

Sube este archivo como /index.md en tu servidor para que los AI agents puedan acceder a una versión limpia de tu página. También puedes configurar la negociación de contenido Accept: text/markdown para servirlo automáticamente.

llms.txt generado para esta página individual

Descargar llms.txt
# yeunoithat.com

> Yêu Nội Thất là công cụ tìm kiếm và nền tảng truyền cảm hứng hàng đầu của Vietnamvề ý tưởng thiết kế nội thất và đồ nội thất. Chúng tôi kết hợp các xu hướng mạng xã hội được chọn lọc kỹ lưỡng với công cụ so sánh giá mạnh mẽ cho hơn 700 danh mục. Khám phá đồ nội thất từ ​​các thương hiệu hàng đầu, đ…

## Main
- [Yêu Nội Thất](https://yeunoithat.com/): Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.

El llms.txt completo requiere un análisis de todo el dominio (próximamente)

Sube este archivo a https://yeunoithat.com/llms.txt en la raíz de tu dominio. Los AI agents como ChatGPT, Claude y Perplexity consultan este archivo para comprender la estructura de tu sitio.

HTML semántico

Usa elementos article o main (100/100)

Has both <article> and <main>

Jerarquía de encabezados correcta (70/100)

no <h1>

Usa elementos HTML semánticos (100/100)

25 semantic elements, 35 divs (ratio: 42%)

Textos alternativos descriptivos en imágenes (100/100)

21/21 images with meaningful alt text

Poca profundidad de anidamiento de divs (100/100)

Avg div depth: 1.5, max: 2

Eficiencia del contenido

Buen ratio de reducción de tokens (100/100)

100% token reduction (HTML→Markdown)

Buen ratio de contenido frente a ruido (0/100)

Content ratio: 0.2% (49 content chars / 32537 HTML bytes)

Estilos en línea mínimos (100/100)

0/210 elements with inline styles (0.0%)

Peso de página razonable (100/100)

HTML size: 32KB

Visibilidad para IA

Tiene archivo llms.txt (0/100)

No llms.txt found

Tiene archivo robots.txt (100/100)

robots.txt exists

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

All major AI bots allowed

Tiene sitemap.xml (0/100)

No sitemap found

Soporte de Markdown for Agents (25/100) Application
&#10007; Accept: text/markdown &#10003; .md URL &#10007; <link> tag &#10007; Link header
Tiene Content-Signal (robots.txt o cabeceras HTTP) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

Datos estructurados

Tiene Schema.org / JSON-LD (100/100)

JSON-LD found: WebPage, Organization, BreadcrumbList

Tiene etiquetas Open Graph (67/100)

2/3 OG tags present

Tiene meta description (100/100)

Meta description: 66 chars

Tiene URL canónica (0/100)

No canonical URL

Tiene atributo lang (100/100)

lang="en"

Accesibilidad

Contenido disponible sin JavaScript (100/100)

Content available without JavaScript

Tamaño de página razonable (100/100)

Page size: 32KB

El contenido aparece temprano en el HTML (100/100)

Main content starts at 17% of HTML

{
  "url": "https://yeunoithat.com/",
  "timestamp": 1779606329327,
  "fetch": {
    "mode": "simple",
    "timeMs": 77,
    "htmlSizeBytes": 32537,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": true,
        "url": "https://yeunoithat.com/index.md"
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "application"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Yêu Nội Thất",
    "excerpt": "Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.",
    "byline": null,
    "siteName": null,
    "lang": "en",
    "contentLength": 49,
    "metadata": {
      "description": "Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.",
      "ogTitle": "Yêu Nội Thất",
      "ogDescription": "Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.",
      "ogImage": null,
      "ogType": null,
      "canonical": null,
      "lang": "en",
      "schemas": [
        {
          "@type": "WebPage",
          "@id": "https://yeunoithat.com/#webpage",
          "name": "Yêu Nội Thất - Công cụ tìm kiếm ý tưởng thiết kế nội thất và đồ nội thất",
          "description": "So sánh giá từ hơn 700 cửa hàng và đảm bảo có được những ưu đãi tốt nhất cho đồ nội thất & trang trí. Nguồn cảm hứng lớn nhất nước Đức dành cho ngôi nhà của bạn.",
          "url": "https://yeunoithat.com",
          "inLanguage": "vn-VN",
          "isPartOf": {
            "@id": "https://yeunoithat.com/#website"
          },
          "primaryImageOfPage": {
            "@type": "ImageObject",
            "url": "https://yeunoithat.com/opengraph-image.png",
            "width": 1200,
            "height": 630
          }
        },
        {
          "@type": "Organization",
          "@id": "https://yeunoithat.com/#organization",
          "name": "Yêu Nội Thất",
          "description": "Yêu Nội Thất là công cụ tìm kiếm và nền tảng truyền cảm hứng hàng đầu của Vietnamvề ý tưởng thiết kế nội thất và đồ nội thất. Chúng tôi kết hợp các xu hướng mạng xã hội được chọn lọc kỹ lưỡng với công cụ so sánh giá mạnh mẽ cho hơn 700 danh mục. Khám phá đồ nội thất từ ​​các thương hiệu hàng đầu, được hình dung trong không gian sống thực tế, và tìm được những ưu đãi tốt nhất từ ​​các đối tác đáng tin cậy của chúng tôi.",
          "url": "https://yeunoithat.com",
          "sameAs": [
            "https://www.facebook.com/yeunoithat",
            "https://www.instagram.com/yeunoithat",
            "https://www.pinterest.de/yeunoithat",
            "https://www.tiktok.com/@yeunoithat",
            "https://www.youtube.com/@yeunoithat",
            "https://www.linkedin.com/company/yeunoithat"
          ],
          "areaServed": {
            "@type": "Country",
            "name": "Viet Nam",
            "sameAs": "https://de.wikipedia.org/wiki/Vietnam"
          },
          "founder": {
            "@type": "Person",
            "@id": "https://yeunoithat.com/uber-uns/experten"
          }
        },
        {
          "@type": "BreadcrumbList",
          "@id": "https://yeunoithat.com/#breadcrumb",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "name": "Home",
              "item": "#"
            }
          ]
        }
      ],
      "robotsMeta": null,
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "© 2026 | [Yêu nội thất](https://yeunoithat.com/#) | All rights reserved\n",
  "fullPageMarkdown": "Yêu Nội Thất\n\nTim kiếm AI nội thất\n\n## Những thiết kế mới mẻ từ cộng đồng\n\n[![Không Gian Phòng Khách Liền Bếp Hiện Đại Tông Kem Sang Trọng](https://i.pinimg.com/1200x/bc/00/51/bc005135e19d561d6c366618c4ea202e.jpg)](https://yeunoithat.com/y-tuong/phong-khach-hien-dai-tong-kem-sang-trong/)\n\n### [Không Gian Phòng Khách Liền Bếp Hiện Đại Tông Kem Sang Trọng](https://yeunoithat.com/y-tuong/phong-khach-hien-dai-tong-kem-sang-trong/)\n\n[![Phòng khách Scandinavian ấm cúng với ghế bành và bàn gỗ](https://i.pinimg.com/1200x/48/89/90/488990188644c7c5341ccb75a3a33bd6.jpg)](https://yeunoithat.com/y-tuong/phong-khach-boho-nghe-thuat-su-ket-hop-hoan-hao-giua-mau-sac-va-thien-nhien-11694/)\n\n### [Phòng khách Scandinavian ấm cúng với ghế bành và bàn gỗ](https://yeunoithat.com/y-tuong/phong-khach-boho-nghe-thuat-su-ket-hop-hoan-hao-giua-mau-sac-va-thien-nhien-11694/)\n\n[![Phòng tắm hiện đại thanh lịch – Xu hướng thiết kế 2025](https://i.pinimg.com/736x/ef/ea/32/efea32341a96886dd3f347923898a8b7.jpg)](https://yeunoithat.com/y-tuong/phong-khach-phong-cach-scandinavia-am-cung-va-tinh-te-11701/)\n\n### [Phòng tắm hiện đại thanh lịch – Xu hướng thiết kế 2025](https://yeunoithat.com/y-tuong/phong-khach-phong-cach-scandinavia-am-cung-va-tinh-te-11701/)\n\n[![Phòng tắm hiện đại tối giản: Vách kính, vòi sen âm tường và gương tròn](https://i.pinimg.com/1200x/80/d3/b8/80d3b8f422d21e656e4c9bfedcf6c7c5.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-cham-voi-phong-khach-phong-cach-japandi-hien-djai-11703/)\n\n### [Phòng tắm hiện đại tối giản: Vách kính, vòi sen âm tường và gương tròn](https://yeunoithat.com/y-tuong/nghe-thuat-song-cham-voi-phong-khach-phong-cach-japandi-hien-djai-11703/)\n\n[![Phòng tắm hiện đại tối giản – Sự thanh lịch từng centimet](https://i.pinimg.com/736x/c7/24/8b/c7248b904c35085d4ba34a1848420c61.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-cham-voi-phong-khach-japandi-hien-djai-11707/)\n\n### [Phòng tắm hiện đại tối giản – Sự thanh lịch từng centimet](https://yeunoithat.com/y-tuong/nghe-thuat-song-cham-voi-phong-khach-japandi-hien-djai-11707/)\n\n[![Nhà bếp Scandinavia tối giản: Hòa quyện giữa gỗ tự nhiên và sắc trắng tinh khôi](https://i.pinimg.com/736x/57/3b/60/573b6009e1860028d94630e4e29e711a.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-scandinavian-11713/)\n\n### [Nhà bếp Scandinavia tối giản: Hòa quyện giữa gỗ tự nhiên và sắc trắng tinh khôi](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-scandinavian-11713/)\n\n[![Phòng khách – ăn phong cách Scandinavia: Ấm cúng và tinh tế](https://i.pinimg.com/736x/bf/48/42/bf4842072abec803f962247023b0534b.jpg)](https://yeunoithat.com/y-tuong/khong-gian-phong-khach-toi-gian-sang-trong-voi-tong-mau-trung-tinh-11717/)\n\n### [Phòng khách – ăn phong cách Scandinavia: Ấm cúng và tinh tế](https://yeunoithat.com/y-tuong/khong-gian-phong-khach-toi-gian-sang-trong-voi-tong-mau-trung-tinh-11717/)\n\n[![Phòng Khách Hiện Đại Tinh Tế Với Tông Màu Trung Tính](https://i.pinimg.com/736x/3f/f0/ff/3ff0ff2024da1e61cf99556343bbbac4.jpg)](https://yeunoithat.com/y-tuong/phong-khach-hien-djai-tinh-te-voi-tong-mau-trung-tinh-11718/)\n\n### [Phòng Khách Hiện Đại Tinh Tế Với Tông Màu Trung Tính](https://yeunoithat.com/y-tuong/phong-khach-hien-djai-tinh-te-voi-tong-mau-trung-tinh-11718/)\n\n[![Phòng tắm hiện đại tối giản – Sự thanh lịch và thư giãn](https://i.pinimg.com/736x/00/89/c0/0089c076bd95dd331f4d6916e6a54e89.jpg)](https://yeunoithat.com/y-tuong/phong-khach-scandinavia-nghe-thuat-cua-su-toi-gian-va-am-cung-11719/)\n\n### [Phòng tắm hiện đại tối giản – Sự thanh lịch và thư giãn](https://yeunoithat.com/y-tuong/phong-khach-scandinavia-nghe-thuat-cua-su-toi-gian-va-am-cung-11719/)\n\n[![Phòng tắm hiện đại tối giản với điểm nhấn nghệ thuật](https://i.pinimg.com/1200x/40/c7/ad/40c7ad94b00fb0ad33879d4fc2199f66.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-11720/)\n\n### [Phòng tắm hiện đại tối giản với điểm nhấn nghệ thuật](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-11720/)\n\n[![Nghệ Thuật Sống Tối Giản Với Phong Cách Japandi Cho Phòng Khách](https://i.pinimg.com/736x/68/bd/c6/68bdc63666abe886b52269814ce4a128.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-2-11722/)\n\n### [Nghệ Thuật Sống Tối Giản Với Phong Cách Japandi Cho Phòng Khách](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-2-11722/)\n\n[![Phòng ngủ phong cách Scandinavia – Sự yên bình giữa lòng thành phố](https://i.pinimg.com/736x/9b/77/c3/9b77c3aac5bd77f7cabc445e7223cbda.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-khach-phong-cach-scandinavia-11724/)\n\n### [Phòng ngủ phong cách Scandinavia – Sự yên bình giữa lòng thành phố](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-khach-phong-cach-scandinavia-11724/)\n\n[![Phòng bếp mộc mạc hữu cơ – Ấm cúng và gần gũi với thiên nhiên](https://i.pinimg.com/736x/a7/e5/86/a7e5865cd80ca341d9d4a2ccf133bb13.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-1-11725/)\n\n### [Phòng bếp mộc mạc hữu cơ – Ấm cúng và gần gũi với thiên nhiên](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-phong-cach-japandi-cho-phong-khach-1-11725/)\n\n[![Phòng khách hiện đại ấm cúng – Điểm nhấn nghệ thuật và ánh sáng](https://i.pinimg.com/736x/34/3a/3d/343a3dede4b4073fe898c42b063e3faf.jpg)](https://yeunoithat.com/y-tuong/khong-gian-phong-khach-hien-djai-am-cung-va-tinh-te-11735/)\n\n### [Phòng khách hiện đại ấm cúng – Điểm nhấn nghệ thuật và ánh sáng](https://yeunoithat.com/y-tuong/khong-gian-phong-khach-hien-djai-am-cung-va-tinh-te-11735/)\n\n[![Phòng học hiện đại tối giản – Không gian sáng tạo và tập trung](https://i.pinimg.com/1200x/6c/e3/e5/6ce3e5fdff2a5c4b793c26da2d4a0410.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-gam-mau-trung-tinh-va-hinh-khoi-huu-co-11741/)\n\n### [Phòng học hiện đại tối giản – Không gian sáng tạo và tập trung](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-voi-gam-mau-trung-tinh-va-hinh-khoi-huu-co-11741/)\n\n[![Bộ Sưu Tập Phòng Tắm Hiện Đại Tinh Tế](https://i.pinimg.com/1200x/55/74/9d/55749d024c68a81f6237b087c7345957.jpg)](https://yeunoithat.com/y-tuong/phong-khach-scandinavia-su-giao-thoa-giua-tinh-te-va-am-cung-11745/)\n\n### [Bộ Sưu Tập Phòng Tắm Hiện Đại Tinh Tế](https://yeunoithat.com/y-tuong/phong-khach-scandinavia-su-giao-thoa-giua-tinh-te-va-am-cung-11745/)\n\n[![Góc học tập – nghỉ ngơi đa năng cho căn hộ nhỏ](https://i.pinimg.com/1200x/2f/81/ae/2f81ae46ab1375f7dfe270fcce5180a2.jpg)](https://yeunoithat.com/y-tuong/phong-khach-hien-djai-tinh-te-voi-tong-mau-trung-tinh-11748/)\n\n### [Góc học tập – nghỉ ngơi đa năng cho căn hộ nhỏ](https://yeunoithat.com/y-tuong/phong-khach-hien-djai-tinh-te-voi-tong-mau-trung-tinh-11748/)\n\n[![Góc ăn uống chiết trung: Ấm áp, sáng tạo và đầy cảm hứng](https://i.pinimg.com/1200x/1f/7a/f8/1f7af8f2754b9c9ab798531f370dfde0.jpg)](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-bien-phong-khach-thanh-thien-djuong-thu-gian-11750/)\n\n### [Góc ăn uống chiết trung: Ấm áp, sáng tạo và đầy cảm hứng](https://yeunoithat.com/y-tuong/nghe-thuat-song-toi-gian-bien-phong-khach-thanh-thien-djuong-thu-gian-11750/)\n\n[![Góc thư giãn phong cách Scandinavia ấm cúng](https://i.pinimg.com/originals/44/83/91/448391d86321c459e726b0214565ac18.jpg)](https://yeunoithat.com/y-tuong/bien-phong-ngu-thanh-thien-uong-thu-gian-voi-phong-cach-japandi-11827/)\n\n### [Góc thư giãn phong cách Scandinavia ấm cúng](https://yeunoithat.com/y-tuong/bien-phong-ngu-thanh-thien-uong-thu-gian-voi-phong-cach-japandi-11827/)\n\n[![Phòng khách Scandinavian ấm cúng với nội thất tối giản](https://i.pinimg.com/originals/ca/a0/05/caa00524e4216fd16b9145503ca7d90d.jpg)](https://yeunoithat.com/y-tuong/phong-khach-japandi-tinh-te-va-am-cung-11828/)\n\n### [Phòng khách Scandinavian ấm cúng với nội thất tối giản](https://yeunoithat.com/y-tuong/phong-khach-japandi-tinh-te-va-am-cung-11828/)\n",
  "markdownStats": {
    "images": 0,
    "links": 1,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 0
  },
  "tokens": {
    "htmlTokens": 11388,
    "markdownTokens": 29,
    "reduction": 11359,
    "reductionPercent": 100
  },
  "score": {
    "score": 70,
    "grade": "C",
    "dimensions": {
      "semanticHtml": {
        "score": 93,
        "weight": 20,
        "grade": "A",
        "checks": {
          "uses_article_or_main": {
            "score": 100,
            "weight": 20,
            "details": "Has both <article> and <main>"
          },
          "proper_heading_hierarchy": {
            "score": 70,
            "weight": 25,
            "details": "no <h1>"
          },
          "semantic_elements": {
            "score": 100,
            "weight": 20,
            "details": "25 semantic elements, 35 divs (ratio: 42%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "21/21 images with meaningful alt text"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "Avg div depth: 1.5, max: 2"
          }
        }
      },
      "contentEfficiency": {
        "score": 70,
        "weight": 25,
        "grade": "C",
        "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.2% (49 content chars / 32537 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 100,
            "weight": 15,
            "details": "0/210 elements with inline styles (0.0%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 32KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 31,
        "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": 0,
            "weight": 10,
            "details": "No sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 25,
            "weight": 25,
            "details": "Application level — .md URL (https://yeunoithat.com/index.md)"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 77,
        "weight": 15,
        "grade": "B",
        "checks": {
          "has_schema_org": {
            "score": 100,
            "weight": 30,
            "details": "JSON-LD found: WebPage, Organization, BreadcrumbList"
          },
          "has_open_graph": {
            "score": 67,
            "weight": 25,
            "details": "2/3 OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "details": "Meta description: 66 chars"
          },
          "has_canonical_url": {
            "score": 0,
            "weight": 15,
            "details": "No canonical URL"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "details": "lang=\"en\""
          }
        }
      },
      "accessibility": {
        "score": 100,
        "weight": 15,
        "grade": "A",
        "checks": {
          "content_without_js": {
            "score": 100,
            "weight": 40,
            "details": "Content available without JavaScript"
          },
          "reasonable_page_size": {
            "score": 100,
            "weight": 30,
            "details": "Page size: 32KB"
          },
          "fast_content_position": {
            "score": 100,
            "weight": 30,
            "details": "Main content starts at 17% 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.2% (49 content chars / 32537 HTML bytes)"
    },
    {
      "id": "add_sitemap",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_sitemap.title",
      "descriptionKey": "rec.add_sitemap.description",
      "howToKey": "rec.add_sitemap.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No sitemap found"
    },
    {
      "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_markdown_negotiation",
      "priority": "high",
      "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": 25,
      "checkDetails": "Application level — .md URL (https://yeunoithat.com/index.md)"
    },
    {
      "id": "add_canonical_url",
      "priority": "high",
      "category": "structuredData",
      "titleKey": "rec.add_canonical_url.title",
      "descriptionKey": "rec.add_canonical_url.description",
      "howToKey": "rec.add_canonical_url.howto",
      "effort": "quick-win",
      "estimatedImpact": 3,
      "checkScore": 0,
      "checkDetails": "No canonical URL"
    },
    {
      "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"
    }
  ],
  "llmsTxtPreview": "# yeunoithat.com\n\n> Yêu Nội Thất là công cụ tìm kiếm và nền tảng truyền cảm hứng hàng đầu của Vietnamvề ý tưởng thiết kế nội thất và đồ nội thất. Chúng tôi kết hợp các xu hướng mạng xã hội được chọn lọc kỹ lưỡng với công cụ so sánh giá mạnh mẽ cho hơn 700 danh mục. Khám phá đồ nội thất từ ​​các thương hiệu hàng đầu, đ…\n\n## Main\n- [Yêu Nội Thất](https://yeunoithat.com/): Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.\n\n",
  "llmsTxtExisting": null,
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": false,
      "url": "https://yeunoithat.com/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://yeunoithat.com/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://yeunoithat.com/.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": "# yeunoithat.com\n\n> Yêu Nội Thất là công cụ tìm kiếm và nền tảng truyền cảm hứng hàng đầu của Vietnamvề ý tưởng thiết kế nội thất và đồ nội thất. Chúng tôi kết hợp các xu hướng mạng xã hội được chọn lọc kỹ lưỡng với công cụ so sánh giá mạnh mẽ cho hơn 700 danh mục. Khám phá đồ nội thất từ ​​các thương hiệu hàng đầu, đ…\n\n## Main\n- [Yêu Nội Thất](https://yeunoithat.com/): Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.\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>Yêu Nội Thất</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:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://yeunoithat.com/\">\n<meta property=\"og:type\" content=\"website\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<meta property=\"og:image\" content=\"https://yoursite.com/og-image.jpg\">\n<meta property=\"og:url\" content=\"https://yeunoithat.com/\">\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://yoursite.com/og-image.jpg';\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: \"Yêu Nội Thất\",\n  description: \"Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.\",\n  openGraph: {\n    title: \"Yêu Nội Thất\",\n    description: \"Ngôi nhà của bạn, được tái định hình: Khám phá. So sánh. Thiết kế.\",\n    url: \"https://yeunoithat.com/\",\n    images: [\"https://yoursite.com/og-image.jpg\"],\n    type: 'website',\n  },\n};"
        }
      ]
    },
    {
      "id": "add_canonical_url",
      "title": "Add canonical URL",
      "description": "The canonical URL tells AI agents which version of the page is the \"official\" one, avoiding duplicate content issues.",
      "language": "html",
      "code": "<link rel=\"canonical\" href=\"https://yeunoithat.com/\">",
      "filename": "<head>"
    },
    {
      "id": "add_sitemap",
      "title": "Create /sitemap.xml",
      "description": "A sitemap helps AI agents discover all your pages. Most CMS platforms generate one automatically.",
      "language": "xml",
      "code": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n  <url>\n    <loc>https://yeunoithat.com/</loc>\n    <lastmod>2026-05-24</lastmod>\n  </url>\n</urlset>",
      "filename": "/sitemap.xml"
    },
    {
      "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\">"
        }
      ]
    }
  ]
}

Usa nuestra API para obtener esto de forma programática (próximamente)

Este JSON es para uso interno — a diferencia del Markdown y llms.txt, no está pensado para subirse a tu web. Guárdalo como referencia para seguir la evolución de tu puntuación, compártelo con tu equipo de desarrollo o intégralo en tu pipeline CI/CD.

Comparte tus resultados

Twitter LinkedIn

Incrusta tu badge

Añade este badge a tu sitio. Se actualiza automáticamente cuando cambie tu puntuación.

AgentReady.md score for yeunoithat.com
Script Recomendado
<script src="https://agentready.md/badge.js" data-id="7558afc4-edac-49fa-a0ef-2f50f1ecde44" data-domain="yeunoithat.com"></script>
Markdown
[![AgentReady.md score for yeunoithat.com](https://agentready.md/badge/yeunoithat.com.svg)](https://agentready.md/es/r/7558afc4-edac-49fa-a0ef-2f50f1ecde44)

Próximamente: Análisis de dominio completo

Rastrea todo tu dominio, genera llms.txt y monitoriza tu puntuación de preparación para IA a lo largo del tiempo. Únete a la lista de espera para recibir notificaciones.

¡Estás en la lista! Te avisaremos cuando se lance.