SOLUCIONA ESTO YA
LECTURA CRÍTICA

Cómo limpiar una web WordPress infectada y evitar que el malware vuelva

Guía práctica para eliminar malware de WordPress y cerrar la causa, garantizando seguridad y continuidad operativa.

Cómo limpiar una web WordPress infectada y evitar que el malware vuelva Una pyme que depende de su sitio WordPress para captar clientes puede ver cómo su negocio se detiene en cuestión de minutos si la web se infecta con malware. Los síntomas más habituales son:
  • Mensajes de advertencia en el navegador (“Este sitio puede ser peligroso”).
  • Redirecciones a sitios de spam o phishing.
  • Pérdida de formularios de contacto y, por tanto, de oportunidades de venta.
  • Bloqueo del envío de correos profesionales porque el servidor está en listas negras.

En la mayoría de los casos, la reacción más rápida es ejecutar una herramienta de limpieza y volver a publicar la página. Sin embargo, esa solución temporal deja la puerta abierta a nuevas infecciones y, a largo plazo, puede comprometer la reputación de la empresa y su continuidad operativa.

En este artículo explicamos por qué limpiar sin identificar la causa es insuficiente y describimos un proceso estructurado, apoyado en automatización, que permite eliminar el malware y evitar su reaparición.


1. El problema operativo: “Limpio y sigue infectado”

Caso realista

María es autónoma de diseño gráfico y tiene una web WordPress donde muestra su portafolio y recibe consultas a través de un formulario. Un día, sus clientes dejan de recibir respuestas y Google muestra una advertencia de “Sitio comprometido”. María contrata una herramienta de escaneo que elimina los archivos maliciosos en 30 minutos. Al día siguiente, el mismo mensaje vuelve a aparecer.

¿Qué ha fallado?
María ha eliminado el código malicioso, pero no ha investigado por qué el atacante pudo volver a colocarlo.

Causas habituales

Problema Causa probable Revisión necesaria Solución definitiva
Redirección a dominios de spam Archivo .htaccess modificado Comparar con copia de seguridad limpia Restaurar archivo y reforzar permisos
Formularios que no llegan Inyección de código en plugins de formularios Revisar logs de PHP y auditoría de plugins Reemplazar plugin vulnerado y actualizar
Sitio en lista negra Servidor comprometido (puertos abiertos) Escaneo de puertos y procesos del servidor Cambiar hosting o aplicar parches de seguridad
Cambio de credenciales sin autorización Contraseñas débiles o reutilizadas Auditoría de usuarios y accesos Implementar 2FA y contraseñas robustas

2. Por qué la limpieza superficial deja el problema abierto

  1. Persistencia de vulnerabilidades
    El malware suele aprovechar agujeros en plugins, temas o en la configuración del servidor. Si el plugin vulnerado sigue activo, el atacante encontrará la misma vía.

  2. Credenciales comprometidas
    Las credenciales de FTP, bases de datos o del panel de control pueden haber sido filtradas. Mientras no se cambien, cualquier script automatizado puede volver a subir el código malicioso.

  3. Falta de monitorización
    Sin una herramienta que vigile cambios de archivo o tráfico sospechoso, la infección se detecta solo cuando el navegador advierte al usuario.

  4. Entorno de hosting inestable
    Un servidor compartido con políticas de seguridad laxas facilita la propagación de malware entre sitios. Cambiar a un hosting estable para WordPress es una medida preventiva clave. Puedes consultar nuestra guía para elegir el hosting adecuado: https://mantenimiento-web.online/blog/cms/guia-elegir-hosting-estable-wordpress/.


3. Proceso de recuperación sostenible

Paso 1: Contener la infección

  • Desactivar el sitio temporalmente mediante un archivo maintenance.php o poniendo la web en modo “under construction”.
  • Cambiar todas las contraseñas (FTP, base de datos, panel de control) y habilitar autenticación de dos factores (2FA) en los accesos críticos.

Paso 2: Identificar la raíz del problema

  1. Escaneo completo con una herramienta que detecte tanto archivos modificados como patrones de código sospechoso.
  2. Revisión de logs (Apache/Nginx, PHP) para detectar peticiones inusuales o intentos de subida de archivos.
  3. Comparar con una copia limpia de la instalación de WordPress, temas y plugins. Herramientas de hashing permiten detectar diferencias de forma automática.

Paso 3: Limpiar y restaurar

Acción Detalle
Restaurar archivos del núcleo Descargar la versión oficial de WordPress y sobrescribir los archivos del core.
Reinstalar plugins y temas Eliminar carpetas completas y volver a instalar desde fuentes oficiales.
Eliminar usuarios sospechosos Revisar la tabla wp_users y borrar cuentas sin actividad legítima.
Reparar la base de datos Ejecutar wp db repair y revisar tablas en busca de inyecciones de código.

