Errores — Lo que matamos y por qué
Esta página es el moat. Ningún medio local de PR publica sus errores. Nosotros sí.
Trust no se construye con highlight reels. Se construye admitiendo lo que no funcionó.
Por qué publicamos esto
El operador de caborojo.com es uno. Sin payroll. Sin equipo PR. Sin un Plan B silencioso si algo se rompe.
Eso significa que la única forma de mantener trust con la audiencia es publicar los errores antes que los descubran ellos.
Cada item aquí tuvo costo. Cada item dejó una lección documentada. Ninguno se borra del récord.
Errores documentados (chronological)
2026-04 · API key hijack
Qué pasó: Una API key con prefix público quedó visible en el bundle JavaScript de un sitio. Un bot scraped el key y generó cargos fraudulentos significativos en 24h. Account suspendida.
Por qué: No grep de bundle output después de build. Asumí «frontend keys safe» sin verificar.
Lección: Toda key que incurre per-call cost (Google Cloud, OpenAI, Gemini) nunca va con prefix público. Toda build pasa grep antes de deploy. Budget alerts activos antes del primer deploy con key nueva.
Resultado: Appeal en proceso. Lo que cambió: checklist público de API key security gate antes de cada deploy.
2026-05 · Hosting compromise multi-site
Qué pasó: Una vulnerabilidad 0-day en el panel de hosting fue explotada. Múltiples sitios afectados con backdoors persistentes (hidden dotfile malware + injection en theme files + auto_prepend directive).
Por qué: OS del servidor estaba EOL. Panel hosting varias versiones atrasadas. Auto-updates off. Patch review cadence: nunca.
Lección: Servers no se «set and forget.» Auto-updates non-negotiable. OS support timeline check antes de elegir host. Patch cadence mensual mínimo.
Resultado: Rebuild completo (AlmaLinux 9.7 + cPanel actualizado + auto-updates ON). Segunda wave cleanup pa’ los persistencia patterns descubiertos post-rebuild. Ambient agent wp-integrity-watch ahora detecta el patrón diario.
Proyecto editorial — SUNSET 2026-04
Qué era: Site editorial protest, AI chat, BotWidget integration. Diseño «fight the system» angle.
Por qué se mató: No revenue path 90 días. Audiencia «el que protesta» no convierte. Q2 Pruning forzó decisión.
Lección: Anger no es business model. Necesitas math o utility, no solo «fight.»
AI News Anchor — ON HOLD desde Mar 2026
Qué era: AI-generated daily news anchor leyendo civic stories.
Por qué se pausó: Tech feasibility OK pero el bottleneck era el SCRIPT — no había proceso editorial sostenible pa’ 5 scripts/semana. Pretender que el AI anchor era el problema era falso; el problema era no tener news desk.
Lección: Tech wow ≠ producto. Si el bottleneck humano upstream no está resuelto, automatizar downstream no ayuda.
Radar Marítimo — PARKED Mar 2026
Qué era: AIS data tracker pa’ tráfico marítimo en PR.
Por qué se pausó: Audience demand investigation produjo demand insuficiente. No critical mass.
Lección: Tech curiosity ≠ market signal. Validate ANTES de construir, no después.
Brand secundario — SUNSET 2027
Qué era: Brand pública secundaria competiendo por mismo audience que caborojo.com.
Por qué se mata: Brand dilution > marginal reach. Una propiedad fuerte > dos débiles.
Lección: Una operación, una brand. Cross-brand confusion es costo invisible.
Estado: Admin interno sigue. Brand pública NO se promociona desde May 11 2026. Dominio expira 2027 sin renovar.
Posts motivacionales legacy — voice mismatch
Qué eran: Posts genéricos motivacionales tipo «5 hábitos sencillos», «Metodología SMART», «15 lecciones del año». Acumulados 2 años de archivo.
Por qué se archivan: Voice no alinea con canon actual (math, no chismes). Diluyen brand promise.
Lección: Pivot de voz requiere limpiar inventario, no solo cambiar nuevos posts.
Estado: 301-redirect a esta página /errores. URLs accesibles via direct link pero NO en sitemap ni navegación.
Daily email push — Resolución-No-Consumo violation
Qué era: «Daily email subscription» section prominente en homepage.
Por qué se mata: Canon May 11 lockó newsletter como Viernes weekly («3 Decisiones Esta Semana»), NO daily. Homepage push contradice canon.
Lección: Si lockas un canon, audit el sitio entero por contradicciones — no solo prospectivo.
Duplicate URLs sin canonicalizar — SEO canibalization
Qué pasó: URLs con sufijos numéricos automáticos creados por WordPress al re-publicar. Sin canonical → keywords compitiendo entre sí.
Lección: WordPress permite slug numbering automático cuando dudas en publicar — pero crea long-tail damage. Audit sitemap cada 90 días.
Estado: 301 redirects a versión canónica en deploy.
Errores que aún no entendemos
(Cuando algo no funciona y aún no sé por qué, lo pongo aquí abierto.)
- FB reach declined notable en Q1 2026 vs Q4 2025. Hipótesis múltiples (algoritmo cambió, cadencia inadecuada, audience fatigue). Pendiente análisis.
- Bot *7711 daily users plateauing. Posible que demand cap real de CR para query bot sea más bajo de lo asumido.
¿Encontraste un error que no publiqué?
Mándalo. Textea al 787-417-7711 o email angel@caborojo.com.
Si lo verifico, lo agrego aquí con tu attribution si la quieres. Crowdsourced error tracking.
Esta página es la prueba pública de que un solo operador puede sostener trust sin equipo PR. Si te sirve el ejemplo, copia el patrón.