b084aeff6e
Sitemap filter was excluding cookies/ and privacidad/ but not aviso-legal/, even though that page is marked noindex,follow -- a noindexed page has no business being listed for crawl discovery. Also adds docs/seo-audit/mnqcatering.com-audit/ -- the full multi-agent SEO audit run this session against the corrected live domain (www.mnqeventos.es), including the FULL-AUDIT-REPORT.md, ACTION-PLAN.md, and per-category findings files.
82 lines
5.0 KiB
Markdown
82 lines
5.0 KiB
Markdown
# Auditoría SEO completa — MNQ Catering y Evento
|
|
|
|
Fecha: 2026-09-15
|
|
Sitio auditado: **https://www.mnqeventos.es** (dominio real y registrado)
|
|
|
|
## ⚠️ Nota metodológica crítica
|
|
|
|
Esta auditoría arrancó apuntando a `mnqcatering.com` porque es el dominio que
|
|
usa todo el código fuente (`astro.config.mjs`, schema, footer, etc.) y los
|
|
últimos commits del repo. A mitad de auditoría se confirmó — vía `dig`,
|
|
`whois` y `curl`/WebFetch independientes — que **`mnqcatering.com` nunca fue
|
|
registrado**: WHOIS devuelve "No match", no tiene NS, no resuelve. El dominio
|
|
real, registrado y sirviendo tráfico ahora mismo es **`www.mnqeventos.es`**.
|
|
|
|
Se corrigió el rumbo a mitad de auditoría: cada especialista fue re-dirigido
|
|
contra `www.mnqeventos.es`. El código del repo ya fue corregido en el commit
|
|
`a6692b7` (dominio canónico + un bug real de schema.org encontrado en la
|
|
auditoría), **pero ese fix todavía no está desplegado en producción** — el
|
|
sitio en vivo sigue sirviendo el build viejo, con todas las referencias
|
|
internas (canonical, OG, JSON-LD, sitemap, robots.txt) apuntando al dominio
|
|
muerto.
|
|
|
|
**Esto es, en sí mismo, el hallazgo más severo de toda la auditoría**: hasta
|
|
que se despliegue, cada motor de búsqueda y cada IA que respete la
|
|
canonicalización va a asociar el contenido con una URL que no existe.
|
|
|
|
## Resumen ejecutivo
|
|
|
|
**SEO Health Score: ~52/100 (estado actualmente en vivo)**
|
|
|
|
Este número reflejaría **~65-70/100 solo con desplegar** el fix ya
|
|
commiteado (dominio + schema), sin escribir una línea de código nueva. El
|
|
resto (contenido, precios, GBP) sí requiere trabajo adicional.
|
|
|
|
| Categoría | Score | Nota |
|
|
|---|---|---|
|
|
| Técnico | 58/100 | Bueno en fuente; roto en vivo por el dominio no desplegado |
|
|
| Contenido | 32/100 | Contenido "thin", cero cifras concretas (precio/capacidad) |
|
|
| Schema / structured data | 62/100 (medido antes del fix) | `@type` inválido corregido hoy, pendiente de deploy |
|
|
| Sitemap | 25/100 (en vivo) → ~75 post-deploy | Cadena de sitemap 100% rota en vivo por el dominio |
|
|
| Performance (Lighthouse real) | ~78-84/100 | Bueno, con un LCP evitable por CSS de animación |
|
|
| Visual/mobile | No verificable | Limitación de red del sandbox, no defecto del sitio |
|
|
| AEO / GEO (IA) | 46/100 | Permisivo con AI crawlers, pero sin señales de marca |
|
|
| SEO local | 22/100 (en vivo) | Sin dirección/ciudad visible en el sitio en vivo hoy |
|
|
| SXO (experiencia de búsqueda) | 59/100 | Estructura de página correcta, sin ancla de precio/zona |
|
|
|
|
### Top 5 críticos
|
|
1. **El fix de dominio ya commiteado no está desplegado** — deploy pendiente, cero código nuevo necesario.
|
|
2. **Cero mención de "Málaga" o de la dirección en el sitio en vivo** — ni en texto ni en schema.
|
|
3. **Cero cifras de precio/capacidad/antelación** en ninguna página — el bloqueador #1 de conversión y de citabilidad por IA.
|
|
4. `@type: "CateringService"` no es un tipo válido de schema.org — corregido hoy a `CateringBusiness`, pendiente de deploy.
|
|
5. El sitemap y el robots.txt en vivo apuntan a `sitemap-0.xml` del dominio muerto — cadena de descubrimiento rota.
|
|
|
|
### Top 5 quick wins (una vez desplegado)
|
|
1. Deploy del commit `a6692b7` — resuelve dominio, schema, sitemap, robots.txt, OG de un saque.
|
|
2. Agregar "Málaga" + rango de precio "desde X€" en homepage y páginas de servicio (bloqueado solo por falta de esos datos reales, no de código).
|
|
3. Quitar el `<link rel="stylesheet">` duplicado de Google Fonts que re-bloquea el render (regresión de un fix anterior).
|
|
4. Excluir `/aviso-legal/` del sitemap (ya está `noindex` pero sigue listada).
|
|
5. Unificar "MNQ Catering y Evento" vs "y Eventos" (inconsistencia de nombre de marca en header/footer vs. resto del sitio).
|
|
|
|
## Detalle por categoría
|
|
|
|
Cada archivo tiene evidencia completa (curl/dig/whois, snippets, tablas de severidad):
|
|
|
|
- [`findings/technical.md`](findings/technical.md) — robots, sitemap, canonicals, headers de seguridad, TLS
|
|
- [`findings/content.md`](findings/content.md) — E-E-A-T, thin content, citabilidad IA
|
|
- [`findings/schema.md`](findings/schema.md) — JSON-LD, tipo inválido corregido, recomendaciones
|
|
- [`findings/sitemap.md`](findings/sitemap.md) — estructura, aviso-legal, trailing slash
|
|
- [`findings/performance.md`](findings/performance.md) — Lighthouse real, LCP, CSS duplicado
|
|
- [`findings/visual.md`](findings/visual.md) — bloqueado por limitación de red del sandbox
|
|
- [`findings/geo.md`](findings/geo.md) — AEO/GEO, llms.txt, AI crawlers
|
|
- [`findings/local.md`](findings/local.md) — NAP, GBP (pendiente, reconocido), schema local
|
|
- [`findings/sxo.md`](findings/sxo.md) — SERP real, personas, page-type match
|
|
|
|
## Seguridad de headers (hallazgo transversal)
|
|
|
|
Ninguna respuesta del sitio en vivo trae HSTS, X-Content-Type-Options,
|
|
X-Frame-Options, CSP ni Referrer-Policy, y no hay compresión gzip/brotli en
|
|
el HTML. Esto es de capa de hosting/reverse-proxy, no de código Astro — hay
|
|
que revisarlo donde esté corriendo el servidor (Docker/nixpacks + lo que sea
|
|
que haga de proxy delante).
|