Seguridad y SSL

Cómo eliminar malware de un sitio WordPress infectado (guía)

Aprende a detectar, eliminar y prevenir malware en WordPress con esta guía paso a paso para recuperar tu sitio sin perder datos.

Close-up of romantic love padlocks hanging on a metal wire mesh fence by a river.

Si tu sitio WordPress fue hackeado, la prioridad es actuar rápido: hacer una copia de seguridad inmediata, escanear todos los archivos en busca de código malicioso y restaurar un estado limpio antes de que los buscadores penalicen tu dominio o tu proveedor de hosting suspenda la cuenta.

Esta guía cubre todo el proceso, desde reconocer los síntomas de infección hasta limpiar los archivos comprometidos y blindar el sitio para evitar que vuelva a ocurrir.

Síntomas de que tu WordPress tiene malware

Antes de limpiar, confirma que efectivamente hay una infección. Los indicadores más comunes son:

  • Google muestra una advertencia de "Sitio engañoso" o "Sitio que contiene malware".
  • El hosting suspendió la cuenta o bloqueó los envíos de correo.
  • Aparecen páginas o enlaces que tú no creaste (spam SEO, farmaceúticas, apuestas).
  • Los visitantes son redirigidos a otros dominios.
  • El panel de administración de WordPress no carga o aparece en blanco.
  • Recibes alertas de tu plugin de seguridad o de Google Search Console.

Si identificas uno o más de estos síntomas, sigue los pasos de abajo sin demora.

Paso 1 — Haz una copia de seguridad completa antes de tocar nada

Puede parecer contradictorio hacer un respaldo de un sitio infectado, pero es necesario: si algo sale mal durante la limpieza, necesitas poder volver a un punto de partida conocido.

Descarga vía FTP (o el administrador de archivos del hosting) la carpeta raíz completa y exporta la base de datos con phpMyAdmin o con WP-CLI:

wp db export backup-antes-limpieza.sql

Guarda el respaldo fuera del servidor: en tu equipo local o en la nube.

Paso 2 — Escanea con una herramienta especializada

Un escáner automatizado acelera la detección del malware. Las opciones más utilizadas son:

Herramienta Tipo Ideal para
Wordfence Security Plugin gratuito/premium Escaneo de archivos y base de datos en el servidor
MalCare Plugin SaaS Detección profunda con limpieza automática (de pago)
Sucuri SiteCheck Escáner remoto gratuito Revisión rápida de URLs y listas negras
WPScan (CLI) Herramienta open-source Auditoría de vulnerabilidades en temas y plugins

Instala Wordfence si todavía tienes acceso al panel de WordPress, ve a Wordfence → Scan y lanza un escaneo completo. El resultado listará los archivos modificados o sospechosos.

Paso 3 — Limpia los archivos infectados

Con la lista de archivos comprometidos en mano, empieza la limpieza manual. Sigue este orden:

3a. Reemplaza el núcleo de WordPress

Descarga una copia limpia de WordPress.org con la misma versión que tienes instalada y sube todas las carpetas excepto wp-content y wp-config.php. Esto reemplaza cualquier archivo del núcleo que haya sido modificado.

3b. Revisa y limpia los plugins y temas

Desinstala los plugins que no utilices. Para los que sí usas, descarga una copia fresca desde el repositorio de WordPress.org (o del proveedor premium) y reemplaza la carpeta completa del plugin/tema en wp-content/plugins/ y wp-content/themes/.

Nunca uses temas o plugins "nulled": son la fuente más común de backdoors y reinfecciones.

3c. Busca código malicioso insertado manualmente

Busca en todos los archivos PHP cadenas comúnmente usadas por malware. Con acceso por SSH o desde el administrador de archivos del hosting puedes usar:

grep -r "eval(base64_decode" /public_html/ --include="*.php"
grep -r "document.write(unescape" /public_html/ --include="*.js"

Revisa también el archivo .htaccess: un redireccionamiento malicioso suele añadirse ahí. Compara contra la versión limpia generada por WordPress.

3d. Limpia la base de datos

