已分析URL

https://polenmadrid.com/en

分析另一个URL

AI-Ready评分

74 / C

一般

/ 100

Token节省量

HTML Token 8251
Markdown Token 109
节省 99%

评分详情

语义化HTML 86/100
内容效率 63/100
AI可发现性 55/100
结构化数据 85/100
可访问性 100/100

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

如何实施

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

您的网站不支持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发现。

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

如何实施

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

您的页面大量依赖<div>元素。<section>、<nav>、<header>、<footer>和<aside>等语义元素为AI代理提供有意义的结构。

如何实施

将通用<div>容器替换为适当的语义元素。对主题分组使用<section>,导航使用<nav>,页面/区块的头部和底部使用<header>/<footer>。

许多元素具有内联样式属性。这些会为提取内容的AI代理增加噪声。

如何实施

将所有内联样式移至样式表中的CSS类。如需大量独特样式,使用Tailwind等实用CSS框架。

Markdown Token: 109
Forecast

## Estimated pollen levels

Estimates for Wednesday, February 18, 2026 based on 5-year historical data and recent trends.

### Current season

Cypress/Yew Very high 2.516 grains/m³ ●●●

**Other main allergens**

Elm Very high 174 grains/m³ ●●●

Ash High 90 grains/m³ ●●●

Poplar Low 7 grains/m³ ●●○

These estimates are indicative and will be automatically updated when official data becomes available.
Pollen levels today — PolenMadrid

