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

已分析URL

https://www.ouimerci.es

分析另一个URL

AI-Ready评分

67 / C

一般

/ 100

Token节省量

HTML Token 8520
Markdown Token 1578
节省 81%

评分详情

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

新兴协议

已检测到 0/3

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

  • OAuth Discovery RFC 8414
    /.well-known/oauth-authorization-server
  • MCP Server Card Anthropic
    /.well-known/mcp.json
  • A2A Agent Card Google
    /.well-known/agent.json

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

如何实施

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

您的页面未使用<article>或<main>元素。这些语义容器帮助AI代理识别主要内容区域,忽略导航、侧边栏和页脚。

如何实施

在页面主要内容周围添加<main>元素,并对博客文章或产品描述等独立内容块使用<article>。

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

如何实施

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

{\n res.setHeader('Vary', 'Accept');\n res.setHeader('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n res.type('text/markdown; charset=utf-8');\n return res.send(renderMarkdown('page'));\n }\n res.render('page');\n});"},{"id":"fastify","label":"Fastify","language":"javascript","filename":"server.js","code":"// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n reply.header('Vary', 'Accept');\n reply.header('Link', '; rel=\"alternate\"; type=\"text/markdown\"');\n if ((req.headers.accept || '').includes('text/markdown')) {\n return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n }\n return reply.view('/page.ejs');\n});"},{"id":"nextjs","label":"Next.js","language":"typescript","filename":"app/page/route.ts","code":"// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n const accept = req.headers.get('accept') || '';\n if (accept.includes('text/markdown')) {\n return new Response(await renderMarkdown('page'), {\n headers: {\n 'Content-Type': 'text/markdown; charset=utf-8',\n 'Vary': 'Accept',\n },\n });\n }\n // Fall through to the page component\n return new Response(null, { status: 404 });\n}"},{"id":"wordpress","label":"WordPress","language":"php","filename":"functions.php","code":"post_content));\n exit;\n});"},{"id":"static","label":"Hugo / Jekyll / Astro","language":"txt","filename":"static/page.md","code":"# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in :\n# "}] }'>

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

如何实施

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

{\n res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n done();\n});"}] }'>

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

如何实施

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

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

如何实施

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

Markdown Token: 1578
## Francés de 0 a C1. Empieza a hablar hoy.

Un método único que mejora tu francés y tu confianza. Conversación real en 3 meses.