En phpMyAdmin busca en las tablas wp_posts y wp_options cualquier cadena como <script>, eval( o URLs desconocidas. Con WP-CLI puedes hacer búsquedas masivas:

wp search-replace 'codigo-malicioso.com' '' --all-tables --dry-run

Quita el flag --dry-run solo cuando estés seguro de los resultados.

Paso 4 — Cambia todas las credenciales

Después de limpiar los archivos, asume que las credenciales están comprometidas. Cambia:

  • Contraseña de todos los usuarios de WordPress, empezando por los administradores.
  • Las claves secretas en wp-config.php (genera nuevas en api.wordpress.org/secret-key).
  • La contraseña de la base de datos y actualiza wp-config.php.
  • Las credenciales FTP/SFTP de tu hosting.
  • La contraseña del panel de hosting (cPanel, Plesk, etc.).

Paso 5 — Solicita la revisión a Google y elimina de listas negras

Si Google marcó tu sitio, debes solicitarle que lo revise tras la limpieza:

  1. Abre Google Search Console y ve a Seguridad y acciones manuales → Problemas de seguridad.
  2. Revisa qué URL o páginas detectó Google.
  3. Haz clic en Solicitar una revisión y describe brevemente los pasos que tomaste.

Google suele responder en 1-3 días hábiles. Para listas negras de antivirus (McAfee, Symantec, etc.), usa la herramienta Sucuri SiteCheck para identificar cuáles te marcaron y sigue su proceso de reporte individual.

Si necesitas ayuda profesional para limpiar un sitio comprometido o quieres una auditoría preventiva, el equipo de agencia web especializada en seguridad puede acompañarte en cada etapa.

Cómo prevenir futuras infecciones

La limpieza no sirve de nada si no cierras las puertas por las que entró el malware. Aplica estas medidas de inmediato:

  • Mantén WordPress, temas y plugins siempre actualizados. La mayoría de los hackeos explotan vulnerabilidades ya conocidas en versiones desactualizadas.
  • Usa solo temas y plugins de fuentes oficiales. Los "nulled" incluyen backdoors deliberados.
  • Instala un firewall de aplicación web (WAF). Wordfence (gratis) o Cloudflare WAF filtran tráfico malicioso antes de que llegue a PHP.
  • Activa la autenticación de dos factores (2FA) en todas las cuentas de administrador.
  • Limita los intentos de login y cambia la URL del panel (/wp-admin) si es posible.
  • Realiza copias de seguridad automatizadas diarias y almacénalas fuera del servidor.
  • Revisa los permisos de archivos: carpetas a 755, archivos a 644, y wp-config.php a 600.

Puedes encontrar más recursos sobre protección web en nuestra guía de seguridad SSL y protección de sitios.

Conclusiones clave

  • Ante una infección, actúa rápido: copia de seguridad primero, limpieza después.
  • Reemplaza el núcleo de WordPress y todos los plugins/temas con versiones limpias del repositorio oficial.
  • Elimina código malicioso de los archivos PHP, .htaccess y la base de datos.
  • Cambia todas las credenciales tras la limpieza.
  • Solicita revisión a Google si tu sitio fue marcado como peligroso.
  • Implementa un WAF, 2FA y copias de seguridad automáticas para prevenir reinfecciones.

¿Tu sitio fue hackeado o quieres blindarlo antes de que ocurra? Visita elenlace.com y solicita una auditoría de seguridad para tu WordPress.

Preguntas frecuentes

¿Puedo limpiar el malware de WordPress sin acceso al panel de administración?

Sí. Si el malware bloqueó tu acceso al dashboard, conéctate por FTP o SFTP, reemplaza los archivos del núcleo de WordPress directamente en el servidor y corrige el archivo wp-config.php. También puedes restablecer la contraseña de administrador directamente en la base de datos desde phpMyAdmin.

¿Cuánto tiempo tarda Google en quitar la advertencia de sitio peligroso?

Una vez que envías la solicitud de revisión en Google Search Console, el proceso tarda habitualmente entre 24 horas y 3 días hábiles. Google debe verificar que el sitio ya no contiene malware antes de retirar la advertencia.

¿Es suficiente con restaurar un backup para eliminar el malware?

Solo si el backup es anterior a la infección. Si restauras un respaldo contaminado, el malware seguirá ahí. Confirma la fecha del backup y verifica que el escáner no detecte amenazas en esa versión antes de restaurarla.

¿Los plugins de seguridad gratuitos son suficientes para proteger WordPress?

Para la mayoría de los sitios pequeños y medianos, plugins como Wordfence (versión gratuita) ofrecen una protección razonable: escaneo de archivos, bloqueo de IPs y firewall básico. Para sitios de mayor tráfico o con datos sensibles, una solución premium o un servicio gestionado de seguridad ofrece mayor cobertura y tiempo de respuesta más rápido.

Recursos útiles

Otros proveedores y guías que vale la pena comparar:

← Todos