Encontrar malware en un sitio WordPress puede manifestarse como redirecciones extrañas, anuncios que no agregaste, archivos modificados, usuarios administradores desconocidos, alertas del hosting o avisos de Google. No siempre se trata de la misma infección: por eso, el objetivo no es sólo borrar un archivo señalado, sino recuperar una instalación confiable, cerrar el acceso que se utilizó y comprobar que el problema no vuelva a aparecer.
Esta guía reconstruye y actualiza el tutorial original. Está pensada para una persona que puede trabajar con cPanel o SFTP y entiende la estructura básica de WordPress. Si el sitio es crítico, procesa pagos, almacena datos personales o no podés reconocer con seguridad un archivo, detenete después de hacer el respaldo y solicitá asistencia: una limpieza incompleta puede dejar una puerta trasera activa.
Antes de empezar: preservá evidencia y contené el incidente
No borres nada antes de generar una copia completa de los archivos y de la base de datos. Aunque esa copia esté infectada, puede servir para recuperar contenido, comparar cambios o investigar el incidente si algo sale mal. Guardala fuera de la carpeta pública y no la uses luego como una copia “limpia”.
- Anotá qué observaste, cuándo ocurrió y qué cambios se hicieron recientemente: plugins instalados, actualizaciones, usuarios creados o accesos inusuales.
- Si el sitio está sirviendo contenido malicioso, activá un modo de mantenimiento o pedí al hosting que limite temporalmente el acceso público.
- Revisá que la computadora desde la que vas a administrar el sitio esté actualizada y libre de malware. Un equipo infectado puede volver a robar las nuevas claves.
- Conservá el reporte del antivirus, del escáner o del hosting. Es una pista; no reemplaza la revisión.
Podés generar una copia desde cPanel. Si necesitás volver a una copia anterior después de revisar su fecha y estado, consultá la guía para restaurar backups de una cuenta cPanel.
Paso 1: cambiá todos los accesos, no sólo el de WordPress
Una contraseña filtrada de FTP, SFTP, cPanel o WordPress permite al atacante volver a escribir archivos incluso después de una limpieza. Usá claves largas, únicas y generadas con un gestor de contraseñas.
- Contraseña de cPanel y de cada cuenta SFTP/FTP que tenga acceso al sitio.
- Contraseñas de todos los usuarios de WordPress, especialmente administradores.
- Credenciales de la base de datos si hay indicios de acceso a la base o si se pueden rotar de forma controlada.
- Claves de servicios conectados: SMTP, APIs, pasarelas de pago, copias de seguridad, CDN y cuentas de despliegue.
Revisá Usuarios > Todos los usuarios en WordPress. Eliminá o degradá cualquier administrador que no reconozcas, pero antes verificá que no sea un usuario legítimo del equipo o de un proveedor. Luego cerrá las sesiones activas renovando las claves y salts de WordPress en wp-config.php mediante el generador oficial; esto obliga a iniciar sesión nuevamente.
Si necesitás recuperar el acceso de un administrador legítimo, seguí la guía para restablecer la contraseña de WordPress desde phpMyAdmin. Activá también 2FA en las cuentas de hosting que lo permitan.
Paso 2: localizá la instalación y revisá los cambios
Ingresá al Administrador de archivos de cPanel o conectate por SFTP. La instalación principal suele estar en public_html, pero puede residir en otra carpeta si el dominio o subdominio fue configurado de ese modo.
Buscá señales como archivos PHP inesperados dentro de wp-content/uploads, nombres aleatorios, archivos modificados cerca de la fecha del incidente, reglas desconocidas en .htaccess, código ofuscado en wp-config.php, tareas cron no reconocidas y scripts inusuales en plugins o temas. También revisá wp-content/mu-plugins si existe: los plugins obligatorios se cargan automáticamente y pueden pasar desapercibidos.
Un archivo sospechoso no debe eliminarse sólo por su nombre. Comparalo con una copia conocida, con la distribución oficial o con el reporte que lo detectó. Guardá una copia fuera de la web antes de modificarlo.
Paso 3: reemplazá el núcleo de WordPress por archivos oficiales
Descargá una copia nueva de WordPress desde wordpress.org. El núcleo puede reinstalarse sin tocar el contenido propio, pero no conviene borrar todo indiscriminadamente: wp-content, wp-config.php, reglas personalizadas y archivos de verificación pueden contener configuración legítima que debe revisarse.
Como procedimiento seguro, reemplazá por la copia oficial las carpetas wp-admin y wp-includes, además de los archivos del núcleo que están en la raíz. No reemplaces a ciegas wp-config.php ni borres wp-content. Si usás WP-CLI y tenés experiencia, wp core verify-checksums puede ayudar a detectar cambios en los archivos del núcleo, pero no revisa plugins, temas ni el contenido subido.
La documentación de WordPress recomienda obtener las versiones oficiales únicamente desde su sitio y mantener el software actualizado. Si la instalación está muy desactualizada o el diagnóstico es incierto, es preferible montar una copia de prueba y validar allí antes de intervenir el sitio de producción.
Cómo debería verse la raíz durante la limpieza
La captura histórica muestra el momento en que se había separado el núcleo para reemplazarlo. Usala como referencia visual, no como una orden para eliminar todos los demás archivos: conservá y revisá los elementos propios de tu instalación antes de cualquier borrado.