[Quiero empezar](https://www.ouimerci.es/clases)

## ¿Cómo prefieres aprender?

### 👥 En grupo![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-grupal.jpg)

Presencial en Castellón. Trimestres de octubre a junio. Hasta 10 personas.

[Quiero apuntarme](https://www.ouimerci.es/clases-en-grupo)

### 👤 Individual![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-particular.jpg)

Presencial u online. A tu ritmo, todo el año. 100% personalizado. Sesiones sueltas o en pack de 10 o 20.

[Quiero empezar](https://www.ouimerci.es/clases-particulares)

### 🎧 En autonomía![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-online.jpg)

Cuando quieras, donde quieras. Acceso de por vida. Toda la conjugación en vídeo — clara y lógica. Recomendado: 1 a 2 meses.

[Quiero el curso](https://ouimerci.teachizy.fr/formations/conjugaison-la-methode-oui-merci)

## "Es que a mí los idiomas se me dan mal."

Lo escucho cada semana. Y te entiendo, porque yo era igual. Me sentía menos por no tener el don para los idiomas.

Hasta que descubrí que ese don no existe.

No es talento. Es método. Y eso sí tiene solución.

## El secreto para aprender un idioma de verdad

No es estudiar más. Es estudiar diferente.

Te presento el método OUI.

O

### Oral Primero

La boca, luego la gramática. El miedo a hablar se cura hablando y desde el primer día. Cuanto antes empieces, menos bloqueos acumulas.

U

### Útil

No vas a aprender todo el francés. Nadie lo hace. Aprenderás exactamente lo que necesitas y eso te hará avanzar más rápido.

I

### Inmersión con Intención

Practicar en contextos reales, con propósito. El francés se vive antes de aprobar un examen.

La metodología Oui Merci incluye además una reorganización de la conjugación al estilo Marie Kondo que desarrollé en 5 años de investigación. Hoy lo enseño a otros profesores de FLE, y a ti.

![Léa Ricci, profesora de francés](https://www.ouimerci.es/photo/personas/Lea-cafe.jpg)

## Soy Léa Ricci.

Durante años creí que no tenía el don para los idiomas. Ocho años de español en el colegio. Buenas notas en los exámenes. Y al final incapaz de decir una frase en voz alta sin que me temblara la voz.

Hasta que me quedé sola en Brasil. Mi pareja se fue. Yo me quedé. Sin amigos, sin profesor, sin red de seguridad. Solo una necesidad real de comunicarme.

Fue incómodo. Fue aterrador. Y fue lo mejor que me pasó. En tres meses, hablaba portugués. En nueve, era bilingüe.

Tengo un Máster en didáctica del FLE por la Universidad de Lyon. He publicado dos libros y creado la Metodología Oui Merci. He formado a más de 1.300 alumnos hispanohablantes y me han invitado como ponente en la Sorbonne (París) y la Universitat Jaume I (Castellón).

[Conoce el método](https://www.ouimerci.es/bio)

## El francés que cambia vidas

No hablamos de notas. Hablamos de lo que pasa después.

> "Es que a mí los idiomas se me dan mal." Eso me dijo cuando llegó. Dos semanas después, empezaba a trabajar en Suiza. Hoy está en C1, sacó un 100% en el oral del B2, y habla seis idiomas.

> Seis meses de clases. Sin experiencia previa. Se fueron a Suiza sin nada — y encontraron trabajo allí. El francés no fue un plus en su CV. Fue el billete.

> Le mencionó a su jefe que había hecho una exposición en francés. Resultado: dos clientes nuevos y una subida de sueldo. Una conversación. Una pausa café. Un idioma.

> Siempre dejaba hablar a su colega con los clientes francófonos. Un día tomó la palabra. Los clientes quedaron tan impresionados que le agradecieron el gesto. Desde entonces, se siente parte del equipo de verdad.

Y luego están los que encontraron el amor en clase, los que se atrevieron a viajar solos, los que encontraron trabajo, los que vienen solo para pasárselo bien…

El francés no es un idioma más. Es la versión de ti que estabas esperando.

[Quiero empezar](https://www.ouimerci.es/clases)

## ¿Cuándo empezamos?

### Intensivo de septiembre

Del 7 de septiembre al 1 de octubre. Arranca el curso con fuerza antes de la rentrée. Inscripciones hasta el 4 de septiembre.

[Quiero el intensivo](https://www.ouimerci.es/clases-intensivas)

### Grupos octubre–diciembre

Arrancan el 5 de octubre. Máximo 10 personas por grupo. Inscripciones hasta el 8 de octubre.

[Quiero apuntarme al grupo](https://www.ouimerci.es/clases-en-grupo)

## ¿Ya te has apuntado?

Tienes un regalo esperándote.

### Si empiezas desde cero

Te enviamos **"Tu primer día en francés"**: el ebook que te prepara para tu primera clase. En 30 minutos aprenderás el alfabeto, a presentarte, el vocabulario básico de clase y los días de la semana. Para que cuando llegues, ya empecemos.

### Si ya tienes nivel

Te enviamos **"57 actividades para vivir en francés"** porque cuanto más vives el idioma fuera de clase, más rápido llegas a donde quieres. No tienes que hacerlas todas. Solo las que encajan en tu vida.

Tu regalo llega automáticamente al inscribirte.

No aprendes un idioma cuando lo necesitas. Lo aprendes antes, para poder hablar cuando llegue el momento.

Si te falta una habilidad técnica para un puesto, puedes aprenderla sobre la marcha. Si te falta el idioma, te descartan.

La decisión es tuya. Cuanto antes actúas, antes hablas.

[Quiero empezar](https://www.ouimerci.es/clases)
OuiMerci | La academia de francés en Castellón

# Francés de 0 a C1. Empieza a hablar hoy.

Un método único que mejora tu francés y tu confianza. Conversación real en 3 meses.

[Quiero empezar](https://www.ouimerci.es/clases)

## ¿Cómo prefieres aprender?

### 👥 En grupo![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-grupal.jpg)

Presencial en Castellón. Trimestres de octubre a junio. Hasta 10 personas.

[Quiero apuntarme](https://www.ouimerci.es/clases-en-grupo)

### 👤 Individual![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-particular.jpg)

Presencial u online. A tu ritmo, todo el año. 100% personalizado. Sesiones sueltas o en pack de 10 o 20.

[Quiero empezar](https://www.ouimerci.es/clases-particulares)

### 🎧 En autonomía![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-online.jpg)

Cuando quieras, donde quieras. Acceso de por vida. Toda la conjugación en vídeo — clara y lógica. Recomendado: 1 a 2 meses.

[Quiero el curso](https://ouimerci.teachizy.fr/formations/conjugaison-la-methode-oui-merci)

✦ 1.300 alumnos formados✦ 98% de éxito en el examen✦ [4,9/5 en Google (101 opiniones)](https://g.page/r/CTpc3qSGRI1gEAg/review)✦ Ponente en la Sorbonne y la UJI✦ [1 libro disponible](https://www.amazon.es/conjugaison-fran%C3%A7aise-enfin-logique-dexercices/dp/B0GTT86ND4)

[![Camara de comercio de Castellon](https://www.ouimerci.es/photo/logos/camara-castellon.jpg "Camara de comercio de Castellon")](https://www.camaracastellon.com/es/)[![Innova group](https://www.ouimerci.es/photo/logos/innova.png "Innova group")](https://www.innovamaquinaria.com/)[![Applus](https://www.ouimerci.es/photo/logos/applus.jpg "Applus")](https://www.applus.com/global/es/)[![Nestlé](https://www.ouimerci.es/photo/logos/nestle.jpg "Nestlé")](https://empresa.nestle.es/)[![Pierre Fabre](https://www.ouimerci.es/photo/logos/pierre-fabre.jpg "Pierre Fabre")](https://www.pierre-fabre.com/es-es)[![Col·legi d'Advocats de Barcelona](https://www.ouimerci.es/photo/logos/colegio-de-abogados-de-barcelona.png "Col·legi d'Advocats de Barcelona")](https://www.icab.es/es/)[![Norauto](https://www.ouimerci.es/photo/logos/norauto.jpg "Norauto")](https://www.norauto.es/)[![SEPE](https://www.ouimerci.es/photo/logos/sepe.jpg "SEPE")](https://www.sepe.es/)[![easyJet](https://www.ouimerci.es/photo/logos/easyjet.jpg "easyJet")](https://www.easyjet.com/)[![Pamesa](https://www.ouimerci.es/photo/logos/pamesa.png "Pamesa")](https://www.pamesa.com/)[![Vivarte](https://www.ouimerci.es/photo/logos/vivarte.jpg "Vivarte")](https://vivarte.es/)[![Labora](https://www.ouimerci.es/photo/logos/labora.png "Labora")](https://labora.gva.es/)[![Ajuntament de Sant Joan de Moró](https://www.ouimerci.es/photo/logos/santjoandemoro.png "Ajuntament de Sant Joan de Moró")](https://www.santjoandemoro.es/)[![Kerafrit](https://www.ouimerci.es/photo/logos/kerafrit.png "Kerafrit")](https://www.kerafrit.com/)[![ITECON](https://www.ouimerci.es/photo/logos/itecon.jpeg "ITECON")](https://www.itecon.es/es/)[![Togama](https://www.ouimerci.es/photo/logos/togama.png "Togama")](https://togama.com/)[![Hotel Voramar](https://www.ouimerci.es/photo/logos/voramar.jpg "Hotel Voramar")](https://voramar.net/)[![Congelados Dil](https://www.ouimerci.es/photo/logos/congeladosdil.webp "Congelados Dil")](https://congeladosdil.com/)

## "Es que a mí los idiomas se me dan mal."

Lo escucho cada semana. Y te entiendo, porque yo era igual. Me sentía menos por no tener el don para los idiomas.

Hasta que descubrí que ese don no existe.

No es talento. Es método. Y eso sí tiene solución.

## El secreto para aprender un idioma de verdad

No es estudiar más. Es estudiar diferente.

Te presento el método OUI.

O

### Oral Primero

La boca, luego la gramática. El miedo a hablar se cura hablando y desde el primer día. Cuanto antes empieces, menos bloqueos acumulas.

U

### Útil

No vas a aprender todo el francés. Nadie lo hace. Aprenderás exactamente lo que necesitas y eso te hará avanzar más rápido.

I

### Inmersión con Intención

Practicar en contextos reales, con propósito. El francés se vive antes de aprobar un examen.

La metodología Oui Merci incluye además una reorganización de la conjugación al estilo Marie Kondo que desarrollé en 5 años de investigación. Hoy lo enseño a otros profesores de FLE, y a ti.

![Léa Ricci, profesora de francés](https://www.ouimerci.es/photo/personas/Lea-cafe.jpg)

## Soy Léa Ricci.

Durante años creí que no tenía el don para los idiomas. Ocho años de español en el colegio. Buenas notas en los exámenes. Y al final incapaz de decir una frase en voz alta sin que me temblara la voz.

Hasta que me quedé sola en Brasil. Mi pareja se fue. Yo me quedé. Sin amigos, sin profesor, sin red de seguridad. Solo una necesidad real de comunicarme.

Fue incómodo. Fue aterrador. Y fue lo mejor que me pasó. En tres meses, hablaba portugués. En nueve, era bilingüe.

Tengo un Máster en didáctica del FLE por la Universidad de Lyon. He publicado dos libros y creado la Metodología Oui Merci. He formado a más de 1.300 alumnos hispanohablantes y me han invitado como ponente en la Sorbonne (París) y la Universitat Jaume I (Castellón).

[Conoce el método](https://www.ouimerci.es/bio)

## El francés que cambia vidas

No hablamos de notas. Hablamos de lo que pasa después.

> "Es que a mí los idiomas se me dan mal." Eso me dijo cuando llegó. Dos semanas después, empezaba a trabajar en Suiza. Hoy está en C1, sacó un 100% en el oral del B2, y habla seis idiomas.

Carlos,ingeniero

> Seis meses de clases. Sin experiencia previa. Se fueron a Suiza sin nada — y encontraron trabajo allí. El francés no fue un plus en su CV. Fue el billete.

Molly y Alfredo,nivel cero

> Le mencionó a su jefe que había hecho una exposición en francés. Resultado: dos clientes nuevos y una subida de sueldo. Una conversación. Una pausa café. Un idioma.

Sara,en pausa café

> Siempre dejaba hablar a su colega con los clientes francófonos. Un día tomó la palabra. Los clientes quedaron tan impresionados que le agradecieron el gesto. Desde entonces, se siente parte del equipo de verdad.

Alberto,en reunión

Y luego están los que encontraron el amor en clase, los que se atrevieron a viajar solos, los que encontraron trabajo, los que vienen solo para pasárselo bien…

El francés no es un idioma más. Es la versión de ti que estabas esperando.

[Quiero empezar](https://www.ouimerci.es/clases)

## ¿Cuándo empezamos?

### Intensivo de septiembre

Del 7 de septiembre al 1 de octubre. Arranca el curso con fuerza antes de la rentrée. Inscripciones hasta el 4 de septiembre.

[Quiero el intensivo](https://www.ouimerci.es/clases-intensivas)

### Grupos octubre–diciembre

Arrancan el 5 de octubre. Máximo 10 personas por grupo. Inscripciones hasta el 8 de octubre.

[Quiero apuntarme al grupo](https://www.ouimerci.es/clases-en-grupo)

### Clases particulares

Sin fechas, sin esperas. Empiezas cuando tú decides.

[Quiero clases particulares](https://www.ouimerci.es/clases-particulares)

## ¿Ya te has apuntado?

Tienes un regalo esperándote.

### Si empiezas desde cero

Te enviamos **"Tu primer día en francés"**: el ebook que te prepara para tu primera clase. En 30 minutos aprenderás el alfabeto, a presentarte, el vocabulario básico de clase y los días de la semana. Para que cuando llegues, ya empecemos.

### Si ya tienes nivel

Te enviamos **"57 actividades para vivir en francés"** porque cuanto más vives el idioma fuera de clase, más rápido llegas a donde quieres. No tienes que hacerlas todas. Solo las que encajan en tu vida.

Tu regalo llega automáticamente al inscribirte.

No aprendes un idioma cuando lo necesitas. Lo aprendes antes, para poder hablar cuando llegue el momento.

Si te falta una habilidad técnica para un puesto, puedes aprenderla sobre la marcha. Si te falta el idioma, te descartan.

La decisión es tuya. Cuanto antes actúas, antes hablas.

[Quiero empezar](https://www.ouimerci.es/clases)

**Aceptas el uso de cookies?** 🍪 Utilizamos cookies para mejorar la experiencia de usuario. [Saber más](https://www.ouimerci.es/photo/aviso-legal-y-cie.pdf) Acepto

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

为此单页生成的llms.txt

下载llms.txt
# ouimerci.es

> Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.

## Main
- [OuiMerci | La academia de francés en Castellón](https://www.ouimerci.es): Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.
- [Clases presenciales](https://www.ouimerci.es/clases)
- [Intensivo septiembre](https://www.ouimerci.es/clases-intensivas)
- [En grupo](https://www.ouimerci.es/clases-en-grupo)
- [Particular](https://www.ouimerci.es/clases-particulares)
- [Curso de conjugación](https://www.ouimerci.es/cours-conjugaison-fran%C3%A7aise)
- [Precios](https://www.ouimerci.es/inscripciones)
- [Actividades](https://www.ouimerci.es/comunidad)
- [Programa](https://www.ouimerci.es/l/programa_actividades)

## Blog
- [Blog](https://www.ouimerci.es/blog)

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

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

语义化HTML

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

Missing <article> and <main> elements

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

Clean heading hierarchy

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

11 semantic elements, 72 divs (ratio: 13%)

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

26/27 images with meaningful alt text

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

Avg div depth: 4.3, max: 8

内容效率

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

81% token reduction (HTML→Markdown)

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

Content ratio: 16.1% (4532 content chars / 28073 HTML bytes)

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

63/412 elements with inline styles (15.3%)

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

HTML size: 27KB

AI可发现性

有llms.txt文件 (0/100)

No llms.txt found

有robots.txt文件 (100/100)

robots.txt exists

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

All major AI bots allowed

有sitemap.xml (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: ProfessionalService, BreadcrumbList

有Open Graph标签 (100/100)

All OG tags present

有meta描述 (100/100)

Meta description: 114 chars

有规范URL (100/100)

Canonical URL present

有lang属性 (100/100)

lang="es"

可访问性

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

Content available without JavaScript

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

Page size: 27KB

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

Main content starts at 34% of HTML

{
  "url": "https://www.ouimerci.es",
  "timestamp": 1780504109530,
  "fetch": {
    "mode": "simple",
    "timeMs": 150,
    "htmlSizeBytes": 28073,
    "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": "OuiMerci | La academia de francés en Castellón",
    "excerpt": "Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.",
    "byline": null,
    "siteName": null,
    "lang": "es",
    "contentLength": 4532,
    "metadata": {
      "description": "Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.",
      "ogTitle": "OuiMerci | La academia de francés en Castellón",
      "ogDescription": "Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.",
      "ogImage": "https://www.ouimerci.es/photo/virgule.jpg",
      "ogType": "website",
      "canonical": "https://www.ouimerci.es/",
      "lang": "es",
      "schemas": [
        {
          "@context": "https://schema.org",
          "@type": "ProfessionalService",
          "@id": "https://www.ouimerci.es",
          "name": "Oui Merci",
          "description": "Academia de francés y organizadora de eventos en francés",
          "logo": "https://www.ouimerci.es/photo/favicon.png",
          "image": "https://www.ouimerci.es/photo/favicon.png",
          "address": {
            "@type": "PostalAddress",
            "streetAddress": "Calle Botánico Cavanilles, 19 bajos",
            "addressLocality": "Castelló de la Plana",
            "postalCode": "12006",
            "addressRegion": "Castelló",
            "addressCountry": "ES"
          },
          "geo": {
            "@type": "GeoCoordinates",
            "latitude": 39.9912,
            "longitude": -0.06109
          },
          "url": "https://www.ouimerci.es",
          "telephone": "+34654216763",
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday"
              ],
              "opens": "9:00",
              "closes": "21:30"
            }
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "BreadcrumbList",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": {
                "@id": "https://www.ouimerci.es/",
                "name": "Inicio"
              }
            }
          ]
        }
      ],
      "robotsMeta": null,
      "author": null,
      "generator": null,
      "markdownAlternateHref": null
    }
  },
  "markdown": "## Francés de 0 a C1. Empieza a hablar hoy.\n\nUn método único que mejora tu francés y tu confianza. Conversación real en 3 meses.\n\n[Quiero empezar](https://www.ouimerci.es/clases)\n\n## ¿Cómo prefieres aprender?\n\n### 👥 En grupo![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-grupal.jpg)\n\nPresencial en Castellón. Trimestres de octubre a junio. Hasta 10 personas.\n\n[Quiero apuntarme](https://www.ouimerci.es/clases-en-grupo)\n\n### 👤 Individual![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-particular.jpg)\n\nPresencial u online. A tu ritmo, todo el año. 100% personalizado. Sesiones sueltas o en pack de 10 o 20.\n\n[Quiero empezar](https://www.ouimerci.es/clases-particulares)\n\n### 🎧 En autonomía![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-online.jpg)\n\nCuando quieras, donde quieras. Acceso de por vida. Toda la conjugación en vídeo — clara y lógica. Recomendado: 1 a 2 meses.\n\n[Quiero el curso](https://ouimerci.teachizy.fr/formations/conjugaison-la-methode-oui-merci)\n\n## \"Es que a mí los idiomas se me dan mal.\"\n\nLo escucho cada semana. Y te entiendo, porque yo era igual. Me sentía menos por no tener el don para los idiomas.\n\nHasta que descubrí que ese don no existe.\n\nNo es talento. Es método. Y eso sí tiene solución.\n\n## El secreto para aprender un idioma de verdad\n\nNo es estudiar más. Es estudiar diferente.\n\nTe presento el método OUI.\n\nO\n\n### Oral Primero\n\nLa boca, luego la gramática. El miedo a hablar se cura hablando y desde el primer día. Cuanto antes empieces, menos bloqueos acumulas.\n\nU\n\n### Útil\n\nNo vas a aprender todo el francés. Nadie lo hace. Aprenderás exactamente lo que necesitas y eso te hará avanzar más rápido.\n\nI\n\n### Inmersión con Intención\n\nPracticar en contextos reales, con propósito. El francés se vive antes de aprobar un examen.\n\nLa metodología Oui Merci incluye además una reorganización de la conjugación al estilo Marie Kondo que desarrollé en 5 años de investigación. Hoy lo enseño a otros profesores de FLE, y a ti.\n\n![Léa Ricci, profesora de francés](https://www.ouimerci.es/photo/personas/Lea-cafe.jpg)\n\n## Soy Léa Ricci.\n\nDurante años creí que no tenía el don para los idiomas. Ocho años de español en el colegio. Buenas notas en los exámenes. Y al final incapaz de decir una frase en voz alta sin que me temblara la voz.\n\nHasta que me quedé sola en Brasil. Mi pareja se fue. Yo me quedé. Sin amigos, sin profesor, sin red de seguridad. Solo una necesidad real de comunicarme.\n\nFue incómodo. Fue aterrador. Y fue lo mejor que me pasó. En tres meses, hablaba portugués. En nueve, era bilingüe.\n\nTengo un Máster en didáctica del FLE por la Universidad de Lyon. He publicado dos libros y creado la Metodología Oui Merci. He formado a más de 1.300 alumnos hispanohablantes y me han invitado como ponente en la Sorbonne (París) y la Universitat Jaume I (Castellón).\n\n[Conoce el método](https://www.ouimerci.es/bio)\n\n## El francés que cambia vidas\n\nNo hablamos de notas. Hablamos de lo que pasa después.\n\n> \"Es que a mí los idiomas se me dan mal.\" Eso me dijo cuando llegó. Dos semanas después, empezaba a trabajar en Suiza. Hoy está en C1, sacó un 100% en el oral del B2, y habla seis idiomas.\n\n> Seis meses de clases. Sin experiencia previa. Se fueron a Suiza sin nada — y encontraron trabajo allí. El francés no fue un plus en su CV. Fue el billete.\n\n> Le mencionó a su jefe que había hecho una exposición en francés. Resultado: dos clientes nuevos y una subida de sueldo. Una conversación. Una pausa café. Un idioma.\n\n> Siempre dejaba hablar a su colega con los clientes francófonos. Un día tomó la palabra. Los clientes quedaron tan impresionados que le agradecieron el gesto. Desde entonces, se siente parte del equipo de verdad.\n\nY luego están los que encontraron el amor en clase, los que se atrevieron a viajar solos, los que encontraron trabajo, los que vienen solo para pasárselo bien…\n\nEl francés no es un idioma más. Es la versión de ti que estabas esperando.\n\n[Quiero empezar](https://www.ouimerci.es/clases)\n\n## ¿Cuándo empezamos?\n\n### Intensivo de septiembre\n\nDel 7 de septiembre al 1 de octubre. Arranca el curso con fuerza antes de la rentrée. Inscripciones hasta el 4 de septiembre.\n\n[Quiero el intensivo](https://www.ouimerci.es/clases-intensivas)\n\n### Grupos octubre–diciembre\n\nArrancan el 5 de octubre. Máximo 10 personas por grupo. Inscripciones hasta el 8 de octubre.\n\n[Quiero apuntarme al grupo](https://www.ouimerci.es/clases-en-grupo)\n\n## ¿Ya te has apuntado?\n\nTienes un regalo esperándote.\n\n### Si empiezas desde cero\n\nTe enviamos **\"Tu primer día en francés\"**: el ebook que te prepara para tu primera clase. En 30 minutos aprenderás el alfabeto, a presentarte, el vocabulario básico de clase y los días de la semana. Para que cuando llegues, ya empecemos.\n\n### Si ya tienes nivel\n\nTe enviamos **\"57 actividades para vivir en francés\"** porque cuanto más vives el idioma fuera de clase, más rápido llegas a donde quieres. No tienes que hacerlas todas. Solo las que encajan en tu vida.\n\nTu regalo llega automáticamente al inscribirte.\n\nNo aprendes un idioma cuando lo necesitas. Lo aprendes antes, para poder hablar cuando llegue el momento.\n\nSi te falta una habilidad técnica para un puesto, puedes aprenderla sobre la marcha. Si te falta el idioma, te descartan.\n\nLa decisión es tuya. Cuanto antes actúas, antes hablas.\n\n[Quiero empezar](https://www.ouimerci.es/clases)\n",
  "fullPageMarkdown": "OuiMerci | La academia de francés en Castellón\n\n# Francés de 0 a C1. Empieza a hablar hoy.\n\nUn método único que mejora tu francés y tu confianza. Conversación real en 3 meses.\n\n[Quiero empezar](https://www.ouimerci.es/clases)\n\n## ¿Cómo prefieres aprender?\n\n### 👥 En grupo![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-grupal.jpg)\n\nPresencial en Castellón. Trimestres de octubre a junio. Hasta 10 personas.\n\n[Quiero apuntarme](https://www.ouimerci.es/clases-en-grupo)\n\n### 👤 Individual![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-particular.jpg)\n\nPresencial u online. A tu ritmo, todo el año. 100% personalizado. Sesiones sueltas o en pack de 10 o 20.\n\n[Quiero empezar](https://www.ouimerci.es/clases-particulares)\n\n### 🎧 En autonomía![Descripcion foto](https://www.ouimerci.es/photo/avatar/clase-online.jpg)\n\nCuando quieras, donde quieras. Acceso de por vida. Toda la conjugación en vídeo — clara y lógica. Recomendado: 1 a 2 meses.\n\n[Quiero el curso](https://ouimerci.teachizy.fr/formations/conjugaison-la-methode-oui-merci)\n\n✦ 1.300 alumnos formados✦ 98% de éxito en el examen✦ [4,9/5 en Google (101 opiniones)](https://g.page/r/CTpc3qSGRI1gEAg/review)✦ Ponente en la Sorbonne y la UJI✦ [1 libro disponible](https://www.amazon.es/conjugaison-fran%C3%A7aise-enfin-logique-dexercices/dp/B0GTT86ND4)\n\n[![Camara de comercio de Castellon](https://www.ouimerci.es/photo/logos/camara-castellon.jpg \"Camara de comercio de Castellon\")](https://www.camaracastellon.com/es/)[![Innova group](https://www.ouimerci.es/photo/logos/innova.png \"Innova group\")](https://www.innovamaquinaria.com/)[![Applus](https://www.ouimerci.es/photo/logos/applus.jpg \"Applus\")](https://www.applus.com/global/es/)[![Nestlé](https://www.ouimerci.es/photo/logos/nestle.jpg \"Nestlé\")](https://empresa.nestle.es/)[![Pierre Fabre](https://www.ouimerci.es/photo/logos/pierre-fabre.jpg \"Pierre Fabre\")](https://www.pierre-fabre.com/es-es)[![Col·legi d'Advocats de Barcelona](https://www.ouimerci.es/photo/logos/colegio-de-abogados-de-barcelona.png \"Col·legi d'Advocats de Barcelona\")](https://www.icab.es/es/)[![Norauto](https://www.ouimerci.es/photo/logos/norauto.jpg \"Norauto\")](https://www.norauto.es/)[![SEPE](https://www.ouimerci.es/photo/logos/sepe.jpg \"SEPE\")](https://www.sepe.es/)[![easyJet](https://www.ouimerci.es/photo/logos/easyjet.jpg \"easyJet\")](https://www.easyjet.com/)[![Pamesa](https://www.ouimerci.es/photo/logos/pamesa.png \"Pamesa\")](https://www.pamesa.com/)[![Vivarte](https://www.ouimerci.es/photo/logos/vivarte.jpg \"Vivarte\")](https://vivarte.es/)[![Labora](https://www.ouimerci.es/photo/logos/labora.png \"Labora\")](https://labora.gva.es/)[![Ajuntament de Sant Joan de Moró](https://www.ouimerci.es/photo/logos/santjoandemoro.png \"Ajuntament de Sant Joan de Moró\")](https://www.santjoandemoro.es/)[![Kerafrit](https://www.ouimerci.es/photo/logos/kerafrit.png \"Kerafrit\")](https://www.kerafrit.com/)[![ITECON](https://www.ouimerci.es/photo/logos/itecon.jpeg \"ITECON\")](https://www.itecon.es/es/)[![Togama](https://www.ouimerci.es/photo/logos/togama.png \"Togama\")](https://togama.com/)[![Hotel Voramar](https://www.ouimerci.es/photo/logos/voramar.jpg \"Hotel Voramar\")](https://voramar.net/)[![Congelados Dil](https://www.ouimerci.es/photo/logos/congeladosdil.webp \"Congelados Dil\")](https://congeladosdil.com/)\n\n## \"Es que a mí los idiomas se me dan mal.\"\n\nLo escucho cada semana. Y te entiendo, porque yo era igual. Me sentía menos por no tener el don para los idiomas.\n\nHasta que descubrí que ese don no existe.\n\nNo es talento. Es método. Y eso sí tiene solución.\n\n## El secreto para aprender un idioma de verdad\n\nNo es estudiar más. Es estudiar diferente.\n\nTe presento el método OUI.\n\nO\n\n### Oral Primero\n\nLa boca, luego la gramática. El miedo a hablar se cura hablando y desde el primer día. Cuanto antes empieces, menos bloqueos acumulas.\n\nU\n\n### Útil\n\nNo vas a aprender todo el francés. Nadie lo hace. Aprenderás exactamente lo que necesitas y eso te hará avanzar más rápido.\n\nI\n\n### Inmersión con Intención\n\nPracticar en contextos reales, con propósito. El francés se vive antes de aprobar un examen.\n\nLa metodología Oui Merci incluye además una reorganización de la conjugación al estilo Marie Kondo que desarrollé en 5 años de investigación. Hoy lo enseño a otros profesores de FLE, y a ti.\n\n![Léa Ricci, profesora de francés](https://www.ouimerci.es/photo/personas/Lea-cafe.jpg)\n\n## Soy Léa Ricci.\n\nDurante años creí que no tenía el don para los idiomas. Ocho años de español en el colegio. Buenas notas en los exámenes. Y al final incapaz de decir una frase en voz alta sin que me temblara la voz.\n\nHasta que me quedé sola en Brasil. Mi pareja se fue. Yo me quedé. Sin amigos, sin profesor, sin red de seguridad. Solo una necesidad real de comunicarme.\n\nFue incómodo. Fue aterrador. Y fue lo mejor que me pasó. En tres meses, hablaba portugués. En nueve, era bilingüe.\n\nTengo un Máster en didáctica del FLE por la Universidad de Lyon. He publicado dos libros y creado la Metodología Oui Merci. He formado a más de 1.300 alumnos hispanohablantes y me han invitado como ponente en la Sorbonne (París) y la Universitat Jaume I (Castellón).\n\n[Conoce el método](https://www.ouimerci.es/bio)\n\n## El francés que cambia vidas\n\nNo hablamos de notas. Hablamos de lo que pasa después.\n\n> \"Es que a mí los idiomas se me dan mal.\" Eso me dijo cuando llegó. Dos semanas después, empezaba a trabajar en Suiza. Hoy está en C1, sacó un 100% en el oral del B2, y habla seis idiomas.\n\nCarlos,ingeniero\n\n> Seis meses de clases. Sin experiencia previa. Se fueron a Suiza sin nada — y encontraron trabajo allí. El francés no fue un plus en su CV. Fue el billete.\n\nMolly y Alfredo,nivel cero\n\n> Le mencionó a su jefe que había hecho una exposición en francés. Resultado: dos clientes nuevos y una subida de sueldo. Una conversación. Una pausa café. Un idioma.\n\nSara,en pausa café\n\n> Siempre dejaba hablar a su colega con los clientes francófonos. Un día tomó la palabra. Los clientes quedaron tan impresionados que le agradecieron el gesto. Desde entonces, se siente parte del equipo de verdad.\n\nAlberto,en reunión\n\nY luego están los que encontraron el amor en clase, los que se atrevieron a viajar solos, los que encontraron trabajo, los que vienen solo para pasárselo bien…\n\nEl francés no es un idioma más. Es la versión de ti que estabas esperando.\n\n[Quiero empezar](https://www.ouimerci.es/clases)\n\n## ¿Cuándo empezamos?\n\n### Intensivo de septiembre\n\nDel 7 de septiembre al 1 de octubre. Arranca el curso con fuerza antes de la rentrée. Inscripciones hasta el 4 de septiembre.\n\n[Quiero el intensivo](https://www.ouimerci.es/clases-intensivas)\n\n### Grupos octubre–diciembre\n\nArrancan el 5 de octubre. Máximo 10 personas por grupo. Inscripciones hasta el 8 de octubre.\n\n[Quiero apuntarme al grupo](https://www.ouimerci.es/clases-en-grupo)\n\n### Clases particulares\n\nSin fechas, sin esperas. Empiezas cuando tú decides.\n\n[Quiero clases particulares](https://www.ouimerci.es/clases-particulares)\n\n## ¿Ya te has apuntado?\n\nTienes un regalo esperándote.\n\n### Si empiezas desde cero\n\nTe enviamos **\"Tu primer día en francés\"**: el ebook que te prepara para tu primera clase. En 30 minutos aprenderás el alfabeto, a presentarte, el vocabulario básico de clase y los días de la semana. Para que cuando llegues, ya empecemos.\n\n### Si ya tienes nivel\n\nTe enviamos **\"57 actividades para vivir en francés\"** porque cuanto más vives el idioma fuera de clase, más rápido llegas a donde quieres. No tienes que hacerlas todas. Solo las que encajan en tu vida.\n\nTu regalo llega automáticamente al inscribirte.\n\nNo aprendes un idioma cuando lo necesitas. Lo aprendes antes, para poder hablar cuando llegue el momento.\n\nSi te falta una habilidad técnica para un puesto, puedes aprenderla sobre la marcha. Si te falta el idioma, te descartan.\n\nLa decisión es tuya. Cuanto antes actúas, antes hablas.\n\n[Quiero empezar](https://www.ouimerci.es/clases)\n\n**Aceptas el uso de cookies?** 🍪 Utilizamos cookies para mejorar la experiencia de usuario. [Saber más](https://www.ouimerci.es/photo/aviso-legal-y-cie.pdf) Acepto\n",
  "markdownStats": {
    "images": 4,
    "links": 9,
    "tables": 0,
    "codeBlocks": 0,
    "headings": 18
  },
  "tokens": {
    "htmlTokens": 8520,
    "markdownTokens": 1578,
    "reduction": 6942,
    "reductionPercent": 81
  },
  "score": {
    "score": 67,
    "grade": "C",
    "dimensions": {
      "semanticHtml": {
        "score": 68,
        "weight": 20,
        "grade": "C",
        "checks": {
          "uses_article_or_main": {
            "score": 0,
            "weight": 20,
            "details": "Missing <article> and <main> elements"
          },
          "proper_heading_hierarchy": {
            "score": 100,
            "weight": 25,
            "details": "Clean heading hierarchy"
          },
          "semantic_elements": {
            "score": 44,
            "weight": 20,
            "details": "11 semantic elements, 72 divs (ratio: 13%)"
          },
          "meaningful_alt_texts": {
            "score": 96,
            "weight": 15,
            "details": "26/27 images with meaningful alt text"
          },
          "low_div_nesting": {
            "score": 100,
            "weight": 20,
            "details": "Avg div depth: 4.3, max: 8"
          }
        }
      },
      "contentEfficiency": {
        "score": 70,
        "weight": 25,
        "grade": "C",
        "checks": {
          "token_reduction_ratio": {
            "score": 100,
            "weight": 40,
            "details": "81% token reduction (HTML→Markdown)"
          },
          "content_to_noise_ratio": {
            "score": 50,
            "weight": 30,
            "details": "Content ratio: 16.1% (4532 content chars / 28073 HTML bytes)"
          },
          "minimal_inline_styles": {
            "score": 0,
            "weight": 15,
            "details": "63/412 elements with inline styles (15.3%)"
          },
          "reasonable_page_weight": {
            "score": 100,
            "weight": 15,
            "details": "HTML size: 27KB"
          }
        }
      },
      "aiDiscoverability": {
        "score": 35,
        "weight": 25,
        "grade": "F",
        "checks": {
          "has_llms_txt": {
            "score": 0,
            "weight": 20,
            "details": "No llms.txt found"
          },
          "has_robots_txt": {
            "score": 100,
            "weight": 10,
            "details": "robots.txt exists"
          },
          "robots_allows_ai_bots": {
            "score": 100,
            "weight": 15,
            "details": "All major AI bots allowed"
          },
          "has_sitemap": {
            "score": 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: ProfessionalService, BreadcrumbList"
          },
          "has_open_graph": {
            "score": 100,
            "weight": 25,
            "details": "All OG tags present"
          },
          "has_meta_description": {
            "score": 100,
            "weight": 20,
            "details": "Meta description: 114 chars"
          },
          "has_canonical_url": {
            "score": 100,
            "weight": 15,
            "details": "Canonical URL present"
          },
          "has_lang_attribute": {
            "score": 100,
            "weight": 10,
            "details": "lang=\"es\""
          }
        }
      },
      "accessibility": {
        "score": 93,
        "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: 27KB"
          },
          "fast_content_position": {
            "score": 75,
            "weight": 30,
            "details": "Main content starts at 34% of HTML"
          }
        }
      }
    }
  },
  "recommendations": [
    {
      "id": "add_llms_txt",
      "priority": "critical",
      "category": "aiDiscoverability",
      "titleKey": "rec.add_llms_txt.title",
      "descriptionKey": "rec.add_llms_txt.description",
      "howToKey": "rec.add_llms_txt.howto",
      "effort": "quick-win",
      "estimatedImpact": 10,
      "checkScore": 0,
      "checkDetails": "No llms.txt found"
    },
    {
      "id": "add_article_main",
      "priority": "critical",
      "category": "semanticHtml",
      "titleKey": "rec.add_article_main.title",
      "descriptionKey": "rec.add_article_main.description",
      "howToKey": "rec.add_article_main.howto",
      "effort": "quick-win",
      "estimatedImpact": 8,
      "checkScore": 0,
      "checkDetails": "Missing <article> and <main> elements"
    },
    {
      "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": "remove_inline_styles",
      "priority": "critical",
      "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": 0,
      "checkDetails": "63/412 elements with inline styles (15.3%)"
    },
    {
      "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": 44,
      "checkDetails": "11 semantic elements, 72 divs (ratio: 13%)"
    }
  ],
  "llmsTxtPreview": "# ouimerci.es\n\n> Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.\n\n## Main\n- [OuiMerci | La academia de francés en Castellón](https://www.ouimerci.es): Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.\n- [Clases presenciales](https://www.ouimerci.es/clases)\n- [Intensivo septiembre](https://www.ouimerci.es/clases-intensivas)\n- [En grupo](https://www.ouimerci.es/clases-en-grupo)\n- [Particular](https://www.ouimerci.es/clases-particulares)\n- [Curso de conjugación](https://www.ouimerci.es/cours-conjugaison-fran%C3%A7aise)\n- [Precios](https://www.ouimerci.es/inscripciones)\n- [Actividades](https://www.ouimerci.es/comunidad)\n- [Programa](https://www.ouimerci.es/l/programa_actividades)\n\n## Blog\n- [Blog](https://www.ouimerci.es/blog)\n\n",
  "llmsTxtExisting": null,
  "emergingProtocols": {
    "oauthDiscovery": {
      "exists": false,
      "url": "https://www.ouimerci.es/.well-known/oauth-authorization-server"
    },
    "mcpServerCard": {
      "exists": false,
      "url": "https://www.ouimerci.es/.well-known/mcp.json"
    },
    "a2aAgentCard": {
      "exists": false,
      "url": "https://www.ouimerci.es/.well-known/agent.json"
    },
    "count": 0
  },
  "snippets": [
    {
      "id": "add_llms_txt",
      "title": "Create /llms.txt",
      "description": "Upload this file to your web root. It tells AI agents what your site is about and which pages matter.",
      "language": "markdown",
      "code": "# ouimerci.es\n\n> Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.\n\n## Main\n- [OuiMerci | La academia de francés en Castellón](https://www.ouimerci.es): Aprende francés con clases particulares, conversación en grupo y cursos digitales. Profesores exppertos y nativos.\n- [Clases presenciales](https://www.ouimerci.es/clases)\n- [Intensivo septiembre](https://www.ouimerci.es/clases-intensivas)\n- [En grupo](https://www.ouimerci.es/clases-en-grupo)\n- [Particular](https://www.ouimerci.es/clases-particulares)\n- [Curso de conjugación](https://www.ouimerci.es/cours-conjugaison-fran%C3%A7aise)\n- [Precios](https://www.ouimerci.es/inscripciones)\n- [Actividades](https://www.ouimerci.es/comunidad)\n- [Programa](https://www.ouimerci.es/l/programa_actividades)\n\n## Blog\n- [Blog](https://www.ouimerci.es/blog)\n\n",
      "filename": "/llms.txt"
    },
    {
      "id": "add_article_main",
      "title": "Wrap content in <main> and <article>",
      "description": "Semantic HTML landmarks help AI agents identify the main content of your page.",
      "language": "html",
      "code": "<main>\n  <article>\n    <h1>Your Page Title</h1>\n    <p>Your content here...</p>\n  </article>\n</main>",
      "filename": "<body>"
    },
    {
      "id": "add_content_signals",
      "title": "Add Content-Signal directives",
      "description": "Content-Signal tells AI agents how they may use your content. The canonical location is robots.txt, but you can also expose it as an HTTP header from any stack.",
      "language": "txt",
      "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no",
      "filename": "/robots.txt",
      "stacks": [
        {
          "id": "robots",
          "label": "robots.txt",
          "language": "txt",
          "filename": "/robots.txt",
          "code": "User-agent: *\nContent-Signal: search=yes, ai-input=yes, ai-train=no"
        },
        {
          "id": "nginx",
          "label": "Nginx",
          "language": "nginx",
          "filename": "server block",
          "code": "# Inside your server { } block:\nadd_header Content-Signal \"search=yes, ai-input=yes, ai-train=no\" always;"
        },
        {
          "id": "apache",
          "label": "Apache",
          "language": "apache",
          "filename": ".htaccess",
          "code": "# In .htaccess (or VirtualHost):\nHeader set Content-Signal \"search=yes, ai-input=yes, ai-train=no\""
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// In your theme's functions.php or a small mu-plugin\nadd_action('send_headers', function () {\n    header('Content-Signal: search=yes, ai-input=yes, ai-train=no');\n});\n\n// Optional: also append the directive to the dynamic robots.txt\nadd_filter('robots_txt', function ($output) {\n    return $output . \"\\nContent-Signal: search=yes, ai-input=yes, ai-train=no\\n\";\n}, 10, 1);"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "middleware.ts",
          "code": "// middleware.ts (Next.js 13+ App Router or Pages Router)\nimport { NextResponse } from 'next/server';\nexport function middleware() {\n  const res = NextResponse.next();\n  res.headers.set(\n    'Content-Signal',\n    'search=yes, ai-input=yes, ai-train=no'\n  );\n  return res;\n}\nexport const config = { matcher: '/:path*' };"
        },
        {
          "id": "cloudflare",
          "label": "Cloudflare Workers",
          "language": "javascript",
          "filename": "worker.js",
          "code": "// Cloudflare Worker that proxies your origin and adds the header\nexport default {\n  async fetch(request, env, ctx) {\n    const res = await fetch(request);\n    const newRes = new Response(res.body, res);\n    newRes.headers.set(\n      'Content-Signal',\n      'search=yes, ai-input=yes, ai-train=no'\n    );\n    return newRes;\n  },\n};"
        },
        {
          "id": "express",
          "label": "Express / Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Express\napp.use((req, res, next) => {\n  res.setHeader('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  next();\n});\n\n// Fastify\nfastify.addHook('onSend', (request, reply, payload, done) => {\n  reply.header('Content-Signal', 'search=yes, ai-input=yes, ai-train=no');\n  done();\n});"
        }
      ]
    },
    {
      "id": "add_markdown_negotiation",
      "title": "Support Markdown for Agents",
      "description": "Let AI agents request a clean Markdown version of any page via content negotiation, .md alternate URLs, link tags or Link headers.",
      "language": "html",
      "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">",
      "filename": "<head>",
      "stacks": [
        {
          "id": "html",
          "label": "HTML <head>",
          "language": "html",
          "filename": "<head>",
          "code": "<!-- Mechanism 3: link tag advertising the .md alternate -->\n<link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        },
        {
          "id": "express",
          "label": "Express",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\napp.get('/page', (req, res) => {\n  res.setHeader('Vary', 'Accept');\n  res.setHeader('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    res.type('text/markdown; charset=utf-8');\n    return res.send(renderMarkdown('page'));\n  }\n  res.render('page');\n});"
        },
        {
          "id": "fastify",
          "label": "Fastify",
          "language": "javascript",
          "filename": "server.js",
          "code": "// Mechanisms 1 + 4: content negotiation + Link header\nfastify.get('/page', async (req, reply) => {\n  reply.header('Vary', 'Accept');\n  reply.header('Link', '</page.md>; rel=\"alternate\"; type=\"text/markdown\"');\n  if ((req.headers.accept || '').includes('text/markdown')) {\n    return reply.type('text/markdown; charset=utf-8').send(renderMarkdown('page'));\n  }\n  return reply.view('/page.ejs');\n});"
        },
        {
          "id": "nextjs",
          "label": "Next.js",
          "language": "typescript",
          "filename": "app/page/route.ts",
          "code": "// Next.js App Router — Route Handler returning Markdown\nimport { NextRequest } from 'next/server';\nimport { renderMarkdown } from '@/lib/md';\nexport async function GET(req: NextRequest) {\n  const accept = req.headers.get('accept') || '';\n  if (accept.includes('text/markdown')) {\n    return new Response(await renderMarkdown('page'), {\n      headers: {\n        'Content-Type': 'text/markdown; charset=utf-8',\n        'Vary': 'Accept',\n      },\n    });\n  }\n  // Fall through to the page component\n  return new Response(null, { status: 404 });\n}"
        },
        {
          "id": "wordpress",
          "label": "WordPress",
          "language": "php",
          "filename": "functions.php",
          "code": "<?php\n// Mechanism 1: respond to Accept: text/markdown on the same URL\nadd_action('template_redirect', function () {\n    if (!is_singular()) return;\n    $accept = $_SERVER['HTTP_ACCEPT'] ?? '';\n    if (strpos($accept, 'text/markdown') === false) return;\n    header('Content-Type: text/markdown; charset=utf-8');\n    header('Vary: Accept');\n    $post = get_queried_object();\n    echo \"# \" . get_the_title($post) . \"\\n\\n\";\n    echo wp_strip_all_tags(apply_filters('the_content', $post->post_content));\n    exit;\n});"
        },
        {
          "id": "static",
          "label": "Hugo / Jekyll / Astro",
          "language": "txt",
          "filename": "static/page.md",
          "code": "# Mechanism 2: serve .md alongside .html\n# Hugo: place page.md in /static/ — built unchanged\n# Jekyll: drop page.md in /assets/ — copied as-is\n# Astro: src/pages/page.md.ts that exports a GET returning markdown\n\n# Then advertise with mechanism 3 in <head>:\n#   <link rel=\"alternate\" type=\"text/markdown\" href=\"/page.md\">"
        }
      ]
    }
  ]
}

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

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

分享您的结果

Twitter LinkedIn

嵌入您的徽章

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

AgentReady.md score for www.ouimerci.es
Script 推荐
<script src="https://agentready.md/badge.js" data-id="0fab8924-3ad9-4852-b1bf-9d9c410dd34d" data-domain="www.ouimerci.es"></script>
Markdown
[![AgentReady.md score for www.ouimerci.es](https://agentready.md/badge/www.ouimerci.es.svg)](https://agentready.md/zh/r/0fab8924-3ad9-4852-b1bf-9d9c410dd34d)

即将推出:全域分析

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

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