Paso 4: Fortalecer la seguridad

  • Aplicar actualizaciones automáticas de WordPress, plugins y temas.
  • Limitar permisos de archivos (644 para archivos, 755 para carpetas) y bloquear la ejecución de scripts en directorios de subida (wp-content/uploads).
  • Instalar un firewall a nivel de aplicación (por ejemplo, un plugin de seguridad que bloquee intentos de fuerza bruta).
  • Configurar copias de seguridad diarias y almacenar los backups fuera del servidor principal. Así, si vuelve a haber una infección, la restauración será rápida y segura.

Paso 5: Monitorizar y validar

  • Implementar monitorización de integridad (hash de archivos) que avise al equipo de cualquier cambio inesperado.
  • Revisar la reputación del dominio en listas negras (Google Safe Browsing, Spamhaus) y solicitar la eliminación una vez limpio.
  • Comprobar la entrega de correos después de la limpieza. Si los formularios siguen sin llegar, revisa la configuración DNS y SPF/DKIM. Más información sobre problemas de formularios aquí: https://mantenimiento-web.online/blog/cms/formularios-no-llegan-comprobaciones-clave/.

4. Automatización inteligente: el aliado para una defensa continua

La automatización no sustituye al especialista, pero sí reduce el tiempo de detección y respuesta. Un agente de automatización puede:

  1. Escanear diariamente los archivos y compararlos con una base de hashes conocida. Cuando detecta una alteración, genera una alerta y, si la diferencia coincide con una firma de malware conocida, ejecuta una regla de cuarentena automática.
  2. Actualizar plugins en un horario controlado, evitando que versiones vulnerables queden expuestas.
  3. Rotar credenciales de forma programada y notificar al responsable mediante correo profesional (configurado con DNS propio para evitar falsificaciones).
  4. Generar informes de mantenimiento que incluyan métricas de tiempo de respuesta, número de incidentes y acciones correctivas. Estos informes pueden enviarse a la dirección de correo corporativo y servir como base para solicitar una bolsa de horas de soporte o una revisión de mantenimiento: https://mantenimiento-web.online/blog/cms/freelance-proveedor-marca-blanca-extension-equipo/.

Ventajas concretas

Ventaja Impacto en la pyme
Detección temprana Reduce el tiempo de inactividad de horas a minutos.
Respuesta automatizada Evita la necesidad de intervención manual en cada alerta.
Consistencia en backups Garantiza que siempre haya una versión recuperable.
Cumplimiento de normas Facilita la auditoría de seguridad y la certificación de datos.

5. Integración con el mantenimiento web regular

Una estrategia de mantenimiento preventivo incluye:

  • Revisiones trimestrales de la arquitectura de hosting. Si el servidor actual muestra signos de vulnerabilidad, considera migrar a un hosting especializado en WordPress. Lee nuestra comparativa de cambios de hosting aquí: https://mantenimiento-web.online/blog/cms/cambiar-hosting-o-optimizar-web/.
  • Auditorías técnicas que analicen la configuración de DNS, SPF/DKIM y la correcta entrega de correos profesionales.
  • Optimización de velocidad: un sitio rápido reduce la superficie de ataque porque los plugins de seguridad pueden procesar peticiones con menor carga.
  • Soporte bajo demanda mediante una bolsa de horas: permite actuar rápidamente cuando se detecta una anomalía sin esperar a la siguiente revisión programada.

6. Checklist rápido para evitar reinfecciones

  • [ ] Cambiar todas las contraseñas y activar 2FA.
  • [ ] Actualizar WordPress, temas y plugins a la última versión.
  • [ ] Revisar y endurecer permisos de archivos y carpetas.
  • [ ] Instalar y configurar un firewall de aplicación.
  • [ ] Programar copias de seguridad fuera del servidor.
  • [ ] Implementar monitorización de integridad de archivos.
  • [ ] Verificar la reputación del dominio y solicitar eliminación de listas negras.
  • [ ] Revisar la configuración de correo (SPF, DKIM, DMARC).

7. Conclusión

Limpiar una web WordPress infectada sin identificar la causa es como tapar una grieta sin reparar la estructura del edificio: la filtración volverá a aparecer. Un proceso completo que combine contención, diagnóstico, restauración, refuerzo y monitorización garantiza que la página vuelva a estar operativa y, lo que es más importante, que permanezca segura.

La automatización de escaneos, actualizaciones y gestión de credenciales acelera este proceso y reduce el riesgo de error humano. Sin embargo, la supervisión de un profesional de mantenimiento web sigue siendo esencial para interpretar los resultados y aplicar las correcciones adecuadas.


8. Próximos pasos

¿Tu sitio WordPress muestra señales de infección?

  • Solicita soporte y permite que nuestro equipo realice una auditoría completa.
  • Revisa tu plan de mantenimiento para asegurarte de que incluye escaneos regulares y copias de seguridad.
  • Pide presupuesto sin compromiso para una solución integral que cubra hosting, correo profesional y soporte continuo.

Mantén tu presencia online segura y operativa. La continuidad de tu negocio depende de una web sin sorpresas.

¿VAS A SEGUIR LEYENDO O VAS A ARREGLARLO?

Tu competencia ya está en Hanka.es mejorando sus sistemas. Tú sigues aquí perdiendo tiempo.

SOLUCIONAR MI PROBLEMA AHORA