Fixes:
- CTR 0%: Cambiar query de IS NULL a HAVING clicks=0 para CTR global real
- Decay content: Aumentar umbral de 3 a 5 clicks para evitar ruido
- Click distribution: Expandir de posiciones 1-5 a 1-10 individual
- Remover URL redundante de tabla Top Posts
UI:
- Convertir 3 secciones de recomendaciones a formato tabla consistente:
* ACCIÓN URGENTE: Contenido a Crear
* REVISAR: Títulos con CTR 0%
* QUICK WINS: Oportunidades Fáciles
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Agregar KPIs con tendencias vs período anterior (↑↓% comparativo)
- Implementar secciones de recomendaciones: Contenido a Crear, CTR 0%,
Quick Wins, Contenido Estrella, Contenido en Decadencia
- Convertir listados a tablas con columnas separadas para mejor legibilidad
- Agregar botones Editar + Ver en todas las tablas de posts
- Ocultar secciones vacías dinámicamente (Búsquedas Sin Resultados)
- Relajar criterios Quick Wins: pos 2-15, CTR ≥2%, búsquedas ≥2
- Incluir distribución de clicks por posición con barras de progreso
- Agregar exportación a Markdown para análisis con IA
Archivos nuevos:
- admin/class-analytics-dashboard.php (UI del dashboard)
- admin/class-metrics-repository.php (queries de métricas)
- admin/assets/dashboard.css (estilos Bootstrap 5)
- admin/assets/dashboard.js (interactividad y export)
- sql/create-indices.sql (índices para optimización)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
When JavaScript falls back to admin-ajax.php instead of the fast
search-endpoint.php, results were returned with empty permalinks.
This caused click tracking to log URLs in /?p=ID format.
Now both endpoints build proper permalinks using post_name:
- search-endpoint.php (fast): Already had the fix
- admin-ajax fallback: Added permalink building (lines 182-203)
Also flushed Redis cache to clear stale results.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>