Analyzed URL
https://alcazardesanjuan.es
Measured 2 weeks ago
AI-Ready Score
Fair
out of 100
Token Savings
Score Breakdown
Emerging protocols
0 of 6 detectedWell-known endpoints AI agents look for. Detected here means an agent can discover and connect to your service automatically.
-
OAuth Protected Resource RFC 9728
/.well-known/oauth-protected-resource -
OAuth Discovery RFC 8414
/.well-known/oauth-authorization-server -
MCP Server Card SEP-1649 draft
/.well-known/mcp/server-card.json -
A2A Agent Card A2A v1.0
/.well-known/agent-card.json -
API Catalog RFC 9727
/.well-known/api-catalog -
Agent Skills index Discovery RFC v0.2.0 draft
/.well-known/agent-skills/index.json
Doesn't stay fixed by itself. Monitoring isn't built yet — join the list and we'll tell you when it is.
You're on the list! We'll notify you when it launches.
What we measured Main content starts at 76% of HTML
The main content appears late in the HTML document. AI agents may give more weight to content that appears early.
How to implement
Restructure your HTML so that <main> or <article> content appears before sidebars and supplementary content.
What we measured No Markdown for Agents support detected
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.
What we measured Content ratio: 1.4% (3423 content chars / 236172 HTML bytes)
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.
What we measured 13 semantic elements, 324 divs (ratio: 4%)
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.
What we measured No llms.txt found
Your site doesn't have an llms.txt file. This is the emerging standard for helping AI agents understand your site structure.
How to implement
Create an /llms.txt file following the llmstxt.org specification. Include a site description and links to your key pages.
What we measured No Content-Signal found (robots.txt or HTTP headers)
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.
What we measured no <h1>, 1 heading level skip(s)
Your heading structure has issues (skipped levels or multiple h1 tags). A clean hierarchy helps AI agents understand content organization.
How to implement
Ensure you have exactly one <h1> per page, and headings follow sequential order: h1 > h2 > h3. Don't skip levels (e.g., h1 directly to h3).
What we measured Avg div depth: 16.7, max: 30
Your page has deeply nested <div> elements. Deep nesting adds noise and makes content extraction harder for AI agents.
How to implement
Simplify your HTML structure by removing unnecessary wrapper divs. Use CSS Grid or Flexbox for layout instead of nested container divs.
What we measured 2/3 OG tags present
Missing or incomplete Open Graph tags. OG tags help AI agents (and social platforms) understand your page title, description, and image.
How to implement
Add og:title, og:description, and og:image meta tags to your page's <head>.
What we measured 128/974 elements with inline styles (13.1%)
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.
Block
Horarios de establecimientos
Ferias y Fiestas 2026
[
Información
](https://alcazardesanjuan.es/wp-content/uploads/2026/08/RESOLUCION-DE-HORARIOS-ESTABLECIMIENTOS-FERIAS-Y-FIESTAS-2026.pdf)
[](https://alcazardesanjuan.es/hacienda/)
TRIBUTOS
Pagos Online
[](https://sede.alcazardesanjuan.es/)
SEDE ELECTRONICA
Tramitación 24x7
[](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)
CITA PREVIA
Para trámites municipales
[](https://alcazardesanjuan.es/portal-de-transparencia/)
TRANSPARENCIA
Municipal


Qué busco
- [Pago de tributos](https://alcazardesanjuan.es/economico-financiera/)
- [Compra Entradas Auditorio](https://alcazardesanjuan.es/#)
- [Fiestas locales](https://alcazardesanjuan.es/calendario-de-fiestas/)
- [Callejeros Alcázar](https://alcazardesanjuan.es/callejero/)
- [Ordenanzas Municipales](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_ORDENANZA)
- [Perfil del Contratante](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_PERFIL_CONTRATANTE)
- [Oferta de Empleo Público](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_EMPLEO)
Qué necesito
- [Calendario Verde](https://alcazardesanjuan.es/eventos/categoria/calendario-verde/)
- [Actividades culturales](https://alcazardesanjuan.es/actividades-culturales/)
- [Visitar Alcázar](https://alcazardesanjuan.es/visitar-alcazar/)
- [Información y Teléfonos](https://alcazardesanjuan.es/informacion-y-telefonos/)
- [Farmacias de guardia](https://sescam.jccm.es/misaluddigital/app/inicio)
- [Calendario escolar](https://educacion.castillalamancha.es/calendario-escolar)
- [Eventos en Alcázar](https://alcazardesanjuan.es/eventos/)
Qué quiero
- [Empadronamiento](https://alcazardesanjuan.es/empadronamiento/)
- [Catálogo de trámites y solicitudes](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=CATALOGO)
- [Cita Previa](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)
- [Quejas y sugerencias](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=CATALOGO&DETALLE=6269004324581667399500)
- [Validación y Comprobación de Documentos](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=VALDOCS)
- [Horario de autobuses](https://alcazardesanjuan.es/horario-de-autobuses/)
[](https://sede.alcazardesanjuan.es/)
[](https://alcazardesanjuan.es/deportes/)
[](https://www.youtube.com/@manchacentrotv)
Actualidad Municipal
- [](https://alcazardesanjuan.es/rosa-melchor-anuncia-que-concluira-en-2027-su-etapa-como-alcaldesa-de-alcazar-de-san-juan-tras-mas-de-una-decada-de-crecimiento-y-transformacion-de-la-ciudad/)
## [Rosa Melchor anuncia que concluirá en 2027 su etapa como alcaldesa de Alcázar de San Juan tras más de una década de crecimiento y transformación de la ciudad](https://alcazardesanjuan.es/rosa-melchor-anuncia-que-concluira-en-2027-su-etapa-como-alcaldesa-de-alcazar-de-san-juan-tras-mas-de-una-decada-de-crecimiento-y-transformacion-de-la-ciudad/ "Enlace permanente a Rosa Melchor anuncia que concluirá en 2027 su etapa como alcaldesa de Alcázar de San Juan tras más de una década de crecimiento y transformación de la ciudad")
a alcaldesa de Alcázar de San Juan, Rosa Melchor, ha comunicado este jueves a los vecinos y vecinas de la ciudad que no volverá a presentar su candidatura a la…
04/09/2026
- [](https://alcazardesanjuan.es/alcazar-de-san-juan-da-la-bienvenida-a-su-feria-y-fiestas-2026-con-un-pregon-centrado-en-el-viii-centenario-de-la-parroquia-de-santa-maria-la-mayor/)
## [Alcázar de San Juan da la bienvenida a su Feria y Fiestas 2026 con un pregón centrado en el VIII Centenario de la parroquia de Santa María la Mayor](https://alcazardesanjuan.es/alcazar-de-san-juan-da-la-bienvenida-a-su-feria-y-fiestas-2026-con-un-pregon-centrado-en-el-viii-centenario-de-la-parroquia-de-santa-maria-la-mayor/ "Enlace permanente a Alcázar de San Juan da la bienvenida a su Feria y Fiestas 2026 con un pregón centrado en el VIII Centenario de la parroquia de Santa María la Mayor")
Alcázar de San Juan ya está de Feria. La ciudad ha dado este jueves 3 de septiembre la bienvenida oficial a su Feria y Fiestas 2026 con la celebración del…
04/09/2026
- [](https://alcazardesanjuan.es/santa-quiteria-reune-a-mas-de-100-ninos-en-la-xxiv-edicion-del-concurso-de-dibujo-infantil-asi-vemos-a-la-virgen-y-el-concurso-infantil-de-literatura-te-pedimos-y-queremos-m/)
## [Santa Quiteria reúne a más de 100 niños en la XXIV edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y el Concurso Infantil de Literatura “Te pedimos y queremos María”](https://alcazardesanjuan.es/santa-quiteria-reune-a-mas-de-100-ninos-en-la-xxiv-edicion-del-concurso-de-dibujo-infantil-asi-vemos-a-la-virgen-y-el-concurso-infantil-de-literatura-te-pedimos-y-queremos-m/ "Enlace permanente a Santa Quiteria reúne a más de 100 niños en la XXIV edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y el Concurso Infantil de Literatura “Te pedimos y queremos María”")
La iglesia de Santa Quiteria ha sido escenario esta mañana de la vigésimo cuarta edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y Concurso Literario Infantil “Te…
03/09/2026
- [](https://alcazardesanjuan.es/cruz-roja-inaugura-su-tombola-solidaria-en-el-recinto-ferial-para-impulsar-sus-proyectos-de-apoyo-social/)
## [Cruz Roja inaugura su Tómbola Solidaria en el Recinto Ferial para impulsar sus proyectos de apoyo social](https://alcazardesanjuan.es/cruz-roja-inaugura-su-tombola-solidaria-en-el-recinto-ferial-para-impulsar-sus-proyectos-de-apoyo-social/ "Enlace permanente a Cruz Roja inaugura su Tómbola Solidaria en el Recinto Ferial para impulsar sus proyectos de apoyo social")
Con la llegada de la Feria y Fiestas de Alcázar de San Juan, junto a la programación festera y de marcado carácter ocioso vuelve a aterrizar, un año más, la…
03/09/2026
- [](https://alcazardesanjuan.es/inaugurada-la-exposicion-del-xxx-certamen-internacional-de-pintura-ciudad-de-alcazar-2026-en-la-sala-luisa-alberca/)
## [Inaugurada la exposición del XXX Certamen Internacional de Pintura «Ciudad de Alcázar» 2026 en la Sala Luisa Alberca](https://alcazardesanjuan.es/inaugurada-la-exposicion-del-xxx-certamen-internacional-de-pintura-ciudad-de-alcazar-2026-en-la-sala-luisa-alberca/ "Enlace permanente a Inaugurada la exposición del XXX Certamen Internacional de Pintura «Ciudad de Alcázar» 2026 en la Sala Luisa Alberca")
La Sala Luisa Alberca de la Casa de Cultura de Alcázar de San Juan fue el escenario, el pasado domingo 30 de agosto, de la inauguración y lectura del acta…
02/09/2026
- [](https://alcazardesanjuan.es/el-equipo-de-gobierno-expresa-la-solidaridad-de-alcazar-de-san-juan-con-el-pueblo-de-ceuta-y-reclama-una-respuesta-basada-en-la-cooperacion-y-la-lealtad-institucional/)
## [El equipo de Gobierno expresa la solidaridad de Alcázar de San Juan con el pueblo de Ceuta y reclama una respuesta basada en la cooperación y la lealtad institucional](https://alcazardesanjuan.es/el-equipo-de-gobierno-expresa-la-solidaridad-de-alcazar-de-san-juan-con-el-pueblo-de-ceuta-y-reclama-una-respuesta-basada-en-la-cooperacion-y-la-lealtad-institucional/ "Enlace permanente a El equipo de Gobierno expresa la solidaridad de Alcázar de San Juan con el pueblo de Ceuta y reclama una respuesta basada en la cooperación y la lealtad institucional")
COMUNICADO DEL EQUIPO DE GOBIERNO DEL AYUNTAMIENTO DE ALCÁZAR DE SAN JUAN: Ante los difíciles acontecimientos que está viviendo Ceuta durante las últimas semanas y, especialmente, ante los episodios de…
02/09/2026
#### Atención al Ciudadano
**Teléfono:** [926 579 100](tel:+34926579100)
**Email:** [[email protected]](mailto:[email protected])
[Contacto](https://alcazardesanjuan.es/?page_id=959)
#### Solicitud de Cita Previa
**Teléfono:** [620 870 140](tel:+34926579100)
**Online:** Solicita tu cita para trámites municipales
[Solicitar cita](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)
Ayto de Alcázar de San Juan - Portal Web del Ayuntamiento de Alcázar de San Juan [Saltar al contenido](https://alcazardesanjuan.es/#site-main) [](https://alcazardesanjuan.es/) - [](mailto:[email protected]) - [](https://www.facebook.com/aytoalcazar) - [](https://www.instagram.com/aytoalcazar) - [](https://twitter.com/aytoalcazar) - [](https://www.youtube.com/user/manchacentrotv/videos) Buscar:Botón de búsqueda Block CONCURSO DE FOTOGRAFÍA. MIRADAS QUE TRANSFORMAN [ Información ](https://alcazardesanjuan.es/el-ayuntamiento-de-alcazar-convoca-el-i-concurso-de-fotografia-alcazar-inclusiva-miradas-que-transforman/) [](https://alcazardesanjuan.es/hacienda/) TRIBUTOS Pagos Online [](https://sede.alcazardesanjuan.es/) SEDE ELECTRONICA Tramitación 24x7 [](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ) CITA PREVIA Para trámites municipales [](https://alcazardesanjuan.es/portal-de-transparencia/) TRANSPARENCIA Municipal Block Horarios de establecimientos Ferias y Fiestas 2026 [ Información ](https://alcazardesanjuan.es/wp-content/uploads/2026/08/RESOLUCION-DE-HORARIOS-ESTABLECIMIENTOS-FERIAS-Y-FIESTAS-2026.pdf) [](https://alcazardesanjuan.es/hacienda/) TRIBUTOS Pagos Online [](https://sede.alcazardesanjuan.es/) SEDE ELECTRONICA Tramitación 24x7 [](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ) CITA PREVIA Para trámites municipales [](https://alcazardesanjuan.es/portal-de-transparencia/) TRANSPARENCIA Municipal Block 40 años Centro de la Mujer [ Más información ](https://alcazardesanjuan.es/alcazar-de-san-juan-celebra-cuatro-decadas-de-compromiso-con-la-igualdad-en-el-40o-aniversario-del-centro-de-la-mujer/) [](https://alcazardesanjuan.es/hacienda/) TRIBUTOS Pagos Online [](https://sede.alcazardesanjuan.es/) SEDE ELECTRONICA Tramitación 24x7 [](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ) CITA PREVIA Para trámites municipales [](https://alcazardesanjuan.es/portal-de-transparencia/) TRANSPARENCIA Municipal   Qué busco - [Pago de tributos](https://alcazardesanjuan.es/economico-financiera/) - [Compra Entradas Auditorio](https://alcazardesanjuan.es/#) - [Fiestas locales](https://alcazardesanjuan.es/calendario-de-fiestas/) - [Callejeros Alcázar](https://alcazardesanjuan.es/callejero/) - [Ordenanzas Municipales](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_ORDENANZA) - [Perfil del Contratante](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_PERFIL_CONTRATANTE) - [Oferta de Empleo Público](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_EMPLEO) Qué necesito - [Calendario Verde](https://alcazardesanjuan.es/eventos/categoria/calendario-verde/) - [Actividades culturales](https://alcazardesanjuan.es/actividades-culturales/) - [Visitar Alcázar](https://alcazardesanjuan.es/visitar-alcazar/) - [Información y Teléfonos](https://alcazardesanjuan.es/informacion-y-telefonos/) - [Farmacias de guardia](https://sescam.jccm.es/misaluddigital/app/inicio) - [Calendario escolar](https://educacion.castillalamancha.es/calendario-escolar) - [Eventos en Alcázar](https://alcazardesanjuan.es/eventos/) Qué quiero - [Empadronamiento](https://alcazardesanjuan.es/empadronamiento/) - [Catálogo de trámites y solicitudes](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=CATALOGO) - [Cita Previa](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ) - [Quejas y sugerencias](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=CATALOGO&DETALLE=6269004324581667399500) - [Validación y Comprobación de Documentos](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=VALDOCS) - [Horario de autobuses](https://alcazardesanjuan.es/horario-de-autobuses/) [](https://sede.alcazardesanjuan.es/) [](https://alcazardesanjuan.es/deportes/) [](https://www.youtube.com/@manchacentrotv) Actualidad Municipal - [](https://alcazardesanjuan.es/rosa-melchor-anuncia-que-concluira-en-2027-su-etapa-como-alcaldesa-de-alcazar-de-san-juan-tras-mas-de-una-decada-de-crecimiento-y-transformacion-de-la-ciudad/) ## [Rosa Melchor anuncia que concluirá en 2027 su etapa como alcaldesa de Alcázar de San Juan tras más de una década de crecimiento y transformación de la ciudad](https://alcazardesanjuan.es/rosa-melchor-anuncia-que-concluira-en-2027-su-etapa-como-alcaldesa-de-alcazar-de-san-juan-tras-mas-de-una-decada-de-crecimiento-y-transformacion-de-la-ciudad/ "Enlace permanente a Rosa Melchor anuncia que concluirá en 2027 su etapa como alcaldesa de Alcázar de San Juan tras más de una década de crecimiento y transformación de la ciudad") a alcaldesa de Alcázar de San Juan, Rosa Melchor, ha comunicado este jueves a los vecinos y vecinas de la ciudad que no volverá a presentar su candidatura a la… 04/09/2026 - [](https://alcazardesanjuan.es/alcazar-de-san-juan-da-la-bienvenida-a-su-feria-y-fiestas-2026-con-un-pregon-centrado-en-el-viii-centenario-de-la-parroquia-de-santa-maria-la-mayor/) ## [Alcázar de San Juan da la bienvenida a su Feria y Fiestas 2026 con un pregón centrado en el VIII Centenario de la parroquia de Santa María la Mayor](https://alcazardesanjuan.es/alcazar-de-san-juan-da-la-bienvenida-a-su-feria-y-fiestas-2026-con-un-pregon-centrado-en-el-viii-centenario-de-la-parroquia-de-santa-maria-la-mayor/ "Enlace permanente a Alcázar de San Juan da la bienvenida a su Feria y Fiestas 2026 con un pregón centrado en el VIII Centenario de la parroquia de Santa María la Mayor") Alcázar de San Juan ya está de Feria. La ciudad ha dado este jueves 3 de septiembre la bienvenida oficial a su Feria y Fiestas 2026 con la celebración del… 04/09/2026 - [](https://alcazardesanjuan.es/santa-quiteria-reune-a-mas-de-100-ninos-en-la-xxiv-edicion-del-concurso-de-dibujo-infantil-asi-vemos-a-la-virgen-y-el-concurso-infantil-de-literatura-te-pedimos-y-queremos-m/) ## [Santa Quiteria reúne a más de 100 niños en la XXIV edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y el Concurso Infantil de Literatura “Te pedimos y queremos María”](https://alcazardesanjuan.es/santa-quiteria-reune-a-mas-de-100-ninos-en-la-xxiv-edicion-del-concurso-de-dibujo-infantil-asi-vemos-a-la-virgen-y-el-concurso-infantil-de-literatura-te-pedimos-y-queremos-m/ "Enlace permanente a Santa Quiteria reúne a más de 100 niños en la XXIV edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y el Concurso Infantil de Literatura “Te pedimos y queremos María”") La iglesia de Santa Quiteria ha sido escenario esta mañana de la vigésimo cuarta edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y Concurso Literario Infantil “Te… 03/09/2026 - [](https://alcazardesanjuan.es/cruz-roja-inaugura-su-tombola-solidaria-en-el-recinto-ferial-para-impulsar-sus-proyectos-de-apoyo-social/) ## [Cruz Roja inaugura su Tómbola Solidaria en el Recinto Ferial para impulsar sus proyectos de apoyo social](https://alcazardesanjuan.es/cruz-roja-inaugura-su-tombola-solidaria-en-el-recinto-ferial-para-impulsar-sus-proyectos-de-apoyo-social/ "Enlace permanente a Cruz Roja inaugura su Tómbola Solidaria en el Recinto Ferial para impulsar sus proyectos de apoyo social") Con la llegada de la Feria y Fiestas de Alcázar de San Juan, junto a la programación festera y de marcado carácter ocioso vuelve a aterrizar, un año más, la… 03/09/2026 - [](https://alcazardesanjuan.es/inaugurada-la-exposicion-del-xxx-certamen-internacional-de-pintura-ciudad-de-alcazar-2026-en-la-sala-luisa-alberca/) ## [Inaugurada la exposición del XXX Certamen Internacional de Pintura «Ciudad de Alcázar» 2026 en la Sala Luisa Alberca](https://alcazardesanjuan.es/inaugurada-la-exposicion-del-xxx-certamen-internacional-de-pintura-ciudad-de-alcazar-2026-en-la-sala-luisa-alberca/ "Enlace permanente a Inaugurada la exposición del XXX Certamen Internacional de Pintura «Ciudad de Alcázar» 2026 en la Sala Luisa Alberca") La Sala Luisa Alberca de la Casa de Cultura de Alcázar de San Juan fue el escenario, el pasado domingo 30 de agosto, de la inauguración y lectura del acta… 02/09/2026 - [](https://alcazardesanjuan.es/el-equipo-de-gobierno-expresa-la-solidaridad-de-alcazar-de-san-juan-con-el-pueblo-de-ceuta-y-reclama-una-respuesta-basada-en-la-cooperacion-y-la-lealtad-institucional/) ## [El equipo de Gobierno expresa la solidaridad de Alcázar de San Juan con el pueblo de Ceuta y reclama una respuesta basada en la cooperación y la lealtad institucional](https://alcazardesanjuan.es/el-equipo-de-gobierno-expresa-la-solidaridad-de-alcazar-de-san-juan-con-el-pueblo-de-ceuta-y-reclama-una-respuesta-basada-en-la-cooperacion-y-la-lealtad-institucional/ "Enlace permanente a El equipo de Gobierno expresa la solidaridad de Alcázar de San Juan con el pueblo de Ceuta y reclama una respuesta basada en la cooperación y la lealtad institucional") COMUNICADO DEL EQUIPO DE GOBIERNO DEL AYUNTAMIENTO DE ALCÁZAR DE SAN JUAN: Ante los difíciles acontecimientos que está viviendo Ceuta durante las últimas semanas y, especialmente, ante los episodios de… 02/09/2026 #### Atención al Ciudadano **Teléfono:** [926 579 100](tel:+34926579100) **Email:** [[email protected]](mailto:[email protected]) [Contacto](https://alcazardesanjuan.es/?page_id=959) #### Solicitud de Cita Previa **Teléfono:** [620 870 140](tel:+34926579100) **Online:** Solicita tu cita para trámites municipales [Solicitar cita](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)  [](https://alcazardesanjuan.es/# "Anterior") [](https://www.jccm.es/) [](https://www.dipucr.es/) [](https://www.aguasdealcazar.com/) [](https://alcazardesanjuan.es/deportes/) [](https://turismoycultura.alcazardesanjuan.es/) [](https://turismoycultura.alcazardesanjuan.es/) [](https://www.youtube.com/@manchacentrotv) [](https://alcazardesanjuan.es/medio-ambiente/) [](https://alcazardesanjuan.es/# "Siguiente")
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.
Generated llms.txt for this single page
# Ayto de Alcázar de San Juan > Portal Web del Ayuntamiento de Alcázar de San Juan ## Main - [Ayto de Alcázar de San Juan](https://alcazardesanjuan.es): Portal Web del Ayuntamiento de Alcázar de San Juan - [INICIO](https://alcazardesanjuan.es/) - [Saludo de la alcaldesa](https://alcazardesanjuan.es/ayuntamiento/) - [Corporación Municipal](https://alcazardesanjuan.es/corporacion-municipal/) - [Pleno](https://alcazardesanjuan.es/pleno/) - [Canal ético denuncias](https://alcazardesanjuan.es/canal-etico-denuncias/) - [La ciudad (historia)](https://alcazardesanjuan.es/la-ciudad/) - [Calendario de fiestas](https://alcazardesanjuan.es/calendario-de-fiestas/) - [Callejero](https://alcazardesanjuan.es/callejero/)
Full llms.txt requires domain-wide analysis (coming soon)
Upload this file to https://alcazardesanjuan.es/llms.txt at the root of your domain. AI agents like ChatGPT, Claude, and Perplexity check this file to understand your site structure.
Accessibility
Content available without JavaScript
Main content starts at 76% of HTML
Page size: 231KB
AI Discoverability
All major AI search bots allowed
Sitemap found
robots.txt exists
No llms.txt found
Structured Data
JSON-LD found: CollectionPage, BreadcrumbList, WebSite, Organization
2/3 OG tags present
Meta description too short: 50 chars
Canonical URL present
lang="es"
Semantic HTML
no <h1>, 1 heading level skip(s)
Has <main>
13 semantic elements, 324 divs (ratio: 4%)
3/3 images with meaningful alt text (32 decorative, not counted)
Avg div depth: 16.7, max: 30
Content Efficiency
95% token reduction (HTML→Markdown)
Content ratio: 1.4% (3423 content chars / 236172 HTML bytes)
HTML size: 231KB
128/974 elements with inline styles (13.1%)
{
"url": "https://alcazardesanjuan.es",
"timestamp": 1788777766937,
"fetch": {
"mode": "simple",
"timeMs": 45,
"htmlSizeBytes": 236172,
"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": "Ayto de Alcázar de San Juan",
"excerpt": "Portal Web del Ayuntamiento de Alcázar de San Juan",
"byline": null,
"siteName": "Ayto de Alcázar de San Juan",
"lang": "es",
"contentLength": 3423,
"metadata": {
"description": "Portal Web del Ayuntamiento de Alcázar de San Juan",
"ogTitle": "Ayto de Alcázar de San Juan",
"ogDescription": "Portal Web del Ayuntamiento de Alcázar de San Juan",
"ogImage": null,
"ogType": "website",
"canonical": "https://alcazardesanjuan.es/",
"lang": "es",
"schemas": [
{
"@type": "CollectionPage",
"@id": "https://alcazardesanjuan.es/",
"url": "https://alcazardesanjuan.es/",
"name": "Ayto de Alcázar de San Juan - Portal Web del Ayuntamiento de Alcázar de San Juan",
"isPartOf": {
"@id": "https://alcazardesanjuan.es/#website"
},
"about": {
"@id": "https://alcazardesanjuan.es/#organization"
},
"description": "Portal Web del Ayuntamiento de Alcázar de San Juan",
"breadcrumb": {
"@id": "https://alcazardesanjuan.es/#breadcrumb"
},
"inLanguage": "es"
},
{
"@type": "BreadcrumbList",
"@id": "https://alcazardesanjuan.es/#breadcrumb",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "Portada"
}
]
},
{
"@type": "WebSite",
"@id": "https://alcazardesanjuan.es/#website",
"url": "https://alcazardesanjuan.es/",
"name": "Ayto de Alcázar de San Juan",
"description": "Portal Web del Ayuntamiento de Alcázar de San Juan",
"publisher": {
"@id": "https://alcazardesanjuan.es/#organization"
},
"potentialAction": [
{
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://alcazardesanjuan.es/?s={search_term_string}"
},
"query-input": {
"@type": "PropertyValueSpecification",
"valueRequired": true,
"valueName": "search_term_string"
}
}
],
"inLanguage": "es"
},
{
"@type": "Organization",
"@id": "https://alcazardesanjuan.es/#organization",
"name": "Ayto de Alcázar de San Juan",
"url": "https://alcazardesanjuan.es/",
"logo": {
"@type": "ImageObject",
"inLanguage": "es",
"@id": "https://alcazardesanjuan.es/#/schema/logo/image/",
"url": "https://alcazardesanjuan.es/wp-content/uploads/2025/10/logo_esalcazar.png",
"contentUrl": "https://alcazardesanjuan.es/wp-content/uploads/2025/10/logo_esalcazar.png",
"width": 368,
"height": 100,
"caption": "Ayto de Alcázar de San Juan"
},
"image": {
"@id": "https://alcazardesanjuan.es/#/schema/logo/image/"
},
"sameAs": [
"https://www.facebook.com/aytoalcazar",
"https://x.com/aytoalcazar",
"https://www.instagram.com/aytoalcazar"
]
}
],
"robotsMeta": "index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1",
"author": null,
"generator": "WordPress 7.1",
"markdownAlternateHref": null
}
},
"markdown": "Block\n\nHorarios de establecimientos\nFerias y Fiestas 2026\n\n[\n\nInformación\n\n](https://alcazardesanjuan.es/wp-content/uploads/2026/08/RESOLUCION-DE-HORARIOS-ESTABLECIMIENTOS-FERIAS-Y-FIESTAS-2026.pdf)\n\n[](https://alcazardesanjuan.es/hacienda/)\n\nTRIBUTOS\n\nPagos Online\n\n[](https://sede.alcazardesanjuan.es/)\n\nSEDE ELECTRONICA\n\nTramitación 24x7\n\n[](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)\n\nCITA PREVIA\n\nPara trámites municipales\n\n[](https://alcazardesanjuan.es/portal-de-transparencia/)\n\nTRANSPARENCIA\n\nMunicipal\n\n\n\n\n\nQué busco\n\n- [Pago de tributos](https://alcazardesanjuan.es/economico-financiera/)\n- [Compra Entradas Auditorio](https://alcazardesanjuan.es/#)\n- [Fiestas locales](https://alcazardesanjuan.es/calendario-de-fiestas/)\n- [Callejeros Alcázar](https://alcazardesanjuan.es/callejero/)\n- [Ordenanzas Municipales](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_ORDENANZA)\n- [Perfil del Contratante](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_PERFIL_CONTRATANTE)\n- [Oferta de Empleo Público](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_EMPLEO)\n\nQué necesito\n\n- [Calendario Verde](https://alcazardesanjuan.es/eventos/categoria/calendario-verde/)\n- [Actividades culturales](https://alcazardesanjuan.es/actividades-culturales/)\n- [Visitar Alcázar](https://alcazardesanjuan.es/visitar-alcazar/)\n- [Información y Teléfonos](https://alcazardesanjuan.es/informacion-y-telefonos/)\n- [Farmacias de guardia](https://sescam.jccm.es/misaluddigital/app/inicio)\n- [Calendario escolar](https://educacion.castillalamancha.es/calendario-escolar)\n- [Eventos en Alcázar](https://alcazardesanjuan.es/eventos/)\n\nQué quiero\n\n- [Empadronamiento](https://alcazardesanjuan.es/empadronamiento/)\n- [Catálogo de trámites y solicitudes](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=CATALOGO)\n- [Cita Previa](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)\n- [Quejas y sugerencias](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=CATALOGO&DETALLE=6269004324581667399500)\n- [Validación y Comprobación de Documentos](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=VALDOCS)\n- [Horario de autobuses](https://alcazardesanjuan.es/horario-de-autobuses/)\n\n[](https://sede.alcazardesanjuan.es/)\n\n[](https://alcazardesanjuan.es/deportes/)\n\n[](https://www.youtube.com/@manchacentrotv)\n\nActualidad Municipal\n\n- [](https://alcazardesanjuan.es/rosa-melchor-anuncia-que-concluira-en-2027-su-etapa-como-alcaldesa-de-alcazar-de-san-juan-tras-mas-de-una-decada-de-crecimiento-y-transformacion-de-la-ciudad/)\n\n ## [Rosa Melchor anuncia que concluirá en 2027 su etapa como alcaldesa de Alcázar de San Juan tras más de una década de crecimiento y transformación de la ciudad](https://alcazardesanjuan.es/rosa-melchor-anuncia-que-concluira-en-2027-su-etapa-como-alcaldesa-de-alcazar-de-san-juan-tras-mas-de-una-decada-de-crecimiento-y-transformacion-de-la-ciudad/ \"Enlace permanente a Rosa Melchor anuncia que concluirá en 2027 su etapa como alcaldesa de Alcázar de San Juan tras más de una década de crecimiento y transformación de la ciudad\")\n\n a alcaldesa de Alcázar de San Juan, Rosa Melchor, ha comunicado este jueves a los vecinos y vecinas de la ciudad que no volverá a presentar su candidatura a la…\n\n 04/09/2026\n\n- [](https://alcazardesanjuan.es/alcazar-de-san-juan-da-la-bienvenida-a-su-feria-y-fiestas-2026-con-un-pregon-centrado-en-el-viii-centenario-de-la-parroquia-de-santa-maria-la-mayor/)\n\n ## [Alcázar de San Juan da la bienvenida a su Feria y Fiestas 2026 con un pregón centrado en el VIII Centenario de la parroquia de Santa María la Mayor](https://alcazardesanjuan.es/alcazar-de-san-juan-da-la-bienvenida-a-su-feria-y-fiestas-2026-con-un-pregon-centrado-en-el-viii-centenario-de-la-parroquia-de-santa-maria-la-mayor/ \"Enlace permanente a Alcázar de San Juan da la bienvenida a su Feria y Fiestas 2026 con un pregón centrado en el VIII Centenario de la parroquia de Santa María la Mayor\")\n\n Alcázar de San Juan ya está de Feria. La ciudad ha dado este jueves 3 de septiembre la bienvenida oficial a su Feria y Fiestas 2026 con la celebración del…\n\n 04/09/2026\n\n- [](https://alcazardesanjuan.es/santa-quiteria-reune-a-mas-de-100-ninos-en-la-xxiv-edicion-del-concurso-de-dibujo-infantil-asi-vemos-a-la-virgen-y-el-concurso-infantil-de-literatura-te-pedimos-y-queremos-m/)\n\n ## [Santa Quiteria reúne a más de 100 niños en la XXIV edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y el Concurso Infantil de Literatura “Te pedimos y queremos María”](https://alcazardesanjuan.es/santa-quiteria-reune-a-mas-de-100-ninos-en-la-xxiv-edicion-del-concurso-de-dibujo-infantil-asi-vemos-a-la-virgen-y-el-concurso-infantil-de-literatura-te-pedimos-y-queremos-m/ \"Enlace permanente a Santa Quiteria reúne a más de 100 niños en la XXIV edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y el Concurso Infantil de Literatura “Te pedimos y queremos María”\")\n\n La iglesia de Santa Quiteria ha sido escenario esta mañana de la vigésimo cuarta edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y Concurso Literario Infantil “Te…\n\n 03/09/2026\n\n- [](https://alcazardesanjuan.es/cruz-roja-inaugura-su-tombola-solidaria-en-el-recinto-ferial-para-impulsar-sus-proyectos-de-apoyo-social/)\n\n ## [Cruz Roja inaugura su Tómbola Solidaria en el Recinto Ferial para impulsar sus proyectos de apoyo social](https://alcazardesanjuan.es/cruz-roja-inaugura-su-tombola-solidaria-en-el-recinto-ferial-para-impulsar-sus-proyectos-de-apoyo-social/ \"Enlace permanente a Cruz Roja inaugura su Tómbola Solidaria en el Recinto Ferial para impulsar sus proyectos de apoyo social\")\n\n Con la llegada de la Feria y Fiestas de Alcázar de San Juan, junto a la programación festera y de marcado carácter ocioso vuelve a aterrizar, un año más, la…\n\n 03/09/2026\n\n- [](https://alcazardesanjuan.es/inaugurada-la-exposicion-del-xxx-certamen-internacional-de-pintura-ciudad-de-alcazar-2026-en-la-sala-luisa-alberca/)\n\n ## [Inaugurada la exposición del XXX Certamen Internacional de Pintura «Ciudad de Alcázar» 2026 en la Sala Luisa Alberca](https://alcazardesanjuan.es/inaugurada-la-exposicion-del-xxx-certamen-internacional-de-pintura-ciudad-de-alcazar-2026-en-la-sala-luisa-alberca/ \"Enlace permanente a Inaugurada la exposición del XXX Certamen Internacional de Pintura «Ciudad de Alcázar» 2026 en la Sala Luisa Alberca\")\n\n La Sala Luisa Alberca de la Casa de Cultura de Alcázar de San Juan fue el escenario, el pasado domingo 30 de agosto, de la inauguración y lectura del acta…\n\n 02/09/2026\n\n- [](https://alcazardesanjuan.es/el-equipo-de-gobierno-expresa-la-solidaridad-de-alcazar-de-san-juan-con-el-pueblo-de-ceuta-y-reclama-una-respuesta-basada-en-la-cooperacion-y-la-lealtad-institucional/)\n\n ## [El equipo de Gobierno expresa la solidaridad de Alcázar de San Juan con el pueblo de Ceuta y reclama una respuesta basada en la cooperación y la lealtad institucional](https://alcazardesanjuan.es/el-equipo-de-gobierno-expresa-la-solidaridad-de-alcazar-de-san-juan-con-el-pueblo-de-ceuta-y-reclama-una-respuesta-basada-en-la-cooperacion-y-la-lealtad-institucional/ \"Enlace permanente a El equipo de Gobierno expresa la solidaridad de Alcázar de San Juan con el pueblo de Ceuta y reclama una respuesta basada en la cooperación y la lealtad institucional\")\n\n COMUNICADO DEL EQUIPO DE GOBIERNO DEL AYUNTAMIENTO DE ALCÁZAR DE SAN JUAN: Ante los difíciles acontecimientos que está viviendo Ceuta durante las últimas semanas y, especialmente, ante los episodios de…\n\n 02/09/2026\n\n#### Atención al Ciudadano\n\n**Teléfono:** [926 579 100](tel:+34926579100)\n\n**Email:** [[email protected]](mailto:[email protected])\n\n[Contacto](https://alcazardesanjuan.es/?page_id=959)\n\n#### Solicitud de Cita Previa\n\n**Teléfono:** [620 870 140](tel:+34926579100)\n\n**Online:** Solicita tu cita para trámites municipales\n\n[Solicitar cita](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)\n",
"fullPageMarkdown": "Ayto de Alcázar de San Juan - Portal Web del Ayuntamiento de Alcázar de San Juan\n\n[Saltar al contenido](https://alcazardesanjuan.es/#site-main)\n\n[](https://alcazardesanjuan.es/)\n\n- [](mailto:[email protected])\n- [](https://www.facebook.com/aytoalcazar)\n- [](https://www.instagram.com/aytoalcazar)\n- [](https://twitter.com/aytoalcazar)\n- [](https://www.youtube.com/user/manchacentrotv/videos)\n\nBuscar:Botón de búsqueda\n\nBlock\n\nCONCURSO DE FOTOGRAFÍA. MIRADAS QUE TRANSFORMAN\n\n[\n\nInformación\n\n](https://alcazardesanjuan.es/el-ayuntamiento-de-alcazar-convoca-el-i-concurso-de-fotografia-alcazar-inclusiva-miradas-que-transforman/)\n\n[](https://alcazardesanjuan.es/hacienda/)\n\nTRIBUTOS\n\nPagos Online\n\n[](https://sede.alcazardesanjuan.es/)\n\nSEDE ELECTRONICA\n\nTramitación 24x7\n\n[](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)\n\nCITA PREVIA\n\nPara trámites municipales\n\n[](https://alcazardesanjuan.es/portal-de-transparencia/)\n\nTRANSPARENCIA\n\nMunicipal\n\nBlock\n\nHorarios de establecimientos\nFerias y Fiestas 2026\n\n[\n\nInformación\n\n](https://alcazardesanjuan.es/wp-content/uploads/2026/08/RESOLUCION-DE-HORARIOS-ESTABLECIMIENTOS-FERIAS-Y-FIESTAS-2026.pdf)\n\n[](https://alcazardesanjuan.es/hacienda/)\n\nTRIBUTOS\n\nPagos Online\n\n[](https://sede.alcazardesanjuan.es/)\n\nSEDE ELECTRONICA\n\nTramitación 24x7\n\n[](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)\n\nCITA PREVIA\n\nPara trámites municipales\n\n[](https://alcazardesanjuan.es/portal-de-transparencia/)\n\nTRANSPARENCIA\n\nMunicipal\n\nBlock\n\n40 años\nCentro de la Mujer\n\n[\n\nMás información\n\n](https://alcazardesanjuan.es/alcazar-de-san-juan-celebra-cuatro-decadas-de-compromiso-con-la-igualdad-en-el-40o-aniversario-del-centro-de-la-mujer/)\n\n[](https://alcazardesanjuan.es/hacienda/)\n\nTRIBUTOS\n\nPagos Online\n\n[](https://sede.alcazardesanjuan.es/)\n\nSEDE ELECTRONICA\n\nTramitación 24x7\n\n[](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)\n\nCITA PREVIA\n\nPara trámites municipales\n\n[](https://alcazardesanjuan.es/portal-de-transparencia/)\n\nTRANSPARENCIA\n\nMunicipal\n\n\n\n\n\nQué busco\n\n- [Pago de tributos](https://alcazardesanjuan.es/economico-financiera/)\n- [Compra Entradas Auditorio](https://alcazardesanjuan.es/#)\n- [Fiestas locales](https://alcazardesanjuan.es/calendario-de-fiestas/)\n- [Callejeros Alcázar](https://alcazardesanjuan.es/callejero/)\n- [Ordenanzas Municipales](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_ORDENANZA)\n- [Perfil del Contratante](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_PERFIL_CONTRATANTE)\n- [Oferta de Empleo Público](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=PTS2_EMPLEO)\n\nQué necesito\n\n- [Calendario Verde](https://alcazardesanjuan.es/eventos/categoria/calendario-verde/)\n- [Actividades culturales](https://alcazardesanjuan.es/actividades-culturales/)\n- [Visitar Alcázar](https://alcazardesanjuan.es/visitar-alcazar/)\n- [Información y Teléfonos](https://alcazardesanjuan.es/informacion-y-telefonos/)\n- [Farmacias de guardia](https://sescam.jccm.es/misaluddigital/app/inicio)\n- [Calendario escolar](https://educacion.castillalamancha.es/calendario-escolar)\n- [Eventos en Alcázar](https://alcazardesanjuan.es/eventos/)\n\nQué quiero\n\n- [Empadronamiento](https://alcazardesanjuan.es/empadronamiento/)\n- [Catálogo de trámites y solicitudes](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=CATALOGO)\n- [Cita Previa](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)\n- [Quejas y sugerencias](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=CATALOGO&DETALLE=6269004324581667399500)\n- [Validación y Comprobación de Documentos](https://sede.alcazardesanjuan.es/sta/CarpetaPublic/doEvent?APP_CODE=STA&PAGE_CODE=VALDOCS)\n- [Horario de autobuses](https://alcazardesanjuan.es/horario-de-autobuses/)\n\n[](https://sede.alcazardesanjuan.es/)\n\n[](https://alcazardesanjuan.es/deportes/)\n\n[](https://www.youtube.com/@manchacentrotv)\n\nActualidad Municipal\n\n- [](https://alcazardesanjuan.es/rosa-melchor-anuncia-que-concluira-en-2027-su-etapa-como-alcaldesa-de-alcazar-de-san-juan-tras-mas-de-una-decada-de-crecimiento-y-transformacion-de-la-ciudad/)\n\n ## [Rosa Melchor anuncia que concluirá en 2027 su etapa como alcaldesa de Alcázar de San Juan tras más de una década de crecimiento y transformación de la ciudad](https://alcazardesanjuan.es/rosa-melchor-anuncia-que-concluira-en-2027-su-etapa-como-alcaldesa-de-alcazar-de-san-juan-tras-mas-de-una-decada-de-crecimiento-y-transformacion-de-la-ciudad/ \"Enlace permanente a Rosa Melchor anuncia que concluirá en 2027 su etapa como alcaldesa de Alcázar de San Juan tras más de una década de crecimiento y transformación de la ciudad\")\n\n a alcaldesa de Alcázar de San Juan, Rosa Melchor, ha comunicado este jueves a los vecinos y vecinas de la ciudad que no volverá a presentar su candidatura a la…\n\n 04/09/2026\n\n- [](https://alcazardesanjuan.es/alcazar-de-san-juan-da-la-bienvenida-a-su-feria-y-fiestas-2026-con-un-pregon-centrado-en-el-viii-centenario-de-la-parroquia-de-santa-maria-la-mayor/)\n\n ## [Alcázar de San Juan da la bienvenida a su Feria y Fiestas 2026 con un pregón centrado en el VIII Centenario de la parroquia de Santa María la Mayor](https://alcazardesanjuan.es/alcazar-de-san-juan-da-la-bienvenida-a-su-feria-y-fiestas-2026-con-un-pregon-centrado-en-el-viii-centenario-de-la-parroquia-de-santa-maria-la-mayor/ \"Enlace permanente a Alcázar de San Juan da la bienvenida a su Feria y Fiestas 2026 con un pregón centrado en el VIII Centenario de la parroquia de Santa María la Mayor\")\n\n Alcázar de San Juan ya está de Feria. La ciudad ha dado este jueves 3 de septiembre la bienvenida oficial a su Feria y Fiestas 2026 con la celebración del…\n\n 04/09/2026\n\n- [](https://alcazardesanjuan.es/santa-quiteria-reune-a-mas-de-100-ninos-en-la-xxiv-edicion-del-concurso-de-dibujo-infantil-asi-vemos-a-la-virgen-y-el-concurso-infantil-de-literatura-te-pedimos-y-queremos-m/)\n\n ## [Santa Quiteria reúne a más de 100 niños en la XXIV edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y el Concurso Infantil de Literatura “Te pedimos y queremos María”](https://alcazardesanjuan.es/santa-quiteria-reune-a-mas-de-100-ninos-en-la-xxiv-edicion-del-concurso-de-dibujo-infantil-asi-vemos-a-la-virgen-y-el-concurso-infantil-de-literatura-te-pedimos-y-queremos-m/ \"Enlace permanente a Santa Quiteria reúne a más de 100 niños en la XXIV edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y el Concurso Infantil de Literatura “Te pedimos y queremos María”\")\n\n La iglesia de Santa Quiteria ha sido escenario esta mañana de la vigésimo cuarta edición del Concurso de Dibujo Infantil “Así vemos a la virgen” y Concurso Literario Infantil “Te…\n\n 03/09/2026\n\n- [](https://alcazardesanjuan.es/cruz-roja-inaugura-su-tombola-solidaria-en-el-recinto-ferial-para-impulsar-sus-proyectos-de-apoyo-social/)\n\n ## [Cruz Roja inaugura su Tómbola Solidaria en el Recinto Ferial para impulsar sus proyectos de apoyo social](https://alcazardesanjuan.es/cruz-roja-inaugura-su-tombola-solidaria-en-el-recinto-ferial-para-impulsar-sus-proyectos-de-apoyo-social/ \"Enlace permanente a Cruz Roja inaugura su Tómbola Solidaria en el Recinto Ferial para impulsar sus proyectos de apoyo social\")\n\n Con la llegada de la Feria y Fiestas de Alcázar de San Juan, junto a la programación festera y de marcado carácter ocioso vuelve a aterrizar, un año más, la…\n\n 03/09/2026\n\n- [](https://alcazardesanjuan.es/inaugurada-la-exposicion-del-xxx-certamen-internacional-de-pintura-ciudad-de-alcazar-2026-en-la-sala-luisa-alberca/)\n\n ## [Inaugurada la exposición del XXX Certamen Internacional de Pintura «Ciudad de Alcázar» 2026 en la Sala Luisa Alberca](https://alcazardesanjuan.es/inaugurada-la-exposicion-del-xxx-certamen-internacional-de-pintura-ciudad-de-alcazar-2026-en-la-sala-luisa-alberca/ \"Enlace permanente a Inaugurada la exposición del XXX Certamen Internacional de Pintura «Ciudad de Alcázar» 2026 en la Sala Luisa Alberca\")\n\n La Sala Luisa Alberca de la Casa de Cultura de Alcázar de San Juan fue el escenario, el pasado domingo 30 de agosto, de la inauguración y lectura del acta…\n\n 02/09/2026\n\n- [](https://alcazardesanjuan.es/el-equipo-de-gobierno-expresa-la-solidaridad-de-alcazar-de-san-juan-con-el-pueblo-de-ceuta-y-reclama-una-respuesta-basada-en-la-cooperacion-y-la-lealtad-institucional/)\n\n ## [El equipo de Gobierno expresa la solidaridad de Alcázar de San Juan con el pueblo de Ceuta y reclama una respuesta basada en la cooperación y la lealtad institucional](https://alcazardesanjuan.es/el-equipo-de-gobierno-expresa-la-solidaridad-de-alcazar-de-san-juan-con-el-pueblo-de-ceuta-y-reclama-una-respuesta-basada-en-la-cooperacion-y-la-lealtad-institucional/ \"Enlace permanente a El equipo de Gobierno expresa la solidaridad de Alcázar de San Juan con el pueblo de Ceuta y reclama una respuesta basada en la cooperación y la lealtad institucional\")\n\n COMUNICADO DEL EQUIPO DE GOBIERNO DEL AYUNTAMIENTO DE ALCÁZAR DE SAN JUAN: Ante los difíciles acontecimientos que está viviendo Ceuta durante las últimas semanas y, especialmente, ante los episodios de…\n\n 02/09/2026\n\n#### Atención al Ciudadano\n\n**Teléfono:** [926 579 100](tel:+34926579100)\n\n**Email:** [[email protected]](mailto:[email protected])\n\n[Contacto](https://alcazardesanjuan.es/?page_id=959)\n\n#### Solicitud de Cita Previa\n\n**Teléfono:** [620 870 140](tel:+34926579100)\n\n**Online:** Solicita tu cita para trámites municipales\n\n[Solicitar cita](https://ssweb.seap.minhap.es/icpplus/citar?org=ALCASJ)\n\n\n\n[](https://alcazardesanjuan.es/# \"Anterior\")\n\n[](https://www.jccm.es/)\n\n[](https://www.dipucr.es/)\n\n[](https://www.aguasdealcazar.com/)\n\n[](https://alcazardesanjuan.es/deportes/)\n\n[](https://turismoycultura.alcazardesanjuan.es/)\n\n[](https://turismoycultura.alcazardesanjuan.es/)\n\n[](https://www.youtube.com/@manchacentrotv)\n\n[](https://alcazardesanjuan.es/medio-ambiente/)\n\n[](https://alcazardesanjuan.es/# \"Siguiente\")\n",
"markdownStats": {
"images": 15,
"links": 48,
"tables": 0,
"codeBlocks": 0,
"headings": 9
},
"tokens": {
"htmlTokens": 77943,
"markdownTokens": 3830,
"reduction": 74113,
"reductionPercent": 95
},
"score": {
"score": 69,
"grade": "C",
"rubricVersion": 3,
"dimensions": {
"accessibility": {
"score": 77,
"weight": 30,
"grade": "B",
"checks": {
"content_without_js": {
"score": 100,
"weight": 55,
"evidence": "proven",
"details": "Content available without JavaScript"
},
"fast_content_position": {
"score": 25,
"weight": 25,
"evidence": "plausible",
"details": "Main content starts at 76% of HTML"
},
"reasonable_page_size": {
"score": 80,
"weight": 20,
"evidence": "plausible",
"details": "Page size: 231KB"
}
}
},
"aiDiscoverability": {
"score": 60,
"weight": 25,
"grade": "C",
"checks": {
"robots_allows_ai_bots": {
"score": 100,
"weight": 35,
"evidence": "proven",
"details": "All major AI search bots allowed"
},
"supports_markdown_negotiation": {
"score": 0,
"weight": 20,
"evidence": "plausible",
"details": "No Markdown for Agents support detected"
},
"has_sitemap": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Sitemap found"
},
"has_robots_txt": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "robots.txt exists"
},
"has_llms_txt": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "No llms.txt found"
},
"has_content_signals": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "No Content-Signal found (robots.txt or HTTP headers)",
"mechanisms": {
"robotsTxt": false,
"httpHeader": false,
"policy": false
}
}
}
},
"structuredData": {
"score": 83,
"weight": 20,
"grade": "B",
"checks": {
"has_schema_org": {
"score": 100,
"weight": 35,
"evidence": "proven",
"details": "JSON-LD found: CollectionPage, BreadcrumbList, WebSite, Organization"
},
"has_open_graph": {
"score": 67,
"weight": 20,
"evidence": "plausible",
"details": "2/3 OG tags present"
},
"has_meta_description": {
"score": 50,
"weight": 20,
"evidence": "plausible",
"details": "Meta description too short: 50 chars"
},
"has_canonical_url": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "Canonical URL present"
},
"has_lang_attribute": {
"score": 100,
"weight": 10,
"evidence": "plausible",
"details": "lang=\"es\""
}
}
},
"semanticHtml": {
"score": 59,
"weight": 15,
"grade": "D",
"checks": {
"proper_heading_hierarchy": {
"score": 55,
"weight": 30,
"evidence": "plausible",
"details": "no <h1>, 1 heading level skip(s)"
},
"uses_article_or_main": {
"score": 100,
"weight": 25,
"evidence": "plausible",
"details": "Has <main>"
},
"semantic_elements": {
"score": 13,
"weight": 20,
"evidence": "plausible",
"details": "13 semantic elements, 324 divs (ratio: 4%)"
},
"meaningful_alt_texts": {
"score": 100,
"weight": 15,
"evidence": "plausible",
"details": "3/3 images with meaningful alt text (32 decorative, not counted)"
},
"low_div_nesting": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "Avg div depth: 16.7, max: 30"
}
}
},
"contentEfficiency": {
"score": 50,
"weight": 10,
"grade": "D",
"checks": {
"token_reduction_ratio": {
"score": 100,
"weight": 40,
"evidence": "speculative",
"details": "95% token reduction (HTML→Markdown)"
},
"content_to_noise_ratio": {
"score": 0,
"weight": 30,
"evidence": "speculative",
"details": "Content ratio: 1.4% (3423 content chars / 236172 HTML bytes)"
},
"reasonable_page_weight": {
"score": 50,
"weight": 20,
"evidence": "speculative",
"details": "HTML size: 231KB"
},
"minimal_inline_styles": {
"score": 0,
"weight": 10,
"evidence": "speculative",
"details": "128/974 elements with inline styles (13.1%)"
}
}
}
}
},
"recommendations": [
{
"id": "move_content_earlier",
"priority": "critical",
"category": "accessibility",
"titleKey": "rec.move_content_earlier.title",
"descriptionKey": "rec.move_content_earlier.description",
"howToKey": "rec.move_content_earlier.howto",
"howToStepKeys": null,
"effort": "moderate",
"estimatedImpact": 5.6,
"maxImpact": 7.5,
"evidence": "plausible",
"checkScore": 25,
"checkDetails": "Main content starts at 76% of HTML"
},
{
"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",
"howToStepKeys": null,
"effort": "significant",
"estimatedImpact": 5,
"maxImpact": 5,
"evidence": "plausible",
"checkScore": 0,
"checkDetails": "No Markdown for Agents support detected"
},
{
"id": "improve_content_ratio",
"priority": "high",
"category": "contentEfficiency",
"titleKey": "rec.improve_content_ratio.title",
"descriptionKey": "rec.improve_content_ratio.description",
"howToKey": "rec.improve_content_ratio.howto",
"howToStepKeys": null,
"effort": "moderate",
"estimatedImpact": 3,
"maxImpact": 3,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "Content ratio: 1.4% (3423 content chars / 236172 HTML bytes)"
},
{
"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",
"howToStepKeys": null,
"effort": "moderate",
"estimatedImpact": 2.6,
"maxImpact": 3,
"evidence": "plausible",
"checkScore": 13,
"checkDetails": "13 semantic elements, 324 divs (ratio: 4%)"
},
{
"id": "add_llms_txt",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_llms_txt.title",
"descriptionKey": "rec.add_llms_txt.description",
"howToKey": "rec.add_llms_txt.howto",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 2.5,
"maxImpact": 2.5,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "No llms.txt found"
},
{
"id": "add_content_signals",
"priority": "high",
"category": "aiDiscoverability",
"titleKey": "rec.add_content_signals.title",
"descriptionKey": "rec.add_content_signals.description",
"howToKey": "rec.add_content_signals.howto",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 2.5,
"maxImpact": 2.5,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "No Content-Signal found (robots.txt or HTTP headers)"
},
{
"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",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 2,
"maxImpact": 4.5,
"evidence": "plausible",
"checkScore": 55,
"checkDetails": "no <h1>, 1 heading level skip(s)"
},
{
"id": "reduce_div_nesting",
"priority": "medium",
"category": "semanticHtml",
"titleKey": "rec.reduce_div_nesting.title",
"descriptionKey": "rec.reduce_div_nesting.description",
"howToKey": "rec.reduce_div_nesting.howto",
"howToStepKeys": null,
"effort": "significant",
"estimatedImpact": 1.5,
"maxImpact": 1.5,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "Avg div depth: 16.7, max: 30"
},
{
"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",
"howToStepKeys": null,
"effort": "quick-win",
"estimatedImpact": 1.3,
"maxImpact": 4,
"evidence": "plausible",
"checkScore": 67,
"checkDetails": "2/3 OG tags present"
},
{
"id": "remove_inline_styles",
"priority": "medium",
"category": "contentEfficiency",
"titleKey": "rec.remove_inline_styles.title",
"descriptionKey": "rec.remove_inline_styles.description",
"howToKey": "rec.remove_inline_styles.howto",
"howToStepKeys": null,
"effort": "moderate",
"estimatedImpact": 1,
"maxImpact": 1,
"evidence": "speculative",
"checkScore": 0,
"checkDetails": "128/974 elements with inline styles (13.1%)"
}
],
"llmsTxtPreview": "# Ayto de Alcázar de San Juan\n\n> Portal Web del Ayuntamiento de Alcázar de San Juan\n\n## Main\n- [Ayto de Alcázar de San Juan](https://alcazardesanjuan.es): Portal Web del Ayuntamiento de Alcázar de San Juan\n- [INICIO](https://alcazardesanjuan.es/)\n- [Saludo de la alcaldesa](https://alcazardesanjuan.es/ayuntamiento/)\n- [Corporación Municipal](https://alcazardesanjuan.es/corporacion-municipal/)\n- [Pleno](https://alcazardesanjuan.es/pleno/)\n- [Canal ético denuncias](https://alcazardesanjuan.es/canal-etico-denuncias/)\n- [La ciudad (historia)](https://alcazardesanjuan.es/la-ciudad/)\n- [Calendario de fiestas](https://alcazardesanjuan.es/calendario-de-fiestas/)\n- [Callejero](https://alcazardesanjuan.es/callejero/)\n\n",
"llmsTxtExisting": null,
"emergingProtocols": {
"oauthProtectedResource": {
"exists": false,
"url": "https://alcazardesanjuan.es/.well-known/oauth-protected-resource"
},
"oauthDiscovery": {
"exists": false,
"url": "https://alcazardesanjuan.es/.well-known/oauth-authorization-server"
},
"mcpServerCard": {
"exists": false,
"url": "https://alcazardesanjuan.es/.well-known/mcp/server-card.json",
"draft": true
},
"a2aAgentCard": {
"exists": false,
"url": "https://alcazardesanjuan.es/.well-known/agent-card.json"
},
"apiCatalog": {
"exists": false,
"url": "https://alcazardesanjuan.es/.well-known/api-catalog"
},
"agentSkills": {
"exists": false,
"url": "https://alcazardesanjuan.es/.well-known/agent-skills/index.json",
"draft": true
},
"count": 0,
"total": 6
},
"botAccess": {
"probed": true,
"bot": "OAI-SearchBot",
"controlStatus": 200,
"botStatus": 200,
"discriminates": false,
"refusedAsBot": false,
"edge": null,
"verifiable": false,
"detail": "This origin answers OAI-SearchBot exactly as it answers any other client (200). No edge-level filtering of AI crawlers observed."
},
"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": "# Ayto de Alcázar de San Juan\n\n> Portal Web del Ayuntamiento de Alcázar de San Juan\n\n## Main\n- [Ayto de Alcázar de San Juan](https://alcazardesanjuan.es): Portal Web del Ayuntamiento de Alcázar de San Juan\n- [INICIO](https://alcazardesanjuan.es/)\n- [Saludo de la alcaldesa](https://alcazardesanjuan.es/ayuntamiento/)\n- [Corporación Municipal](https://alcazardesanjuan.es/corporacion-municipal/)\n- [Pleno](https://alcazardesanjuan.es/pleno/)\n- [Canal ético denuncias](https://alcazardesanjuan.es/canal-etico-denuncias/)\n- [La ciudad (historia)](https://alcazardesanjuan.es/la-ciudad/)\n- [Calendario de fiestas](https://alcazardesanjuan.es/calendario-de-fiestas/)\n- [Callejero](https://alcazardesanjuan.es/callejero/)\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>Ayto de Alcázar de San Juan</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://alcazardesanjuan.es\">\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://alcazardesanjuan.es\">\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: \"Ayto de Alcázar de San Juan\",\n description: \"Portal Web del Ayuntamiento de Alcázar de San Juan\",\n openGraph: {\n title: \"Ayto de Alcázar de San Juan\",\n description: \"Portal Web del Ayuntamiento de Alcázar de San Juan\",\n url: \"https://alcazardesanjuan.es\",\n images: [\"https://yoursite.com/og-image.jpg\"],\n type: 'website',\n },\n};"
}
]
},
{
"id": "add_content_signals",
"title": "Add Content-Signal directives",
"description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
"language": "txt",
"code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
"filename": "/robots.txt",
"stacks": [
{
"id": "robots",
"label": "robots.txt",
"language": "txt",
"filename": "/robots.txt",
"code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
},
{
"id": "nginx",
"label": "Nginx",
"language": "nginx",
"filename": "server block",
"code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
},
{
"id": "apache",
"label": "Apache",
"language": "apache",
"filename": ".htaccess",
"code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "middleware.ts",
"code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n const res = NextResponse.next();\n res.headers.set(\n 'Content-Signal',\n 'search=yes, ai-input=yes, ai-train=no'\n );\n return res;\n}\nexport const config = { matcher: '/:path*' };"
},
{
"id": "cloudflare",
"label": "Cloudflare Workers",
"language": "javascript",
"filename": "worker.js",
"code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n async fetch(request, env, ctx) {\n const res = await fetch(request);\n const newRes = new Response(res.body, res);\n newRes.headers.set(\n 'Content-Signal',\n 'search=yes, ai-input=yes, ai-train=no'\n );\n return newRes;\n },\n};"
},
{
"id": "express",
"label": "Express / Fastify",
"language": "javascript",
"filename": "server.js",
"code": "// Express\napp.use((req, res, next) => {\n res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n done();\n});"
}
]
},
{
"id": "add_markdown_negotiation",
"title": "Support Markdown for Agents",
"description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
"language": "html",
"code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
"filename": "<head>",
"stacks": [
{
"id": "html",
"label": "HTML <head>",
"language": "html",
"filename": "<head>",
"code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
},
{
"id": "express",
"label": "Express",
"language": "javascript",
"filename": "server.js",
"code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"
},
{
"id": "fastify",
"label": "Fastify",
"language": "javascript",
"filename": "server.js",
"code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"
},
{
"id": "nextjs",
"label": "Next.js",
"language": "typescript",
"filename": "app/page/route.ts",
"code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"
},
{
"id": "wordpress",
"label": "WordPress",
"language": "php",
"filename": "functions.php",
"code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n if (!is_singular()) return;\n $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n if (strpos($accept, 'text/markdown') === false) return;\n header('Content-Type: text/markdown; charset=utf-8');\n header('Vary: Accept');\n $post = get_queried_object();\n echo \"# \" . get_the_title($post) . \"\\n\\n\";\n echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n exit;\n});"
},
{
"id": "static",
"label": "Hugo / Jekyll / Astro",
"language": "txt",
"filename": "static/page.md",
"code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n# <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
}
]
}
]
}
Use 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.
Share your results
Or ask an AI to help you fix it
Want a second opinion?
Cloudflare runs a free scanner too, and it asks a different question. It scores what your site publishes for agents to call — MCP server cards, Agent Skills, API catalogs, DNS records. We score whether an agent can reach, read and understand your content. A site can do well on one and poorly on the other, so expect two different numbers: they are answers to two different questions, and both are worth knowing.
Scan alcazardesanjuan.es with CloudflareEmbed 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="fcd145a8-07b7-4c9e-8c42-c2f750ebffee" data-domain="alcazardesanjuan.es"></script>
[](https://agentready.md/r/alcazardesanjuan.es)
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.
You're on the list! We'll notify you when it launches.