Paso 4: revisá wp-config.php y .htaccess con especial cuidado
wp-config.php contiene la conexión a la base de datos, las claves de sesión y, a veces, reglas personalizadas. Abrilo desde el administrador de archivos sólo después de tener el respaldo. No borres líneas que no comprendés; comparalo con wp-config-sample.php de la versión oficial y con una copia limpia del propio sitio.
Prestá atención a fragmentos largos y codificados, inclusiones de archivos desde rutas extrañas, funciones que ejecutan código dinámicamente o redirecciones no autorizadas. Esas señales no prueban por sí solas que algo sea malicioso: algunos plugins legítimos agregan configuraciones avanzadas. Ante la duda, preservá el archivo y pedí una revisión técnica.

En la siguiente captura histórica se ve un ejemplo de código sospechoso. No copies ni ejecutes fragmentos similares; sirve para reconocer que el código inyectado suele intentar ocultarse o ser difícil de leer.

Revisá también .htaccess, tanto en la raíz como en directorios relevantes. Es un objetivo frecuente de redirecciones maliciosas. Si necesitás reconstruir sus reglas básicas, consultá el archivo .htaccess predeterminado de WordPress, pero conservá aparte cualquier regla legítima de caché, redirecciones, seguridad o integraciones antes de sustituirlo.
Paso 5: eliminá y reinstalá plugins y temas desde fuentes confiables
Hacé una lista de los plugins y temas realmente necesarios. Después, eliminá los que no reconozcas, los abandonados, duplicados o descargados desde fuentes no oficiales. Para los elementos que sí necesitás, la opción más confiable es eliminar su carpeta y reinstalar una copia nueva desde WordPress.org o desde el proveedor original, en lugar de intentar editar archivos infectados uno por uno.
Si el tema tiene personalizaciones, guardá primero una copia para comparar; no la restaures directamente sobre una instalación limpia sin revisar. No uses temas o plugins anulados (“nulled”): pueden venir alterados incluso antes de instalarse.


Aplicá el mismo criterio a los temas. Conservá únicamente los que estén en uso o sean necesarios para recuperación, y reinstalalos desde su fuente original.


Paso 6: revisá uploads, la base de datos y las tareas programadas
Archivos subidos
La carpeta wp-content/uploads contiene imágenes y documentos; por eso no debe borrarse como parte de una limpieza general. Buscá archivos ejecutables inesperados —por ejemplo, PHP en un directorio que normalmente sólo contiene medios—, pero verificá cada hallazgo antes de eliminarlo. Algunos sitios usan integraciones legítimas que suben otros formatos.
Base de datos
El malware puede modificar entradas, widgets, opciones, usuarios o inyectar JavaScript en contenidos. Revisá administradores, URLs del sitio, opciones de plugins y contenido reciente. Hacé los cambios desde una copia de prueba o con un respaldo recuperable; una consulta SQL incorrecta puede dañar información válida.
Tareas automáticas
Revisá las tareas cron de cPanel y los eventos programados de WordPress. Eliminá sólo los que puedas atribuir con certeza a una infección. Anotá cualquier cambio para poder revertirlo.
Paso 7: actualizá, escaneá y probá antes de volver a abrir el sitio
- Actualizá WordPress, plugins y temas que decidiste conservar.
- Ejecutá un nuevo análisis desde el servicio de seguridad del hosting y, si corresponde, un escáner de aplicación.
- Probá el inicio de sesión, formularios, carrito o pagos, envío de correo, páginas importantes y enlaces internos.
- Revisá el registro de errores y el registro de accesos si está disponible.
- Confirmá que no reaparecieron administradores, archivos o redirecciones extrañas después de un tiempo de observación.
No des por terminado el incidente sólo porque el sitio vuelve a cargar. Si el escáner sigue detectando archivos, si hay tráfico de spam, reinfecciones o una vulnerabilidad sin parche, mantenelo en revisión y solicitá asistencia.
Paso 8: solicitá una revisión si Google muestra una advertencia
Una vez que el sitio esté efectivamente limpio y actualizado, revisá el informe de Problemas de seguridad en Google Search Console. Allí podés ver las detecciones y, cuando corresponda, solicitar una revisión. No solicites la reconsideración antes de corregir la causa: una revisión rechazada no limpia el sitio y retrasa la recuperación de confianza.
Cómo reducir el riesgo de reinfección
- Mantené WordPress, plugins, temas y PHP actualizados.
- Instalá extensiones sólo desde repositorios o proveedores confiables y eliminá las que no usás.
- Usá contraseñas únicas y 2FA para WordPress, cPanel, SFTP y el correo asociado a la cuenta.
- Conectate por SFTP cuando esté disponible y limitá quién puede administrar el sitio.
- Conservá copias de seguridad periódicas, separadas del sitio y verificadas mediante restauraciones de prueba.
- Revisá regularmente usuarios administradores, tareas programadas y reportes de seguridad.
Cuándo conviene pedir ayuda profesional
Contactá a soporte o a un especialista si no podés identificar el archivo afectado, si la infección vuelve luego de limpiar, si la cuenta aloja varios sitios, si hay datos sensibles o transacciones, si Google mantiene el aviso o si necesitás preservar evidencia. Una limpieza profesional puede incluir análisis de registros, detección de la vía de acceso y verificación de todos los sitios de la cuenta.