WordPress infectado: cómo limpiarlo tú mismo en 2026

Tu página web puede estar infectada ahora mismo y tú sin saberlo. No es exageración: según datos de Sucuri, más del 50% de los sitios WordPress infectados que analizan no muestran señales visibles al propietario. El ataque ya ocurrió, pero la web sigue funcionando… de momento.
Si has notado que Google marca tu web como peligrosa, que tu hosting te ha suspendido la cuenta, que aparece contenido raro en tu web o que va más lenta de lo normal, muy probablemente tienes malware. Este artículo te explica qué es lo que pasa realmente cuando una web de WordPress se infecta, por qué limpiarlo no es tan sencillo como parece, y qué proceso hay que seguir para hacerlo bien.
Qué pasa realmente cuando WordPress se infecta
El malware no es un virus que entra y se queda quieto. Es código malicioso que alguien inyecta en tus archivos o en tu base de datos con un objetivo concreto: robar datos de tus visitas, enviar spam desde tu servidor, redirigir a tus usuarios a otras webs, o usar tus recursos para atacar a terceros.
Lo que hace especialmente peligroso el malware en WordPress es que se oculta. Los atacantes no quieren que lo detectes, porque si lo detectas, lo eliminas. Por eso el código malicioso suele:
- Insertarse dentro de archivos legítimos del core de WordPress, mezclado con código real
- Ocultarse en la base de datos, dentro del contenido de páginas o en opciones del sistema
- Crear puertas traseras (backdoors) que permiten volver a entrar aunque limpies la infección superficial
- Regenerarse automáticamente si no eliminas todos los puntos de entrada
Qué hacer: Antes de tocar nada, haz una copia de seguridad completa del estado actual de la web (aunque esté infectada). Necesitarás ese punto de referencia para comparar archivos.
Cómo se detecta el malware en WordPress
Hay dos tipos de detección: la superficial y la real.
Detección superficial (la que no basta)
Los plugins de seguridad más conocidos, como Wordfence o iThemes Security, hacen un escáner que compara tus archivos con una base de datos de firmas de malware conocido. Es útil, pero tiene un problema grave: solo detecta malware que ya está catalogado. El malware nuevo o personalizado pasa desapercibido.
Detección profunda (la que realmente importa)
Una limpieza profesional implica revisar capa por capa:
1. Archivos del servidor
Los archivos del core de WordPress (carpetas wp-admin y wp-includes) no deberían modificarse nunca. Si alguno de esos archivos difiere del original oficial, hay un problema. También hay que revisar wp-config.php, el .htaccess, todos los plugins y temas activos e inactivos, y cualquier archivo suelto en el servidor que no debería estar ahí.
2. Base de datos
El malware se esconde en la tabla wp_options (especialmente en los campos siteurl, home y en opciones inyectadas), en el contenido de posts y páginas, y en los metadatos de usuarios. Buscar cadenas codificadas en Base64, funciones PHP como eval(), base64_decode(), gzinflate() o str_rot13() en lugares donde no deberían estar es una señal clara de infección.
3. Permisos de archivos Un archivo PHP con permisos de escritura global (777) es una puerta abierta. Los permisos correctos para archivos deben ser 644 y para carpetas 755. Cualquier cosa diferente merece revisión.
Qué hacer: Usa la herramienta gratuita de escaneo de Sucuri (sitecheck.sucuri.net) para una primera lectura externa. Pero entiende que ese escaneo solo ve lo que es visible desde fuera. Lo que está escondido en el servidor no lo detecta.
Por qué limpiar WordPress manualmente es complicado
Muchos tutoriales te dicen “borra estos archivos, reinstala el core y listo”. La realidad es más compleja por varias razones:
Las backdoors son múltiples. Un atacante con acceso a tu servidor no pone una sola puerta trasera, pone varias. Si eliminas una y dejas otra, la infección reaparece en días o semanas. Es el caso más habitual: webs que se “limpian” y se vuelven a infectar.
El tema y los plugins son vectores frecuentes. Si el ataque entró por una vulnerabilidad en un plugin desactualizado, reinstalar el core de WordPress no sirve de nada si ese plugin sigue ahí. Hay que identificar el vector de entrada original.
La base de datos es difícil de revisar sin conocimiento técnico. Las inyecciones en la base de datos pueden estar ofuscadas (codificadas para que no se lean a simple vista) y distribuidas en decenas de registros.
El hosting puede estar comprometido a nivel superior. En algunos casos, especialmente en hostings compartidos, la infección viene de otra web del mismo servidor. Aunque limpies la tuya, puede reinfectarse si el problema es del servidor.
Qué hacer: Si encuentras archivos sospechosos pero no estás seguro de qué son, no los borres sin más. Hay archivos del sistema de WordPress que parecen código extraño pero son legítimos. Borrar el archivo equivocado puede romper la web completamente.
El proceso correcto de limpieza
Este es el orden que sigue una limpieza técnica bien hecha:
Paso 1: Poner la web en mantenimiento
Antes de empezar, limita el acceso. Así evitas que los usuarios entren a una web infectada mientras trabajas.
Paso 2: Cambiar todas las credenciales
Contraseñas de WordPress de todos los usuarios, contraseña de la base de datos, credenciales del FTP y del panel de hosting. Si el atacante tiene acceso activo, de nada sirve limpiar si puede volver a entrar.
Paso 3: Identificar y documentar la infección
Antes de borrar nada, documenta qué archivos están modificados y cuándo. La fecha de modificación de los archivos (el timestamp) es una pista valiosa: si ves archivos del core de WordPress modificados en una fecha reciente, algo no cuadra.
Paso 4: Limpiar archivos del servidor
Reinstalar el core de WordPress desde cero (subiendo los archivos originales y sobreescribiendo los existentes). Revisar y limpiar o reinstalar todos los plugins y temas. Eliminar temas y plugins inactivos que nadie usa: son vulnerabilidades abiertas.
Paso 5: Limpiar la base de datos
Buscar y eliminar código malicioso en las tablas de la base de datos. Revisar usuarios administradores que no reconoces. Verificar que la URL de la web en wp_options es la correcta.
Paso 6: Revisar y corregir permisos
Establecer los permisos correctos en todos los archivos y carpetas del servidor.
Paso 7: Instalar medidas de protección
Una vez limpio, hay que evitar que vuelva a pasar. Esto implica configurar un firewall de aplicación web (WAF), activar la autenticación en dos pasos, revisar qué plugins tienen vulnerabilidades conocidas y mantener todo actualizado.
Paso 8: Pedir revisión a Google
Si tu web estaba en la lista negra de Google (aparecía como “sitio peligroso”), hay que solicitar una revisión en Google Search Console una vez que la limpieza esté completada.
Qué hacer: Después de la limpieza, monitoriza la web durante al menos 30 días. Las reinfecciones en las primeras semanas son la señal de que quedó alguna backdoor sin eliminar.
Cuánto tarda en volver a funcionar bien una web limpiada
Depende del nivel de infección. Una infección detectada pronto en una web pequeña puede limpiarse en pocas horas. Una infección avanzada con múltiples backdoors, base de datos comprometida y varios vectores de entrada puede llevar días de trabajo técnico.
Lo que nunca deberías hacer es apresurarte. Una limpieza a medias es peor que ninguna limpieza, porque te da una falsa sensación de seguridad mientras la infección sigue ahí.
Siguiente paso
Si tu web da señales de estar infectada, o si simplemente no recuerdas cuándo fue la última vez que alguien la revisó en profundidad, no esperes a que el problema sea mayor. En SeguridadWeb hacemos auditorías de seguridad y limpiezas de malware para autónomos y pequeños negocios. Revisamos tu web capa por capa, identificamos el problema real y lo resolvemos sin rodeos. Contacta con nosotros y cuéntanos qué está pasando.
¿Tu web es segura?
Solicita una auditoría de seguridad gratuita y descubre vulnerabilidades antes de que lo haga un atacante.
Solicitar auditoría gratuita