# Entidades semánticas y E-E-A-T

> Rescatado de `seo-aeo-publisher` (archivada). Esta es la capa de AEO que
> va más allá de FAQ y Schema: **decirle a los LLMs qué significa cada concepto.**
>
> Aplicar cuando el artículo trate temas con entidades reconocibles —
> ciencia, salud, tecnología, geografía, empresas, normativa.

---

## 1. Por qué importa

Un Schema `BlogPosting` le dice al buscador que esto es un artículo.
Las **entidades** le dicen de qué habla exactamente, sin ambigüedad.

"Nervio vago" puede ser muchas cosas para un modelo. Ligado a
`https://es.wikipedia.org/wiki/Nervio_vago` ya no. Eso es lo que hace que
un LLM cite tu artículo en vez del de otro: entiende de qué estás hablando.

---

## 2. `about_entities` — temas principales

**Cuántas:** 1 o 2. Solo los temas centrales del artículo.

**Cómo elegirlas:** si borraras esa entidad, el artículo ya no tendría sentido.

**Formato:**

```json
"about_entities": [
  { "name": "Nervio Vago", "url": "https://es.wikipedia.org/wiki/Nervio_vago" }
]
```

**Fuentes válidas, en orden de preferencia:**

1. Wikidata (`https://www.wikidata.org/wiki/Q...`) — la más precisa, independiente de idioma
2. Wikipedia en español
3. Wikipedia en inglés, si no existe en español

---

## 3. `mentions_entities` — temas secundarios

**Cuántas:** 2 a 4. Conceptos auxiliares que se mencionan.

**Cómo elegirlas:** aparecen en el artículo y aportan contexto, pero el
artículo no trata *sobre* ellas.

```json
"mentions_entities": [
  { "name": "AMPK", "url": "https://es.wikipedia.org/wiki/AMPK" },
  { "name": "Lúpulo", "url": "https://es.wikipedia.org/wiki/Humulus_lupulus" }
]
```

**Error común:** meter todo lo que se menciona. Si pones diez, ninguna pesa.

---

## 4. Citaciones E-E-A-T

Google y los LLMs premian contenido que cita fuentes primarias verificables.

**Procedimiento:**

1. Buscar en el artículo referencias ya presentes: PMID, DOI, estudios clínicos
2. Si no hay ninguna, buscar en PubMed un paper relevante al tema
3. Incluir la URL completa

```json
"citations": [
  "https://pubmed.ncbi.nlm.nih.gov/xxxxxxx/"
]
```

**Fuentes por tipo de tema:**

| Tema | Fuente |
|---|---|
| Salud, nutrición, biología | PubMed, Cochrane |
| Tecnología, ingeniería | arXiv, IEEE, papers del fabricante |
| Agricultura | FAO, INIFAP, universidades agrarias |
| Economía, mercado | INEGI, Banxico, informes de industria |
| Normativa | Diario Oficial, sitio del organismo |

**Regla dura:** solo citar lo que se leyó. Una cita inventada o que no dice
lo que se afirma es peor que no citar — destruye E-E-A-T en vez de construirlo.

---

## 5. Datos de producto (opcional)

Si el artículo promueve directamente una compra:

```json
"product_data": {
  "price": "0.00",
  "currency": "MXN",
  "sku": "",
  "brand": "",
  "availability": "InStock"
}
```

Los valores salen de `02-proyectos/{cliente}/productos/{id}/`. **No se inventan.**

---

## 6. Payload completo de referencia

Para clientes con el plugin **Agencia SEO AEO Suite** en WordPress,
la inyección va por `POST` a `/wp-json/agencia/v1/inject-seo`:

```json
{
  "post_id": 0,
  "meta_title": "",
  "meta_description": "",
  "canonical_url": "",
  "robots_meta": ["index", "follow", "max-image-preview:large"],
  "focus_keyword": "",
  "cluster_keywords": [],
  "about_entities": [],
  "mentions_entities": [],
  "citations": [],
  "faq": [{ "question": "", "answer": "" }],
  "product_data": {}
}
```

### Credenciales

> **Nunca escribir usuario, contraseña, token ni API key dentro de un skill.**

Se leen de variables de entorno:

- `WP_URL` — base del sitio
- `WP_USER` — usuario
- `WP_APP_PASSWORD` — contraseña de aplicación de WordPress

Si no están definidas, **pedirlas al usuario en el momento** — no asumir ni buscar en archivos.

---

## 7. Verificación después de inyectar

1. Respuesta `200` con `{"success": true}`
2. Traer el HTML de la página y confirmar:
   - `<title>` correcto
   - `<meta name="description">` coincide
   - El bloque `@graph` incluye los nodos `about`, `mentions`, `citation` y `FAQPage`
