# SEO Sysfarma — Auditoría 2026-09-06 (check-in vs plan 07-09 + hallazgos nuevos)

Auditoría multi-fuente: GSC live (query/page/device, 88d y 28d) + GA4 (28d, Playwright con la cuenta
del usuario) + DataForSEO (keywords, competidores, backlinks, Lighthouse, SERP en vivo) + 4 subagentes
especializados (backlinks, contenido de las 93 URLs del sitemap, visual/mobile con Playwright, GEO/AI
search) + inspección directa de HTML/robots/sitemap/JSON-LD con curl.

No repite el contenido de auditorías previas (`SEO-ESTADO-Y-PLAN-2026-07-08.md`,
`SEO-PROPUESTA-CONSOLIDADA-2026-07-09.md`, `OFF-PAGE-KIT-2026-07-10.md`,
`OUTREACH-PROSPECTOS-2026-08-25.md`) — este documento hace **(1)** el check-in de si el plan de julio
cumplió sus propias metas y **(2)** lista solo hallazgos **nuevos**, no vistos en las pasadas anteriores.

---

## 1. Check-in: ¿funcionó la Ola 1 del plan de julio?

Comparación exacta misma ventana de 28 días (GSC), baseline congelado el 09-jul vs. hoy:

| Métrica | Baseline (08jun–05jul) | Hoy (09ago–05sep) | Objetivo Ola 1 | Resultado |
|---|---|---|---|---|
| Impresiones globales | 5.770 | **13.924** | — | ✅ +141%, pero ver CTR |
| Clics globales | 108 | **275** | ≥170/mes | ✅ superado |
| CTR global | 1,87% | **1,98%** | ≥3% | ❌ prácticamente plano |
| Posición media global | 8,1 | **7,3** | — | 🟡 mejora leve |
| `/blog/fefo-en-farmacias` — posición | 6,7 | **7,2** | ≤5 | ❌ empeoró |
| `/blog/fefo-en-farmacias` — CTR | 0,88% | **0,38%** | subir | ❌ se hundió (impresiones x2, clics -13%) |
| `/blog/digemid-bpa-almacenamiento-farmacia` — posición | 7,4 | **7,7** | ≤5 | ❌ empeoró |
| `"que es fefo"` — clics | 0 | **0** | primeros clics | ❌ sigue en cero (547 impr, pos 8,9) |
| `"bpa digemid"` — clics | 0 | **1** | primeros clics | 🟡 casi sin cambio (667 impr, pos 8,3) |
| Referring domains sysfarma.pe | 0 | **0** (verificado hoy en vivo, DataForSEO) | ≥12 | ❌ sin movimiento en 2 meses |

**Lectura:** el crecimiento en impresiones/clics es real pero es volumen (más contenido indexado, más
queries de cola larga), no el efecto buscado. La apuesta específica del plan de julio —que freshness +
enlaces internos por sí solos subieran fefo/bpa de posición 7 a 4— **no se cumplió**; ambas páginas
insignia están igual o levemente peor, y el CTR de fefo colapsó a menos de la mitad pese a duplicar
impresiones. Esto es evidencia a favor, no en contra, del diagnóstico original: **la palanca #1 (off-page)
sigue sin ejecutarse** — 0 referring domains hoy, igual que en julio — y sin autoridad de dominio, el
contenido solo puede subir hasta cierto techo por más freshness/enlaces internos que reciba.

**Hallazgo nuevo sobre esa misma palanca:** el prospecto de outreach prioridad #1 del kit de off-page,
`comparasoftware.pe`, **ya tiene ficha publicada de Sysfarma** (verificado con curl, HTML servidor) pero
**no enlaza a `sysfarma.pe` en ningún `href`** — sus 64 enlaces salientes van todos a formularios propios
de captura de leads. Si esa alta ya se dio por hecha, no está aportando el backlink que se esperaba.

---

## 2. Hallazgos nuevos (no reportados en auditorías previas)

### Alto impacto