[🌼 PolenMadrid](https://polenmadrid.com/en/)

Español English Français Italiano

# Pollen levels in Madrid

Last official data: Monday, February 16, 2026 Last prediction: Wednesday, February 18, 2026

Forecast## Estimated pollen levels

Estimates for Wednesday, February 18, 2026 based on 5-year historical data and recent trends.

### Current season

Cypress/Yew Very high 2.516 grains/m³ ●●●

**Other main allergens**

Elm Very high 174 grains/m³ ●●●

Ash High 90 grains/m³ ●●●

Poplar Low 7 grains/m³ ●●○

These estimates are indicative and will be automatically updated when official data becomes available.

## Current season

These allergens are currently in peak season, an average across all stations:

[Cypress/Yew Very high 2.659 grains/m³](https://polenmadrid.com/en/type/cupresaceas-taxaceas)

**Other main allergens**

[Elm Very high 288 grains/m³](https://polenmadrid.com/en/type/olmos) [Ash Very high 121 grains/m³](https://polenmadrid.com/en/type/fresno) [Mulberry Medium 23 grains/m³](https://polenmadrid.com/en/type/moreras)

Maximum value across all stations from the latest day with official data.

## Detection stations

[

Alcalá de Henares Very high

East

Cypress/Yew 2.659 ↑

Elm 288 ↑

Ash 39 ↑

](https://polenmadrid.com/en/station/alca)[

Alcobendas Medium

North

Ash 32 ↑

Elm 31 ↑

Cypress/Yew 8 ↑

](https://polenmadrid.com/en/station/alco)[

Aranjuez Very high

South

Elm 112 ↑

Cypress/Yew 99 ↑

Nettle 11 ↑

](https://polenmadrid.com/en/station/aran)[

Collado Villalba Very high

Mountains

Ash 121 ↑

Cypress/Yew 2 ↑

Oak 1 ↑

](https://polenmadrid.com/en/station/vill)[

Coslada Very high

East

Cypress/Yew 298 ↑

Elm 79 ↑

Ash 25 ↑

](https://polenmadrid.com/en/station/cosl)[

Getafe Very high

South

Cypress/Yew 303 ↑

Elm 22 ↑

Ash 14 ↑

](https://polenmadrid.com/en/station/geta)[

Las Rozas High

West

Cypress/Yew 156 ↑

Ash 32 ↑

Elm 10 ↑

](https://polenmadrid.com/en/station/roza)[

Leganés Medium

South

Mulberry 23 ↑

Pine 15 ↑

Oak 14 ↑

](https://polenmadrid.com/en/station/lega)[

Madrid-Arganzuela Very high

Capital

Cypress/Yew 1.069 ↑

Elm 162 ↑

Ash 44 ↑

](https://polenmadrid.com/en/station/aytm)[

Madrid-Barrio Salamanca High

Capital

Cypress/Yew 97 ↑

Ash 70 ↑

Elm 41 ↑

](https://polenmadrid.com/en/station/aler)[

Madrid-Ciudad Universitaria Very high

Capital

Cypress/Yew 590 ↑

Elm 111 ↑

Ash 45 ↑

](https://polenmadrid.com/en/station/facf)

↑ up · ↓ down · = no change — compared to previous day

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

我们的建议

下载llms.txt
# PolenMadrid

> Updated information on pollen levels and allergies in the Community of Madrid. Data from the Palynological Network (Red Palinocam).

## Documentation
- [Help](https://polenmadrid.com/en/help)

## Main
- [Pollen levels today — PolenMadrid](https://polenmadrid.com/en): Updated information on pollen levels and allergies in the Community of Madrid. Data from the Palynological Network (Red…
- [About](https://polenmadrid.com/en/about)
- [🌼 PolenMadrid](https://polenmadrid.com/en/)
- [Map](https://polenmadrid.com/en/map)
- [History](https://polenmadrid.com/en/history)
- [Calendar](https://polenmadrid.com/en/calendar)
- [Alerts](https://polenmadrid.com/en/alerts)

## Legal
- [Legal & Privacy](https://polenmadrid.com/en/legal)

## Support
- [Help](https://polenmadrid.com/en/help)

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

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

该网站已有llms.txt文件。

格式有效
# PolenMadrid

> Real-time pollen levels and allergy information for Madrid, Spain. Data from Red Palinocam (Comunidad de Madrid). Updated daily January-June, weekly July-December.

## Main Pages

- [Home — Current Levels](https://polenmadrid.com/): Today's pollen levels across all stations and allergen types
- [Map](https://polenmadrid.com/mapa): Interactive map of 11 monitoring stations
- [Historic Data](https://polenmadrid.com/historico): Historical pollen data from 1993 to present
- [Health Guide](https://polenmadrid.com/salud): Allergy health information and recommendations
- [FAQ](https://polenmadrid.com/ayuda/faq): Frequently asked questions about pollen and allergies
- [Pollen Calendar](https://polenmadrid.com/calendario): Annual pollination calendar for Madrid

## API

- [API Documentation](https://polenmadrid.com/ayuda/api): REST API endpoints for pollen data (JSON)

## Data

- Source: Red Palinocam (Comunidad de Madrid)
- License: CC-BY 4.0
- Coverage: 11 stations, 27 pollen types, 1993-present
- Format: CSV/JSON via API

语义化HTML

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

Has <main>

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

Clean heading hierarchy

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

8 semantic elements, 88 divs (ratio: 8%)

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

No images found

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

Avg div depth: 1.6, max: 3

内容效率

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

99% token reduction (HTML→Markdown)

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

Content ratio: 1.5% (415 content chars / 28330 HTML bytes)

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

11/461 elements with inline styles (2.4%)

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

HTML size: 28KB

AI可发现性

有llms.txt文件 (100/100)

llms.txt exists and is valid

有robots.txt文件 (100/100)

robots.txt exists

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

All major AI bots allowed

有sitemap.xml (100/100)

Sitemap found

Markdown for Agents支持 (0/100)
&#10007; Accept: text/markdown &#10007; .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 (50/100)

JSON-LD found but basic types: WebSite, GovernmentService, SpecialAnnouncement

有Open Graph标签 (100/100)

All OG tags present

有meta描述 (100/100)

Meta description: 131 chars

有规范URL (100/100)

Canonical URL present

有lang属性 (100/100)

lang="en"

可访问性

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

Content available without JavaScript

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

Page size: 28KB

内容在HTML中位置靠前 (100/100)

Main content starts at 18% of HTML

{
  "url": "https://polenmadrid.com/en",
  "timestamp": 1771448216014,
  "fetch": {
    "mode": "simple",
    "timeMs": 158,
    "htmlSizeBytes": 28330,
    "supportsMarkdown": false,
    "markdownAgents": {
      "contentNegotiation": false,
      "mdUrl": {
        "found": false,
        "url": null
      },
      "linkTag": {
        "found": false,
        "url": null
      },
      "linkHeader": {
        "found": false,
        "url": null
      },
      "responseHeaders": {
        "contentSignal": null,
        "xMarkdownTokens": null,
        "vary": null
      },
      "frontmatter": {
        "present": false,
        "fields": [],
        "level": "none"
      },
      "level": "none"
    },
    "statusCode": 200
  },
  "extraction": {
    "title": "Pollen levels today — PolenMadrid",
    "excerpt": "Updated information on pollen levels and allergies in the Community of Madrid. Data from the Palynological Network (Red Palinocam).",
    "byline": null,
    "siteName": "PolenMadrid",
    "lang": "en",
    "contentLength": 415,
    "metadata": {
      "description": "Updated information on pollen levels and allergies in the Community of Madrid. Data from the Palynological Network (Red Palinocam).",
      "ogTitle": "Pollen levels today — PolenMadrid",
      "ogDescription": "Updated information on pollen levels and allergies in the Community of Madrid. Data from the Palynological Network (Red Palinocam).",
      "ogImage": "https://polenmadrid.com/assets/img/og-image.png",
      "ogType": "website",
      "canonical": "https://polenmadrid.com/en",
      "lang": "en",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "WebSite",
          "name": "PolenMadrid",
          "url": "https://polenmadrid.com/",
          "description": "Updated information on pollen levels and allergies in the Community of Madrid. Data from the Palynological Network (Red Palinocam).",
          "inLanguage": [
            "es",
            "en",
            "fr",
            "it"
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "GovernmentService",
          "name": "Red Palinocam — Monitorización de polen",
          "serviceType": "Pollen monitoring",
          "provider": {
            "@type": "GovernmentOrganization",
            "name": "Comunidad de Madrid"
          },
          "areaServed": {
            "@type": "AdministrativeArea",
            "name": "Comunidad de Madrid, España"
          },
          "url": "https://polenmadrid.com/"
        },
        {
          "@context": "https://schema.org",
          "@type": "SpecialAnnouncement",
          "name": "Alerta de niveles altos de polen en Madrid",
          "text": "Se han detectado niveles muy altos de polen en la Comunidad de Madrid.",
          "datePosted": "2026-02-16",
          "spatialCoverage": {
            "@type": "AdministrativeArea",
            "name": "Comunidad de Madrid, España"
          },
          "category": "https://www.wikidata.org/wiki/Q188553"
        }
      ],
      "robotsMeta": null,
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "Forecast\n\n## Estimated pollen levels\n\nEstimates for Wednesday, February 18, 2026 based on 5-year historical data and recent trends.\n\n### Current season\n\nCypress/Yew Very high 2.516 grains/m³ ●●●\n\n**Other main allergens**\n\nElm Very high 174 grains/m³ ●●●\n\nAsh High 90 grains/m³ ●●●\n\nPoplar Low 7 grains/m³ ●●○\n\nThese estimates are indicative and will be automatically updated when official data becomes available.\n",
  "fullPageMarkdown": "Pollen levels today — PolenMadrid\n\n[🌼 PolenMadrid](https://polenmadrid.com/en/)\n\nEspañol English Français Italiano\n\n# Pollen levels in Madrid\n\nLast official data: Monday, February 16, 2026 Last prediction: Wednesday, February 18, 2026\n\nForecast## Estimated pollen levels\n\nEstimates for Wednesday, February 18, 2026 based on 5-year historical data and recent trends.\n\n### Current season\n\nCypress/Yew Very high 2.516 grains/m³ ●●●\n\n**Other main allergens**\n\nElm Very high 174 grains/m³ ●●●\n\nAsh High 90 grains/m³ ●●●\n\nPoplar Low 7 grains/m³ ●●○\n\nThese estimates are indicative and will be automatically updated when official data becomes available.\n\n## Current season\n\nThese allergens are currently in peak season, an average across all stations:\n\n[Cypress/Yew Very high 2.659 grains/m³](https://polenmadrid.com/en/type/cupresaceas-taxaceas)\n\n**Other main allergens**\n\n[Elm Very high 288 grains/m³](https://polenmadrid.com/en/type/olmos) [Ash Very high 121 grains/m³](https://polenmadrid.com/en/type/fresno) [Mulberry Medium 23 grains/m³](https://polenmadrid.com/en/type/moreras)\n\nMaximum value across all stations from the latest day with official data.\n\n## Detection stations\n\n[\n\nAlcalá de Henares Very high\n\nEast\n\nCypress/Yew 2.659 ↑\n\nElm 288 ↑\n\nAsh 39 ↑\n\n](https://polenmadrid.com/en/station/alca)[\n\nAlcobendas Medium\n\nNorth\n\nAsh 32 ↑\n\nElm 31 ↑\n\nCypress/Yew 8 ↑\n\n](https://polenmadrid.com/en/station/alco)[\n\nAranjuez Very high\n\nSouth\n\nElm 112 ↑\n\nCypress/Yew 99 ↑\n\nNettle 11 ↑\n\n](https://polenmadrid.com/en/station/aran)[\n\nCollado Villalba Very high\n\nMountains\n\nAsh 121 ↑\n\nCypress/Yew 2 ↑\n\nOak 1 ↑\n\n](https://polenmadrid.com/en/station/vill)[\n\nCoslada Very high\n\nEast\n\nCypress/Yew 298 ↑\n\nElm 79 ↑\n\nAsh 25 ↑\n\n](https://polenmadrid.com/en/station/cosl)[\n\nGetafe Very high\n\nSouth\n\nCypress/Yew 303 ↑\n\nElm 22 ↑\n\nAsh 14 ↑\n\n](https://polenmadrid.com/en/station/geta)[\n\nLas Rozas High\n\nWest\n\nCypress/Yew 156 ↑\n\nAsh 32 ↑\n\nElm 10 ↑\n\n](https://polenmadrid.com/en/station/roza)[\n\nLeganés Medium\n\nSouth\n\nMulberry 23 ↑\n\nPine 15 ↑\n\nOak 14 ↑\n\n](https://polenmadrid.com/en/station/lega)[\n\nMadrid-Arganzuela Very high\n\nCapital\n\nCypress/Yew 1.069 ↑\n\nElm 162 ↑\n\nAsh 44 ↑\n\n](https://polenmadrid.com/en/station/aytm)[\n\nMadrid-Barrio Salamanca High\n\nCapital\n\nCypress/Yew 97 ↑\n\nAsh 70 ↑\n\nElm 41 ↑\n\n](https://polenmadrid.com/en/station/aler)[\n\nMadrid-Ciudad Universitaria Very high\n\nCapital\n\nCypress/Yew 590 ↑\n\nElm 111 ↑\n\nAsh 45 ↑\n\n](https://polenmadrid.com/en/station/facf)\n\n↑ up · ↓ down · = no change — compared to previous day\n",
  "markdownStats": {
    "images": 0,
    "links": 0,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 2
  },
  "tokens": {
    "htmlTokens": 8251,
    "markdownTokens": 109,
    "reduction": 8142,
    "reductionPercent": 99
  },
  "score": {
    "score": 74,
    "grade": "C",
    "dimensions": {
      "semanticHtml": {
        "score": 86,
        "weight": 20,
        "grade": "B",
        "checks": {
          "uses_article_or_main": {
            "score": 100,
            "weight": 20,
            "details": "Has <main>"
          },
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 25,
            "details": "Clean heading hierarchy"
          },
          "semantic_elements": {
            "score": 28,
            "weight": 20,
            "details": "8 semantic elements, 88 divs (ratio: 8%)"
          },
          "meaningful_alt_texts": {
            "score": 100,
            "weight": 15,
            "details": "No images found"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "Avg div depth: 1.6, max: 3"
          }
        }
      },
      "contentEfficiency": {
        "score": 63,
        "weight": 25,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "99% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 0,
            "weight": 30,
            "details": "Content ratio: 1.5% (415 content chars / 28330 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 50,
            "weight": 15,
            "details": "11/461 elements with inline styles (2.4%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 28KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 55,
        "weight": 25,
        "grade": "D",
        "checks": {
          "has_llms_txt": {
            "score": 100,
            "weight": 20,
            "details": "llms.txt exists and is valid"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 100,
            "weight": 10,
            "details": "Sitemap found"
          },
          "supports_markdown_negotiation": {
            "score": 0,
            "weight": 25,
            "details": "No Markdown for Agents support detected"
          },
          "has_content_signals": {
            "score": 0,
            "weight": 20,
            "details": "No Content-Signal found (robots.txt or HTTP headers)"
          }
        }
      },
      "structuredData": {
        "score": 85,
        "weight": 15,
        "grade": "B",
        "checks": {
          "has_schema_org": {
            "score": 50,
            "weight": 30,
            "details": "JSON-LD found but basic types: WebSite, GovernmentService, SpecialAnnouncement"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 25,
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "details": "Meta description: 131 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "details": "Canonical URL present"
          },
          "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: 28KB"
          },
          "fast_content_position": {
            "score": 100,
            "weight": 30,
            "details": "Main content starts at 18% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "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: 1.5% (415 content chars / 28330 HTML bytes)"
    },
    {
      "id": "add_markdown_negotiation",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_markdown_negotiation.title",
      "descriptionKey": "rec.add_markdown_negotiation.description",
      "howToKey": "rec.add_markdown_negotiation.howto",
      "effort": "significant",
      "estimatedImpact": 6,
      "checkScore": 0,
      "checkDetails": "No Markdown for Agents support detected"
    },
    {
      "id": "add_content_signals",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_content_signals.title",
      "descriptionKey": "rec.add_content_signals.description",
      "howToKey": "rec.add_content_signals.howto",
      "effort": "quick-win",
      "estimatedImpact": 5,
      "checkScore": 0,
      "checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
    },
    {
      "id": "add_semantic_elements",
      "priority": "high",
      "category": "semanticHtml",
      "titleKey": "rec.add_semantic_elements.title",
      "descriptionKey": "rec.add_semantic_elements.description",
      "howToKey": "rec.add_semantic_elements.howto",
      "effort": "moderate",
      "estimatedImpact": 5,
      "checkScore": 28,
      "checkDetails": "8 semantic elements, 88 divs (ratio: 8%)"
    },
    {
      "id": "remove_inline_styles",
      "priority": "medium",
      "category": "contentEfficiency",
      "titleKey": "rec.remove_inline_styles.title",
      "descriptionKey": "rec.remove_inline_styles.description",
      "howToKey": "rec.remove_inline_styles.howto",
      "effort": "moderate",
      "estimatedImpact": 3,
      "checkScore": 50,
      "checkDetails": "11/461 elements with inline styles (2.4%)"
    }
  ],
  "llmsTxtPreview": "# PolenMadrid\n\n> Updated information on pollen levels and allergies in the Community of Madrid. Data from the Palynological Network (Red Palinocam).\n\n## Documentation\n- [Help](https://polenmadrid.com/en/help)\n\n## Main\n- [Pollen levels today — PolenMadrid](https://polenmadrid.com/en): Updated information on pollen levels and allergies in the Community of Madrid. Data from the Palynological Network (Red…\n- [About](https://polenmadrid.com/en/about)\n- [🌼 PolenMadrid](https://polenmadrid.com/en/)\n- [Map](https://polenmadrid.com/en/map)\n- [History](https://polenmadrid.com/en/history)\n- [Calendar](https://polenmadrid.com/en/calendar)\n- [Alerts](https://polenmadrid.com/en/alerts)\n\n## Legal\n- [Legal & Privacy](https://polenmadrid.com/en/legal)\n\n## Support\n- [Help](https://polenmadrid.com/en/help)\n\n",
  "llmsTxtExisting": "# PolenMadrid\n\n> Real-time pollen levels and allergy information for Madrid, Spain. Data from Red Palinocam (Comunidad de Madrid). Updated daily January-June, weekly July-December.\n\n## Main Pages\n\n- [Home — Current Levels](https://polenmadrid.com/): Today's pollen levels across all stations and allergen types\n- [Map](https://polenmadrid.com/mapa): Interactive map of 11 monitoring stations\n- [Historic Data](https://polenmadrid.com/historico): Historical pollen data from 1993 to present\n- [Health Guide](https://polenmadrid.com/salud): Allergy health information and recommendations\n- [FAQ](https://polenmadrid.com/ayuda/faq): Frequently asked questions about pollen and allergies\n- [Pollen Calendar](https://polenmadrid.com/calendario): Annual pollination calendar for Madrid\n\n## API\n\n- [API Documentation](https://polenmadrid.com/ayuda/api): REST API endpoints for pollen data (JSON)\n\n## Data\n\n- Source: Red Palinocam (Comunidad de Madrid)\n- License: CC-BY 4.0\n- Coverage: 11 stations, 27 pollen types, 1993-present\n- Format: CSV/JSON via API",
  "snippets": [
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The recommended location is robots.txt, but you can also add it as an HTTP header.",
      "language": "txt",
      "code": "# robots.txt (recommended, canonical location):\nUser-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no\n\n# Nginx — add to server block (optional, for HTTP header):\n# add_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;\n\n# Apache — add to .htaccess (optional, for HTTP header):\n# Header set Content-Signal \"search=yes, ai-input=yes, ai-train=no\"",
      "filename": "/robots.txt"
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Implement one or more of the 4 Markdown for Agents mechanisms to let AI agents request content in markdown format.",
      "language": "html",
      "code": "<!-- 1. Content negotiation: respond to Accept: text/markdown -->\n<!-- In your server/framework, check the Accept header and return markdown -->\n<!-- with Content-Type: text/markdown -->\n\n<!-- 2. Serve .md URLs (e.g., /about.md alongside /about) -->\n<!-- Generate static .md files or handle .md routes in your app -->\n\n<!-- 3. Add <link> tag in your HTML <head>: -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">\n\n<!-- 4. Add Link HTTP header on HTML responses: -->\n<!-- Link: </page.md>; rel=\"alternate\"; type=\"text/markdown\" -->\n\n<!-- Best practice: include Vary: Accept and X-Markdown-Tokens headers -->\n<!-- on markdown responses -->",
      "filename": "<head> + server config"
    }
  ]
}

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

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

分享您的结果

Twitter LinkedIn

即将推出:全域分析

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

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