Analyzed URL
https://polenmadrid.com/
AI-Ready Score
Fair
out of 100
Token Savings
Score Breakdown
Your page has a low ratio of actual content to total HTML. Much of the page weight is markup, scripts, or styles rather than content.
How to implement
Move CSS to external stylesheets, remove inline styles, minimize JavaScript, and ensure the HTML focuses on content structure.
Your site doesn't support Markdown for Agents. This Cloudflare standard lets AI agents request content in markdown format, reducing token usage by ~80%.
How to implement
Implement one or more: (1) Respond to Accept: text/markdown with markdown content. (2) Serve .md URLs (e.g., /page.md). (3) Add <link rel="alternate" type="text/markdown"> tags. (4) Add Link HTTP headers for markdown discovery.
No Content-Signal directives found. These tell AI agents how they may use your content (search indexing, AI input, training data). The recommended location is robots.txt.
How to implement
Add Content-Signal to your robots.txt: User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no. You can also add it as an HTTP header on markdown responses.
Your page relies heavily on <div> elements. Semantic elements like <section>, <nav>, <header>, <footer>, and <aside> provide meaningful structure for AI agents.
How to implement
Replace generic <div> containers with appropriate semantic elements. Use <section> for thematic groups, <nav> for navigation, <header>/<footer> for page/section headers and footers.
Many elements have inline style attributes. These add noise for AI agents extracting content.
How to implement
Move all inline styles to CSS classes in your stylesheet. Use utility CSS frameworks like Tailwind if you need many unique styles.
Predicción ## Estimación de niveles de polen Estimaciones para el Sábado, 28 de marzo de 2026 basadas en datos históricos de los últimos 5 años y tendencia reciente. ### Temporada actual Cupresáceas/Taxáceas Bajo 26 granos/m³ ●●○ Plátano de paseo Muy alto 1.627 granos/m³ ●●● **Otros alérgenos principales** Moreras Muy alto 2.026 granos/m³ ●●● Pinos Muy alto 117 granos/m³ ●●● Populus Alto 78 granos/m³ ●●● Estas estimaciones son orientativas y se actualizarán automáticamente cuando lleguen los datos oficiales.
Niveles de polen hoy en Madrid — PolenMadrid [🌼 PolenMadrid](https://polenmadrid.com/) Español English Français Italiano # Niveles de polen en Madrid Último dato oficial: Jueves, 26 de marzo de 2026 Última estimación: Sábado, 28 de marzo de 2026 Predicción## Estimación de niveles de polen Estimaciones para el Sábado, 28 de marzo de 2026 basadas en datos históricos de los últimos 5 años y tendencia reciente. ### Temporada actual Cupresáceas/Taxáceas Bajo 26 granos/m³ ●●○ Plátano de paseo Muy alto 1.627 granos/m³ ●●● **Otros alérgenos principales** Moreras Muy alto 2.026 granos/m³ ●●● Pinos Muy alto 117 granos/m³ ●●● Populus Alto 78 granos/m³ ●●● Estas estimaciones son orientativas y se actualizarán automáticamente cuando lleguen los datos oficiales. ## Temporada actual Estos alérgenos están en temporada alta ahora mismo, una media de todas las estaciones: [Plátano de paseo Muy alto 1.132 granos/m³](https://polenmadrid.com/tipo/platano-de-paseo) [Cupresáceas/Taxáceas Bajo 17 granos/m³](https://polenmadrid.com/tipo/cupresaceas-taxaceas) **Otros alérgenos principales** [Moreras Muy alto 270 granos/m³](https://polenmadrid.com/tipo/moreras) [Pinos Muy alto 177 granos/m³](https://polenmadrid.com/tipo/pinos) [Populus Muy alto 121 granos/m³](https://polenmadrid.com/tipo/populus) Valor máximo entre todas las estaciones del último día con datos oficiales. ## Estaciones de detección [ Alcalá de Henares Muy alto Este Plátano de paseo 975 ↑ Moreras 270 ↑ Populus 78 ↑ ](https://polenmadrid.com/estacion/alcala-de-henares)[ Alcobendas Muy alto Norte Plátano de paseo 393 ↑ Populus 121 ↑ Moreras 67 ↑ ](https://polenmadrid.com/estacion/alcobendas)[ Aranjuez Alto Sur Plátano de paseo 266 ↑ Moreras 61 ↑ Pinos 31 ↑ ](https://polenmadrid.com/estacion/aranjuez)[ Collado Villalba Medio Sierra Populus 30 ↑ Cupresáceas/Taxáceas 12 ↑ Sauces 9 ↑ ](https://polenmadrid.com/estacion/collado-villalba)[ Coslada Muy alto Este Plátano de paseo 646 ↑ Moreras 195 ↑ Pinos 61 ↑ ](https://polenmadrid.com/estacion/coslada)[ Getafe Muy alto Sur Plátano de paseo 833 ↑ Moreras 91 ↑ Pinos 38 ↑ ](https://polenmadrid.com/estacion/getafe)[ Las Rozas Medio Oeste Populus 36 ↑ Moreras 7 ↑ Plátano de paseo 5 ↑ ](https://polenmadrid.com/estacion/las-rozas)[ Leganés Medio Sur Moreras 23 ↑ Pinos 15 ↑ Quercus 14 ↑ ](https://polenmadrid.com/estacion/leganes)[ Madrid-Arganzuela Muy alto Capital Plátano de paseo 1.014 ↑ Pinos 177 ↑ Moreras 143 ↑ ](https://polenmadrid.com/estacion/madrid-arganzuela)[ Madrid-Barrio Salamanca Muy alto Capital Plátano de paseo 700 ↑ Populus 100 ↑ Moreras 55 ↑ ](https://polenmadrid.com/estacion/madrid-barrio-salamanca)[ Madrid-Ciudad Universitaria Muy alto Capital Plátano de paseo 1.132 ↑ Moreras 81 ↑ Otros 37 ↑ ](https://polenmadrid.com/estacion/madrid-ciudad-universitaria) ↑ sube · ↓ baja · = sin cambios — respecto al día anterior Usamos cookies analíticas para mejorar tu experiencia. Sin tu consentimiento, las estadísticas se recopilan de forma anónima sin cookies. [Más información](https://polenmadrid.com/legal#cookies). Aceptar cookies Rechazar Gestionar **Esenciales** Necesarias para el funcionamiento del sitio (sesión, seguridad). Siempre activas **Analíticas** Nos ayudan a entender cómo se usa el sitio para mejorarlo. **Publicidad** Permiten mostrar anuncios relevantes. Guardar preferencias
Upload this file as /index.md on your server so AI agents can access a clean version of your page. You can also configure Accept: text/markdown content negotiation to serve it automatically.
Our recommendation
# PolenMadrid > Consulta los niveles de polen en Madrid hoy. Datos actualizados de 11 estaciones de la Red Palinocam: gramíneas, olivo, plátano, cupresáceas y 23 tipos más. ## Main - [Niveles de polen hoy en Madrid — PolenMadrid](https://polenmadrid.com/): Consulta los niveles de polen en Madrid hoy. Datos actualizados de 11 estaciones de la Red Palinocam: gramíneas, olivo,… - [Mapa](https://polenmadrid.com/mapa) - [Histórico](https://polenmadrid.com/historico) - [Calendario](https://polenmadrid.com/calendario) - [Alertas](https://polenmadrid.com/alertas) - [Acerca de](https://polenmadrid.com/acerca) - [Ayuda](https://polenmadrid.com/ayuda) ## Legal - [Aviso legal y privacidad](https://polenmadrid.com/legal)
Full llms.txt requires domain-wide analysis (coming soon)
Upload this file to https://polenmadrid.com/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.
This site already has a llms.txt file.
Valid format# 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
Semantic HTML
Has <main>
Clean heading hierarchy
8 semantic elements, 100 divs (ratio: 7%)
No images found
Avg div depth: 1.8, max: 4
Content Efficiency
98% token reduction (HTML→Markdown)
Content ratio: 1.4% (528 content chars / 37738 HTML bytes)
11/503 elements with inline styles (2.2%)
HTML size: 37KB
AI Discoverability
llms.txt exists and is valid
robots.txt exists
All major AI bots allowed
Sitemap found
Structured Data
JSON-LD found but basic types: WebSite, GovernmentService, SpecialAnnouncement
All OG tags present
Meta description: 156 chars
Canonical URL present
lang="es"
Accessibility
Content available without JavaScript
Page size: 37KB
Main content starts at 15% of HTML
{
"url": "https://polenmadrid.com/",
"timestamp": 1774709002425,
"fetch": {
"mode": "simple",
"timeMs": 181,
"htmlSizeBytes": 37738,
"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": "Niveles de polen hoy en Madrid — PolenMadrid",
"excerpt": "Consulta los niveles de polen en Madrid hoy. Datos actualizados de 11 estaciones de la Red Palinocam: gramíneas, olivo, plátano, cupresáceas y 23 tipos más.",
"byline": null,
"siteName": "PolenMadrid",
"lang": "es",
"contentLength": 528,
"metadata": {
"description": "Consulta los niveles de polen en Madrid hoy. Datos actualizados de 11 estaciones de la Red Palinocam: gramíneas, olivo, plátano, cupresáceas y 23 tipos más.",
"ogTitle": "Niveles de polen hoy en Madrid — PolenMadrid",
"ogDescription": "Consulta los niveles de polen en Madrid hoy. Datos actualizados de 11 estaciones de la Red Palinocam: gramíneas, olivo, plátano, cupresáceas y 23 tipos más.",
"ogImage": "https://polenmadrid.com/assets/img/og-image.png",
"ogType": "website",
"canonical": "https://polenmadrid.com/",
"lang": "es",
"schemas": [
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "PolenMadrid",
"url": "https://polenmadrid.com/",
"description": "Información actualizada sobre niveles de polen y alergias en la Comunidad de Madrid. Datos de la Red Palinológica (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-03-26",
"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": "Predicción\n\n## Estimación de niveles de polen\n\nEstimaciones para el Sábado, 28 de marzo de 2026 basadas en datos históricos de los últimos 5 años y tendencia reciente.\n\n### Temporada actual\n\nCupresáceas/Taxáceas Bajo 26 granos/m³ ●●○\n\nPlátano de paseo Muy alto 1.627 granos/m³ ●●●\n\n**Otros alérgenos principales**\n\nMoreras Muy alto 2.026 granos/m³ ●●●\n\nPinos Muy alto 117 granos/m³ ●●●\n\nPopulus Alto 78 granos/m³ ●●●\n\nEstas estimaciones son orientativas y se actualizarán automáticamente cuando lleguen los datos oficiales.\n",
"fullPageMarkdown": "Niveles de polen hoy en Madrid — PolenMadrid\n\n[🌼 PolenMadrid](https://polenmadrid.com/)\n\nEspañol English Français Italiano\n\n# Niveles de polen en Madrid\n\nÚltimo dato oficial: Jueves, 26 de marzo de 2026 Última estimación: Sábado, 28 de marzo de 2026\n\nPredicción## Estimación de niveles de polen\n\nEstimaciones para el Sábado, 28 de marzo de 2026 basadas en datos históricos de los últimos 5 años y tendencia reciente.\n\n### Temporada actual\n\nCupresáceas/Taxáceas Bajo 26 granos/m³ ●●○\n\nPlátano de paseo Muy alto 1.627 granos/m³ ●●●\n\n**Otros alérgenos principales**\n\nMoreras Muy alto 2.026 granos/m³ ●●●\n\nPinos Muy alto 117 granos/m³ ●●●\n\nPopulus Alto 78 granos/m³ ●●●\n\nEstas estimaciones son orientativas y se actualizarán automáticamente cuando lleguen los datos oficiales.\n\n## Temporada actual\n\nEstos alérgenos están en temporada alta ahora mismo, una media de todas las estaciones:\n\n[Plátano de paseo Muy alto 1.132 granos/m³](https://polenmadrid.com/tipo/platano-de-paseo) [Cupresáceas/Taxáceas Bajo 17 granos/m³](https://polenmadrid.com/tipo/cupresaceas-taxaceas)\n\n**Otros alérgenos principales**\n\n[Moreras Muy alto 270 granos/m³](https://polenmadrid.com/tipo/moreras) [Pinos Muy alto 177 granos/m³](https://polenmadrid.com/tipo/pinos) [Populus Muy alto 121 granos/m³](https://polenmadrid.com/tipo/populus)\n\nValor máximo entre todas las estaciones del último día con datos oficiales.\n\n## Estaciones de detección\n\n[\n\nAlcalá de Henares Muy alto\n\nEste\n\nPlátano de paseo 975 ↑\n\nMoreras 270 ↑\n\nPopulus 78 ↑\n\n](https://polenmadrid.com/estacion/alcala-de-henares)[\n\nAlcobendas Muy alto\n\nNorte\n\nPlátano de paseo 393 ↑\n\nPopulus 121 ↑\n\nMoreras 67 ↑\n\n](https://polenmadrid.com/estacion/alcobendas)[\n\nAranjuez Alto\n\nSur\n\nPlátano de paseo 266 ↑\n\nMoreras 61 ↑\n\nPinos 31 ↑\n\n](https://polenmadrid.com/estacion/aranjuez)[\n\nCollado Villalba Medio\n\nSierra\n\nPopulus 30 ↑\n\nCupresáceas/Taxáceas 12 ↑\n\nSauces 9 ↑\n\n](https://polenmadrid.com/estacion/collado-villalba)[\n\nCoslada Muy alto\n\nEste\n\nPlátano de paseo 646 ↑\n\nMoreras 195 ↑\n\nPinos 61 ↑\n\n](https://polenmadrid.com/estacion/coslada)[\n\nGetafe Muy alto\n\nSur\n\nPlátano de paseo 833 ↑\n\nMoreras 91 ↑\n\nPinos 38 ↑\n\n](https://polenmadrid.com/estacion/getafe)[\n\nLas Rozas Medio\n\nOeste\n\nPopulus 36 ↑\n\nMoreras 7 ↑\n\nPlátano de paseo 5 ↑\n\n](https://polenmadrid.com/estacion/las-rozas)[\n\nLeganés Medio\n\nSur\n\nMoreras 23 ↑\n\nPinos 15 ↑\n\nQuercus 14 ↑\n\n](https://polenmadrid.com/estacion/leganes)[\n\nMadrid-Arganzuela Muy alto\n\nCapital\n\nPlátano de paseo 1.014 ↑\n\nPinos 177 ↑\n\nMoreras 143 ↑\n\n](https://polenmadrid.com/estacion/madrid-arganzuela)[\n\nMadrid-Barrio Salamanca Muy alto\n\nCapital\n\nPlátano de paseo 700 ↑\n\nPopulus 100 ↑\n\nMoreras 55 ↑\n\n](https://polenmadrid.com/estacion/madrid-barrio-salamanca)[\n\nMadrid-Ciudad Universitaria Muy alto\n\nCapital\n\nPlátano de paseo 1.132 ↑\n\nMoreras 81 ↑\n\nOtros 37 ↑\n\n](https://polenmadrid.com/estacion/madrid-ciudad-universitaria)\n\n↑ sube · ↓ baja · = sin cambios — respecto al día anterior\n\nUsamos cookies analíticas para mejorar tu experiencia. Sin tu consentimiento, las estadísticas se recopilan de forma anónima sin cookies. [Más información](https://polenmadrid.com/legal#cookies).\n\nAceptar cookies Rechazar Gestionar\n\n**Esenciales** Necesarias para el funcionamiento del sitio (sesión, seguridad).\n\nSiempre activas\n\n**Analíticas** Nos ayudan a entender cómo se usa el sitio para mejorarlo.\n\n**Publicidad** Permiten mostrar anuncios relevantes.\n\nGuardar preferencias\n",
"markdownStats": {
"images": 0,
"links": 0,
"tables": 0,
"codeBlocks": 0,
"headings": 2
},
"tokens": {
"htmlTokens": 10638,
"markdownTokens": 177,
"reduction": 10461,
"reductionPercent": 98
},
"score": {
"score": 74,
"grade": "C",
"dimensions": {
"semanticHtml": {
"score": 85,
"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": 25,
"weight": 20,
"details": "8 semantic elements, 100 divs (ratio: 7%)"
},
"meaningful_alt_texts": {
"score": 100,
"weight": 15,
"details": "No images found"
},
"low_div_nesting": {
"score": 100,
"weight": 20,
"details": "Avg div depth: 1.8, max: 4"
}
}
},
"contentEfficiency": {
"score": 63,
"weight": 25,
"grade": "C",
"checks": {
"token_reduction_ratio": {
"score": 100,
"weight": 40,
"details": "98% token reduction (HTML→Markdown)"
},
"content_to_noise_ratio": {
"score": 0,
"weight": 30,
"details": "Content ratio: 1.4% (528 content chars / 37738 HTML bytes)"
},
"minimal_inline_styles": {
"score": 50,
"weight": 15,
"details": "11/503 elements with inline styles (2.2%)"
},
"reasonable_page_weight": {
"score": 100,
"weight": 15,
"details": "HTML size: 37KB"
}
}
},
"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: 156 chars"
},
"has_canonical_url": {
"score": 100,
"weight": 15,
"details": "Canonical URL present"
},
"has_lang_attribute": {
"score": 100,
"weight": 10,
"details": "lang=\"es\""
}
}
},
"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: 37KB"
},
"fast_content_position": {
"score": 100,
"weight": 30,
"details": "Main content starts at 15% 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.4% (528 content chars / 37738 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": 25,
"checkDetails": "8 semantic elements, 100 divs (ratio: 7%)"
},
{
"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/503 elements with inline styles (2.2%)"
}
],
"llmsTxtPreview": "# PolenMadrid\n\n> Consulta los niveles de polen en Madrid hoy. Datos actualizados de 11 estaciones de la Red Palinocam: gramíneas, olivo, plátano, cupresáceas y 23 tipos más.\n\n## Main\n- [Niveles de polen hoy en Madrid — PolenMadrid](https://polenmadrid.com/): Consulta los niveles de polen en Madrid hoy. Datos actualizados de 11 estaciones de la Red Palinocam: gramíneas, olivo,…\n- [Mapa](https://polenmadrid.com/mapa)\n- [Histórico](https://polenmadrid.com/historico)\n- [Calendario](https://polenmadrid.com/calendario)\n- [Alertas](https://polenmadrid.com/alertas)\n- [Acerca de](https://polenmadrid.com/acerca)\n- [Ayuda](https://polenmadrid.com/ayuda)\n\n## Legal\n- [Aviso legal y privacidad](https://polenmadrid.com/legal)\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"
}
]
}
Use our API to get this programmatically (coming soon)
This JSON is for internal use — unlike the Markdown and llms.txt files, it's not meant to be uploaded to your site. Save it as a baseline to track your score over time, share it with your dev team, or integrate it into your CI/CD pipeline.
Embed your badge
Add this badge to your site. It updates automatically as your AI-readiness score changes.
<script src="https://agentready.md/badge.js" data-id="c01befe7-b814-40bd-bef0-12f190d9fb05" data-domain="polenmadrid.com"></script>
[](https://agentready.md/r/c01befe7-b814-40bd-bef0-12f190d9fb05)
Coming soon: Full Domain Analysis
Crawl your entire domain, generate llms.txt, and monitor your AI-readiness score over time. Join the waitlist to be notified.