RAZÓN:
La función apus_remove_query_strings_from_static_resources()
es una práctica obsoleta de hace 10+ años que causaba más
problemas que beneficios.
PROBLEMAS QUE CAUSABA:
- Impedía cache busting de WordPress (filemtime(), versiones)
- Usuarios quedaban con CSS/JS desactualizado después de updates
- Causó que el botón Let's Talk se viera azul en lugar de naranja
POR QUÉ ES OBSOLETA:
- CDNs modernos (Cloudflare, AWS, Fastly) cachean con query strings
- WordPress depende de query strings para versionado correcto
- Google PageSpeed ya no lo recomienda desde hace años
- HTTP/2 hace irrelevante esta "optimización"
RESULTADO:
Ahora WordPress puede usar query strings correctamente para
asegurar que usuarios descarguen versiones actualizadas de CSS/JS.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
PROBLEMA RAÍZ ENCONTRADO:
La función apus_remove_query_strings_from_static_resources()
estaba eliminando TODOS los query strings (?ver=X.X.X) de los CSS,
incluyendo el style.css principal.
Esto impedía que los navegadores descargaran nuevas versiones del CSS
cuando se hacían cambios, causando que el botón Let's Talk siguiera
mostrándose azul en lugar de naranja.
SOLUCIÓN:
Modificar la función para que NO elimine el query string del
/assets/css/style.css, permitiendo cache busting cuando se actualiza.
Los demás archivos CSS siguen sin query string para mejor cache.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Resuelve issue #21 (parte 3) - Agotamiento de memoria (14GB)
PROBLEMA:
- PHP Fatal error: Allowed memory size of 14680064000 bytes exhausted
- El tema intentaba usar 14 GB de memoria antes de fallar
- Timeout de 15+ segundos antes del crash
- Error en wp-includes/option.php línea 615
CAUSA RAÍZ:
La combinación de apus_add_dns_prefetch() y apus_remove_dns_prefetch()
creaba un loop infinito:
1. apus_add_dns_prefetch() agrega hints en wp_head con prioridad 0
2. apus_remove_dns_prefetch() filtra wp_resource_hints
3. Esto causa que WordPress recalcule hints infinitamente
4. Cada recalculo consume memoria hasta agotar 14GB
SOLUCIÓN:
Deshabilitar temporalmente apus_add_dns_prefetch() comentando el
add_action en línea 448. Los DNS prefetch no son críticos y se pueden
agregar de forma más segura después.
ARCHIVOS MODIFICADOS:
- inc/performance.php (línea 447-448)
VERIFICACIÓN:
✅ Sitio funciona con HTTP 200
✅ Sin agotamiento de memoria
✅ Sin timeouts
✅ Performance.php funcional
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Resuelve issue #21 (parte 2) - HTTP 500 / Timeout
PROBLEMA:
- La función apus_remove_dns_prefetch() causaba un loop infinito
- Usaba wp_dependencies_unique_hosts() de manera incorrecta
- Causaba timeout de 36 segundos y HTTP 500 en staging
- El tema no podía activarse sin causar error
CAUSA RAÍZ:
La función llamaba a wp_dependencies_unique_hosts() dentro del filtro
'wp_resource_hints', lo cual podía disparar más dependencias que volvían
a llamar el mismo filtro, creando un loop infinito.
Código problemático (línea 309):
return array_diff( wp_dependencies_unique_hosts(), $hints );
SOLUCIÓN:
Reescribir la función para filtrar hints directamente sin llamar a
wp_dependencies_unique_hosts(), usando un loop simple para eliminar
solo las referencias a s.w.org.
ARCHIVOS MODIFICADOS:
- inc/performance.php (líneas 307-321)
VERIFICACIÓN EN STAGING:
✅ Sitio funciona con tema APUS activado
✅ No hay timeouts
✅ HTTP 200 en lugar de HTTP 500
✅ Performance.php funciona correctamente
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Se implementa tema WordPress personalizado para Análisis de Precios Unitarios con funcionalidades avanzadas:
- Sistema de templates (front-page, single, archive, page, 404, search)
- Integración de Bootstrap 5.3.8 con estructura modular de assets
- Panel de opciones del tema con Customizer API
- Optimizaciones de rendimiento (Critical CSS, Image Optimization, Performance)
- Funcionalidades SEO y compatibilidad con Rank Math
- Sistema de posts relacionados y tabla de contenidos
- Badge de categorías y manejo de AdSense diferido
- Tipografías Google Fonts configurables
- Documentación completa del tema y guías de uso
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>