Malware, reinstalación limpia y Elementor Pro relicenciado: la recuperación del sitio de TourReview
Una plataforma B2B de gestión de reputación online para operadores turísticos tenía spam de casino en francés inyectado en el sitio. Reparación completa en cinco fases: eliminación del malware, actualización selectiva de 21 plugins, reinstalación limpia de WordPress y control de calidad con metodología de mediana de 5 ejecuciones en Lighthouse.
La alerta
TourReview es una plataforma SaaS B2B de gestión de reputación online para operadores turísticos, cliente captado vía Workana. El sitio mostraba bloques de texto en francés que promocionaban un casino online (mystakecasinobet.com), repetidos en múltiples páginas — una señal clara de que la base de datos estaba comprometida, no solo de un plugin desactualizado.
Regla del proyecto: nunca actualizar con malware activo
Actualizar los plugins antes de identificar y eliminar el vector de infección puede ocultar cómo entró el atacante, dificultando después una limpieza completa. La investigación fue primero: la inyección estaba en las tablas `wpuw_posts` y `wpuw_postmeta`, sin ningún archivo PHP comprometido. El vector fue un usuario backdoor (`Af17lN8wTX`) creado mediante acceso a la base de datos o una credencial filtrada — eliminado de forma permanente tras la confirmación.
Después del malware: reinstalación limpia
Tras la eliminación, se actualizaron WordPress y 21 plugins, incluyendo un Elementor Pro nulled (pirata, versión 3.8.0) que fue removido y sustituido por una licencia legítima. La instalación antigua fue descartada y una reinstalación limpia se estableció como el único WordPress activo en la cuenta, con los archivos subidos (325MB) restaurados desde el backup previo a la limpieza.
Control de calidad con metodología contra el ruido
Las pruebas de Lighthouse en hosting compartido mostraban una variación de 14 a 23 puntos entre ejecuciones idénticas de la misma prueba — ruido del servidor de origen, no de las optimizaciones aplicadas. La solución fue medir por la mediana de 5 ejecuciones por página, en lugar de confiar en un único resultado, para no tomar decisiones técnicas basadas en una medición que en realidad era solo imprecisión estadística.
Resultado
23 páginas y alrededor de 70 publicaciones de blog verificadas, todas con respuesta 200 OK. Escaneo completo de Wordfence sin ninguna ocurrencia maliciosa restante. Hardening aplicado: xmlrpc.php bloqueado, protección contra fuerza bruta, cuenta de administrador propia de Crazy Diamond creada para mantenimiento futuro. Ningún punto técnico bloquea la entrega — lo que queda depende únicamente de decisiones de la propia clienta (reconexión del feed de Instagram, clave de Akismet), sin impacto en el alcance principal ya concluido.