已验证的 AgentReady.md 证书
签发于 sig: aada952106a9f120 验证 →

已分析URL

https://yeunoithat.com/

分析另一个URL

AI-Ready评分

70 / C

一般

/ 100

Token节省量

HTML Token 11.388
Markdown Token 29
节省 100%

评分详情

语义化HTML 93/100
内容效率 70/100
AI可发现性 31/100
结构化数据 77/100
可访问性 100/100

新兴协议

已检测到 0/3

AI代理查找的well-known端点。检测到意味着代理可以自动发现并连接到您的服务。

  • 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

您的网站没有llms.txt文件。这是帮助AI代理理解网站结构的新兴标准。

如何实施

按照llmstxt.org规范创建/llms.txt文件。包含网站描述和关键页面的链接。

您的页面实际内容与总HTML的比率较低。页面重量的大部分是标记、脚本或样式而非内容。

如何实施

将CSS移至外部样式表,删除内联样式,最小化JavaScript,确保HTML专注于内容结构。

未找到站点地图。站点地图帮助AI代理发现网站上的所有页面。

如何实施

创建列出所有公开页面的/sitemap.xml。大多数CMS平台可以自动生成。

未找到Content-Signal指令。这些指令告知AI代理如何使用您的内容(搜索索引、AI输入、训练数据)。推荐位置是robots.txt。

如何实施

将Content-Signal添加到您的robots.txt:User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no。也可以作为markdown响应的HTTP标头添加。

{\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});"}] }'>

您的网站不支持Markdown for Agents。此Cloudflare标准允许AI代理以markdown格式请求内容,减少约80%的令牌使用。

如何实施

实现以下一项或多项:(1) 使用markdown内容响应Accept: text/markdown。(2) 提供.md URL(例如/page.md)。(3) 添加<link rel="alternate" type="text/markdown">标签。(4) 添加Link HTTP标头用于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# "}] }'>

未找到规范URL。它帮助AI代理识别页面的首选版本并避免重复内容。

如何实施

添加指向页面规范URL的<link rel="canonical" href="...">标签。

您的标题结构存在问题(跳级或多个h1标签)。清晰的层级帮助AI代理理解内容组织。

如何实施

确保每页只有一个<h1>,标题按顺序排列:h1 > h2 > h3。不要跳级(例如从h1直接到h3)。

Open Graph标签缺失或不完整。OG标签帮助AI代理(和社交平台)理解页面的标题、描述和图片。

如何实施

在页面<head>中添加og:title、og:description和og:image meta标签。

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};"}] }'>
Markdown Token: 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/)

将此文件上传到服务器的/index.md,以便AI代理可以访问页面的干净版本。您也可以配置Accept: text/markdown内容协商以自动提供。

为此单页生成的llms.txt

下载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ế.

完整llms.txt需要全域分析(即将推出)

将此文件上传到域名根目录的https://yeunoithat.com/llms.txt。ChatGPT、Claude和Perplexity等AI代理会检查此文件以了解您的网站结构。

语义化HTML

使用article或main元素 (100/100)

Has both <article> and <main>

正确的标题层级 (70/100)

no <h1>

使用语义化HTML元素 (100/100)

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

有意义的图片alt属性 (100/100)

21/21 images with meaningful alt text

较低的div嵌套深度 (100/100)

Avg div depth: 1.5, max: 2

内容效率

良好的Token减少比率 (100/100)

100% token reduction (HTML→Markdown)

良好的内容与噪声比 (0/100)

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

最少的内联样式 (100/100)

0/210 elements with inline styles (0.0%)

合理的页面重量 (100/100)

HTML size: 32KB

AI可发现性

有llms.txt文件 (0/100)

No llms.txt found

有robots.txt文件 (100/100)

robots.txt exists

robots.txt允许AI机器人 (100/100)

All major AI bots allowed

有sitemap.xml (0/100)

No sitemap found

Markdown for Agents支持 (25/100) Application
&#10007; Accept: text/markdown &#10003; .md URL &#10007; <link> tag &#10007; Link header
有Content-Signal(robots.txt或HTTP标头) (0/100)
&#10003; robots.txt &#10003; HTTP header &#10007; Policy

结构化数据

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

JSON-LD found: WebPage, Organization, BreadcrumbList

有Open Graph标签 (67/100)

2/3 OG tags present

有meta描述 (100/100)

Meta description: 66 chars

有规范URL (0/100)

No canonical URL

有lang属性 (100/100)

lang="en"

可访问性

无需JavaScript即可获取内容 (100/100)

Content available without JavaScript

合理的页面大小 (100/100)

Page size: 32KB

内容在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\">"
        }
      ]
    }
  ]
}

使用我们的API以编程方式获取此内容(即将推出)

此JSON供内部使用 — 与Markdown和llms.txt文件不同,它不适合上传到您的网站。将其保存为基准值以跟踪评分变化,与开发团队共享,或集成到CI/CD流水线中。

分享您的结果

Twitter LinkedIn

嵌入您的徽章

将此徽章添加到您的网站。当您的 AI 就绪评分发生变化时,它会自动更新。

AgentReady.md score for yeunoithat.com
Script 推荐
<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/zh/r/7558afc4-edac-49fa-a0ef-2f50f1ecde44)

即将推出:全域分析

爬取您的整个域名,生成llms.txt,并随时间监控您的AI就绪度评分。加入等候名单以获取通知。

您已加入名单!服务上线时我们会通知您。