**2.1 — Cannibalización de title: home = `/software-para-farmacias` (título idéntico carácter por carácter)**
El plan de julio afirmaba "sin canibalización" verificado. Hoy el `<title>` de ambas páginas es
exactamente `"Software para Farmacias y Boticas en Perú | Sysfarma"`, con meta description casi idéntica
(SUNAT/FEFO/POS/DIGEMID/1200 boticas/demo en ambas). Google no puede diferenciar cuál debe rankear para
la keyword genérica. **Fix barato:** título de home orientado a marca ("Sysfarma — Software para Farmacias
y Boticas | Demo gratis"), dejar `/software-para-farmacias` como pilar de la keyword genérica.

**2.2 — Páginas de ciudad: plantilla con stats de empresa copiados verbatim, sin dato local verificable**
Arequipa, Trujillo y Cusco (muestra de 3/3) repiten el mismo bloque exacto de cifras nacionales
("1,200+ Farmacias activas · 625K+ Comprobantes SUNAT · 13 años · 24/7 Soporte WhatsApp") sin ningún dato
específico de la ciudad (sin cliente nombrado, sin testimonio, sin cifra regional). El texto único por
ciudad ronda 150-200 palabras sobre un total de 630-720 (resto boilerplate repetido sitio-wide). Con 93
URLs en el sitemap y el mismo molde confirmado en las 3 muestreadas, es razonable inferir que el resto de
ciudades (Lima, Piura, Chiclayo, etc.) sigue el mismo patrón — encaja con la política de Google de "scaled
content abuse" (2024+). **Antes de escalar a más ciudades:** decidir entre invertir en 1 dato/testimonio
real por ciudad, o usar Search Console para identificar cuáles de las ~15-20 páginas de ciudad reciben
tráfico real y despriorizar/`noindex` el resto.

**2.3 — Inconsistencia factual entre páginas "vs competidor" sobre el propio modelo de precios**
`vs-medisoft` y `vs-botikapp` dicen que Sysfarma ofrece plan cloud (S/69/mes) **y** plan de instalación
local con pago único (S/999). `vs-farmasystem` describe a Sysfarma como puramente cloud y usa esa supuesta
ausencia de instalación local como argumento central contra FarmaSystem — sin mencionar la opción S/999
que sí reconoce en las otras dos páginas. Un lector (o un fact-checker de IA) que cruce dos páginas del
mismo dominio encuentra una contradicción sobre el producto mismo. Aparte de esto, el contenido
comparativo es genuinamente diferenciado por competidor (no plantilla ciega) — es la excepción positiva
del sitio, solo hay que corregir este dato puntual.

**2.4 — Colisión de entidad de marca a 3 nombres, sin resolver desde julio**
El plan de julio ya advertía "el LinkedIn Sysfarma es OTRA empresa, no linkear". Hoy se confirma que el
problema es mayor: existen **tres marcas casi idénticas** compitiendo por el mismo espacio de nombres que
ve un LLM — Sysfarma (México, cadena de frío, `sysfarma.com`), SysFarma Soluciones (México, POS,
`sysfarmasoluciones.com`) y "Sisfarma" (listado como competidor en Capterra, otro rubro). El propio SERP
de Google para "sysfarma" ya muestra un AI Overview que dedica un párrafo a desambiguar estas marcas. El
`sameAs` del JSON-LD sigue con una sola entrada (Facebook) — sin resolver 2 meses después. Además, en el
SERP de "sysfarma" el **local pack de Google muestra "Cerrado" en la ficha de Chiclayo** — verificar si es
un cambio de horario real o un error de Google Business Profile sin corregir.

**2.5 — Cero backlinks confirmados en vivo (no solo el histórico de julio)**
Repetí la medición hoy directo contra DataForSEO (no el dato de julio): `sysfarma.pe` y `farmasystem.pe`
devuelven **0 backlinks** (sin registros). El "líder" del nicho por enlaces, `medisoft.com.pe`, tiene solo
13 dominios de referencia / 15 backlinks, con spam score 30 y mayoría en TLDs de baja calidad
(`.wiki`, `.party`, `.cloud`) — es decir, ni el competidor con más enlaces tiene un perfil que valga la
pena imitar. Confirma que el mercado entero compite sin autoridad de enlaces y que off-page barato sigue
siendo la palanca de mayor ROI disponible, sin ejecutar.

### Impacto medio

**2.6 — Respuestas de FAQPage demasiado cortas para citación de IA**
El schema `FAQPage` del home está bien implementado, pero las respuestas miden 20-45 palabras; el rango
con mejor tasa de citación en AI Overviews/ChatGPT es 80-140 palabras. Son citables pero poco sustanciosas
frente a lo que podría ofrecer un competidor con una respuesta más completa. Ampliar usando las cifras que
ya están en el hero (1,200+ farmacias, 625K comprobantes, 13 años) en vez de inventar datos nuevos.

**2.7 — Tap target del botón de menú móvil por debajo del mínimo (Playwright, verificado en 3 páginas)**
El botón hamburguesa —único acceso a la navegación en mobile— mide 21×36px en home y 33×38px en las
páginas internas revisadas. Google recomienda ~48×48px. Es el elemento interactivo más pequeño de toda la
página en mobile. El resto de CTAs (demo, WhatsApp) sí cumple.

**2.8 — CLS 0,11 puntual en home desktop**
Entra en "needs improvement" (umbral bueno &lt;0,1). Las otras páginas revisadas y todas las versiones
mobile dieron CLS ≈0. No se detectaron `<img>` sin `width`/`height` que lo expliquen — probablemente
webfont swap o animación de entrada del hero. Vale perfilarlo con datos reales de CrUX.

**2.9 — Font Awesome cargado dos veces en el `<head>` del home**
`cdnjs.cloudflare.com/.../font-awesome/6.5.1/css/all.min.css` aparece duplicado como `<link rel="stylesheet">`
— descarga y parseo doble de una librería de íconos completa. Fix de una línea.

**2.10 — `lastmod` del sitemap.xml siempre es "hoy" en las 93 URLs**
Se genera dinámicamente con la fecha de la request en vez de la fecha real de última modificación del
contenido. No es un error que rompa nada, pero es una señal de frescura que Google puede aprender a
ignorar si detecta que nunca cambia de forma consistente con el contenido real.

**2.11 — Reporte "Sitemaps" de GSC muestra 0% indexado — falso positivo, verificado**
El informe de Sitemaps de Search Console marca 93 enviadas / 0 indexadas (51 días sin re-enviar). Verificado
con Inspección de URL sobre una muestra de 12 páginas de distinto tipo (core, ciudad, "vs"): **las 12 están
indexadas y con crawl reciente** (últimos 7-14 días). Es un artefacto de que el sitemap no se resubmitió,
no una caída real de indexación — igual conviene reenviar el sitemap en GSC para refrescar la métrica y
evitar que alguien lo lea mal en el futuro.

### Oportunidades confirmadas con datos (no son "problemas")

**2.12 — Cluster FEFO/BPA: ~37 keywords en zona de quick-win, muchas ya con AI Overview en el SERP**
`mcp__gsc__quick_wins` sobre 88 días encuentra 37 queries con impresiones altas, posición 4-20 y CTR
&lt;5% — "bpa digemid" (667 impr, 0,15% CTR, pos 8,3), "que es fefo" (547 impr, 0% CTR), "fefo" (474 impr,
0% CTR), y variantes. Verifiqué en vivo que consultas de este cluster (`fefo`, `fefo y fifo`) ya disparan
`ai_overview` en el SERP de Google — la competencia real ya no es solo por el link azul de posición 6-8,
es por aparecer citado dentro del AI Overview. Esto conecta directo con 2.6 (respuestas FAQ más completas)
y con reforzar la estructura de respuesta directa en esos 2 posts.

**2.13 — GA4 confirma que el tráfico de asistentes de IA ya convierte mejor que Direct**
Últimos 28 días (GA4, `sessionPrimaryChannelGroup`): canal **"AI Assistant"** = 54 sesiones (6,8% del
total) con el engagement rate más alto de todos los canales (72,2%) y tasa de evento clave 62,96% —
supera a Direct (278 sesiones, pero solo 28,4% engagement y 16,55% evento clave). Organic Search sigue
siendo el canal dominante (439 sesiones, 55,6%, evento clave 56,95%). Es evidencia real, no especulativa,
de que invertir en GEO (sameAs, HowTo, videos, respuestas FAQ más largas) tiene retorno medible, no es
solo "quedar bien preparados para el futuro".

**2.14 — llms.txt YA EXISTE y es de buena calidad (contradice el supuesto de que faltaba)**
`sysfarma.pe/llms.txt` responde 200 OK con precios, tabla comparativa, 19 páginas de ciudad y citas
regulatorias con número de resolución (SUNAT N° 000082-2022, DIGEMID RM 132-2015/MINSA) — mejor que la
mayoría de SaaS B2B de este tamaño. Único ajuste: falta una línea de "última actualización" para que los
crawlers de IA sepan si el precio listado sigue vigente sin tener que re-rastrear todo el sitio (5 min).
La categoría experimental "Agentic Browsing" de Lighthouse marca 33/100 principalmente por este punto y
por la ausencia (esperable, tecnología incipiente) de WebMCP — no es una alarma, es una señal a monitorear.

---

## 3. Confirmado: lo que sigue sólido (no re-abrir)

- **Core Web Vitals de campo (Lighthouse):** Performance 84/100, LCP 2,0s, CLS 0, TBT 0ms, TTFB 257ms.
  Sano; no es una prioridad de esta ronda.
- Accesibilidad Lighthouse 86/100.
- HTTPS + redirects 301 (http→https, www→apex) correctos; robots.txt permite bots de IA relevantes
  (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, Bingbot) y bloquea CCBot con criterio.
- JSON-LD `SoftwareApplication` + `FAQPage` válido y bien anidado; sin errores de parseo.
- Páginas "vs competidor": argumentos genuinamente diferenciados por rival (matices tipo "no confirmado,
  según su web") — no es contenido genérico intercambiable, salvo el dato puntual de 2.3.
- Sin scroll horizontal ni layout roto en ninguna combinación página/viewport revisada (Playwright).

---

## 4. Plan de acción priorizado

| # | Acción | Impacto | Esfuerzo | Responsable |
|---|---|---|---|---|
| 1 | Title/meta únicos en home vs `/software-para-farmacias` (2.1) | Alto | Bajo | Claude |
| 2 | Corregir inconsistencia de precio en `vs-farmasystem` (2.3) | Alto | Bajo | Claude |
| 3 | Verificar por qué ComparaSoftware no linkea, y si off-page (kit jul) ya se ejecutó o sigue pendiente (§1) | Alto | Bajo (verificar) / Medio (ejecutar) | Usuario |
| 4 | Decidir sobre páginas de ciudad: testimonio/dato real por ciudad vs. consolidar/`noindex` de baja demanda (2.2) | Alto | Medio | Usuario + Claude |
| 5 | Resolver entidad de marca: LinkedIn propio, Wikidata, ampliar `sameAs` con Capterra ya existente (2.4) | Alto | Medio | Usuario |
| 6 | Verificar estado "Cerrado" del Google Business Profile en Chiclayo (2.4) | Medio-Alto | Bajo | Usuario |
| 7 | Ampliar respuestas FAQ a 80-140 palabras con cifras propias (2.6, conecta con 2.12) | Medio | Bajo-Medio | Claude |
| 8 | Agrandar tap target del botón hamburguesa a ≥48×48px (2.7) | Medio | Bajo | Claude |
| 9 | Quitar el `<link>` duplicado de Font Awesome (2.9) | Bajo | Trivial | Claude |
| 10 | Agregar línea "Última actualización" a `llms.txt` (2.14) | Bajo | Trivial | Claude |
| 11 | Reenviar sitemap.xml en GSC + fijar `lastmod` real en vez de fecha dinámica (2.10, 2.11) | Bajo | Bajo | Claude |
| 12 | Investigar CLS 0,11 en home desktop (2.8) | Bajo-Medio | Medio | Claude |
| 13 | HowTo schema sobre el flujo "Demo → Carga → Capacitación → Soporte" ya escrito (hallazgo del agente GEO) | Medio | Bajo | Claude |
| 14 | Videos cortos (POS/FEFO/cierre de caja) a YouTube con `VideoObject` (hallazgo del agente GEO) | Alto | Medio-Alto | Usuario |

Los ítems 3-6 son la continuación directa de decisiones ya identificadas en julio y aún no tomadas — no
son hallazgos nuevos en sí, pero el check-in de la sección 1 muestra que sin ellos el resto del esfuerzo
tiene techo.

---

## 5bis. Trazabilidad 2026-09-26 (20 días después, CERO cambios aplicados)

Verificado: **ningún commit tocó `config/seo.php`, `config/blog.php`, `docs/seo/`, `PublicSiteController`
o `BlogController` desde el 2026-08-25** (`git log --since=2026-09-06` sobre esos paths = vacío). Ninguna
de las 14 acciones de la sección 4 se aplicó. Esta sección es solo medición de deriva natural, no de
impacto de cambios.

| Métrica | 09-06 (28d) | Hoy 09-26 (20d) | Lectura |
|---|---|---|---|
| CTR global | 1,98% | **2,01%** | Sin cambio real (ruido) |
| Posición global | 7,3 | **7,0** | Mejora leve, no atribuible (sin deploys) |
| `fefo-en-farmacias` posición | 7,2 | **6,9** | Fluctúa en la misma banda 6-8, nunca ≤5 |
| `fefo-en-farmacias` CTR | 0,38% | **0,37%** | Sigue hundido |
| `digemid-bpa` posición | 7,7 | **8,0** | Sigue empeorando |
| Referring domains sysfarma.pe | 0 | **0** | **5ª medición consecutiva en cero** (07-08/07-31/08-23/09-06/09-26) |

**Verificado en vivo, siguen exactamente igual que el 09-06** (nadie los tocó):
- Title idéntico home = `/software-para-farmacias` (§2.1) — sin cambio.
- `/sysfarma-vs-farmasystem` sigue sin mencionar el plan S/999 que sí reconoce `/sysfarma-vs-medisoft`
  ("Sysfarma: cloud (S/69/mes) o instalación local pago único (S/999)") — sin cambio (§2.3).

**Conclusión:** sin intervención, las métricas se mueven dentro de una banda de ruido (±0,3-0,5 de
posición, CTR estancado) y no cruzan ningún umbral — confirma que el techo es estructural (autoridad de
dominio / off-page), no algo que el tiempo solo resuelva. Las 14 acciones de la sección 4 siguen 100%
vigentes y sin ejecutar.

**Nota operativa:** este archivo se había perdido del árbol de trabajo entre el 09-06 y hoy — nunca se
commiteó y quedó atrapado sin querer en `stash@{0}` ("preserve main local work before alignment
2026-09-18") de una alineación de rama hecha por otra sesión sobre este mismo repo compartido. Se
recuperó con `git checkout stash@{0}^3 -- docs/seo/AUDITORIA-SEO-2026-09-06.md` (sin popear el resto del
stash, que sigue teniendo ~40 archivos de otro trabajo ajeno sin relacionar). Esta vez sí se commitea.

## 5. Fuentes de esta auditoría

GSC (`sc-domain:sysfarma.pe`): `performance_overview`, `search_analytics` (query/page/device),
`quick_wins`, `sitemap_health`, `indexing_coverage`. GA4 (propiedad `537114765`, vía Playwright con sesión
del usuario): reporte de adquisición de tráfico, últimos 28 días. DataForSEO: `domain_rank_overview`,
`ranked_keywords`, `competitors_domain`, `on_page_lighthouse`, `backlinks_summary` (sysfarma.pe,
farmasystem.pe, medisoft.com.pe), `serp_organic_live_advanced` ("sysfarma", mobile, Perú). Subagentes:
`seo-backlinks`, `seo-content` (15 páginas del sitemap), `seo-visual` (Playwright, desktop+mobile, 3
páginas), `seo-geo`. Inspección directa: curl a home/robots.txt/sitemap.xml/llms.txt, parseo de
JSON-LD/imágenes/scripts con Node.
