Eliminar malware de WordPress desde Plesk
¿Tu sitio WordPress ha sido hackeado? Respira hondo. No eres el primero al que le pasa, y lo más importante: tiene solución. Si tu hosting usa Plesk, estás de suerte, porque es una de las herramientas de administración más completas para atacar este problema de raíz.
En esta guía extensa y paso a paso, vamos a desgranar cómo eliminar malware de WordPress desde Plesk, incluso si no eres un experto en seguridad. Vamos a limpiar, asegurar y blindar tu sitio para que esto no vuelva a ocurrir.
¿Cómo sé si mi WordPress tiene malware?
Antes de lanzarnos a limpiar, debemos confirmar que el problema es real. A veces el sitio va lento por otras razones, pero el malware tiene señales muy claras.
Estos son los síntomas más comunes de una infección:
- Redirecciones extrañas: Al visitar tu web desde Google o desde un enlace, te lleva a páginas de farmacias, casinos o avisos de virus.
- Avisos del navegador: Chrome o Firefox te muestran una pantalla roja de "Sitio engañoso" o "Contenido peligroso".
- Archivos desconocidos: Aparecen archivos con nombres raros (como
c0d3.phpohack.php) en tu carpeta raíz o en/wp-admin/. - Usuarios administradores nuevos: Hay cuentas de usuario que no creaste tú, con permisos de administrador.
- Contenido inyectado: Ves enlaces ocultos en el pie de página, o artículos que no has escrito.
- Caídas repentinas: El servidor consume muchísima CPU o memoria sin motivo aparente.
Si has detectado al menos dos de estos síntomas, es hora de ponerse el mono de trabajo y limpiar tu WordPress desde Plesk.
Preparación antes de la limpieza (Crucial)
No empieces a borrar archivos a lo loco. Eso puede romper tu web para siempre. La preparación es el 50% del éxito.
1. Cambia todas tus contraseñas (YA)
Lo primero es cortar la puerta de entrada al hacker. Cambia las contraseñas de:
- Tu cuenta de Plesk (el panel de control).
- Tu cuenta de hosting (FTP/SFTP).
- La base de datos de WordPress.
- Los usuarios administradores de WordPress (si puedes acceder).
Usa contraseñas largas y únicas. Un gestor de contraseñas es tu mejor amigo aquí.
2. Haz una copia de seguridad (Backup) completa
Esto es obligatorio. Si algo sale mal durante la limpieza, podrás restaurar. En Plesk es muy fácil:
- Ve a tu dominio en Plesk.
- Busca la sección "Copias de seguridad" o "Backup".
- Haz clic en "Crear copia de seguridad".
- Selecciona la opción "Todo" (archivos, bases de datos y ajustes).
- Espera a que termine. Guárdala en un lugar seguro, incluso descárgala a tu ordenador.
[WARNING] No intentes limpiar sin una copia de seguridad. Si borras un archivo de más, podrías perder todo tu contenido. La copia es tu red de seguridad.
3. Pone tu sitio en modo mantenimiento
Mientras limpias, no quieres que los visitantes (o Google) vean el desastre. Activa un plugin de mantenimiento o crea un archivo maintenance.php en tu tema. Lo importante es que la web no sea accesible al público durante el proceso.
Método 1: Limpiar WordPress desde Plesk (La vía rápida con File Manager)
Plesk tiene un Administrador de archivos integrado que nos permite explorar el servidor sin necesidad de programas externos. Es nuestra primera línea de ataque.
Paso 1: Identifica la fecha de la infección
Esto es clave. Si sabes cuándo empezó el problema, puedes buscar los archivos modificados en esa fecha.
- Entra en tu dominio en Plesk.
- Ve a "Administrador de archivos".
- Navega a la carpeta
httpdocs(opublic_html). Esa es la raíz de tu WordPress. - En la parte derecha, verás una columna de "Fecha de modificación". Ordena por fecha descendente.
- Busca los archivos
.phpque se hayan modificado en los últimos días o semanas. Los archivos de WordPress legítimos no se modifican solos.
Paso 2: Busca archivos sospechosos en la raíz
En la carpeta raíz, busca estos archivos típicos de malware:
c0d3.php,h4ck.php,shell.php,upload.php,wp-login.php.bak, etc.- Archivos con doble extensión:
imagen.jpg.phpoindex.php.bak. - Archivos con nombres que imitan a los de WordPress pero con erratas:
wp-admin(sin el punto),wpx,wp-includes-1.
Si ves algo que no es un archivo o carpeta estándar de WordPress, no lo borres aún. Primero, abre el archivo con el visor de texto del File Manager y busca código ofuscado (líneas largas sin sentido, eval(base64_decode...), etc.). Si lo encuentras, es malware.
Paso 3: Limpia el núcleo de WordPress (wp-admin y wp-includes)
Los hackers a menudo esconden código malicioso dentro de las carpetas wp-admin y wp-includes.
- Entra en la carpeta
wp-admin. - Busca archivos
.phpque no sean los estándar (comoadmin.php,post.php, etc.). Cualquier cosa rara, comoadmin-ajax.php.bakocss.php, es sospechosa. - Haz lo mismo en
wp-includes. Es una carpeta enorme, así que usa la búsqueda por fecha que hicimos antes.
[TIP] Una técnica muy efectiva es reemplazar las carpetas
wp-adminywp-includescon versiones limpias de WordPress. Descarga la misma versión de WordPress desde wordpress.org, descomprímela en tu ordenador y sube estas dos carpetas por FTP, sobrescribiendo las existentes. Esto elimina cualquier archivo malicioso escondido en el núcleo.
Paso 4: Revisa el archivo wp-config.php
Este es el archivo más importante de tu WordPress. Está en la raíz.
- Ábrelo con el visor de texto.
- Busca cualquier línea que no reconozcas, especialmente código PHP que no sea la configuración de la base de datos o las claves de seguridad.
- Si ves algo como
eval()o funciones extrañas, es que está infectado.
Paso 5: Limpia la base de datos (La parte más técnica)
El malware no solo vive en los archivos, también puede estar en tu base de datos. Aquí es donde Plesk brilla.
- Ve a "Bases de datos" en tu dominio.
- Haz clic en el ícono de "phpMyAdmin" de tu base de datos.
- Haz una exportación de la base de datos como respaldo extra.
- En la pestaña "SQL", ejecuta esta consulta para buscar contenido inyectado (ajústala a tus tablas):
SELECT * FROM wp_posts WHERE post_content LIKE '%<script>%' OR post_content LIKE '%iframe%' OR post_content LIKE '%eval(%' OR post_content LIKE '%base64_decode(%'
Si aparecen resultados, tendrás que editar esos posts. Otra opción es buscar en la tabla wp_options por opciones extrañas que apunten a dominios externos.
Método 2: La vía quirúrgica con SSH (Para los más valientes)
Si tienes acceso SSH en Plesk, tienes una navaja suiza. Es más rápido y potente que el File Manager.
- Conéctate por SSH a tu servidor.
- Ve a la raíz de tu WordPress:
cd /var/www/vhosts/tudominio.com/httpdocs - Busca archivos modificados en los últimos 7 días:
find . -type f -mtime -7 -name "*.php" - Busca código malicioso común:
grep -r "eval(base64_decode" .ogrep -r "create_function" .
Con los resultados, puedes borrar los archivos directamente con rm -f nombre_archivo.php.
[INFO] Si usas un panel alternativo como Syspanel (antes conocido como HestiaCP), el acceso SSH es muy similar. Recuerda que para acceder a la interfaz web de Syspanel, la URL es
https://tu-servidor:2106. La estructura de carpetas es/home/usuario/web/tudominio/public_html.
Refuerza la seguridad y evita futuras infecciones
Limpiar es solo la mitad del trabajo. La otra mitad es blindar tu WordPress para que no vuelva a pasar. Aquí tienes una lista de tareas de seguridad no negociables.
Actualiza TODO
- WordPress: Ve a
Escritorio > Actualizacionesy actualiza el núcleo. - Plugins y Temas: Actualiza todos y cada uno de ellos. Un plugin desactualizado es la puerta de entrada número uno para los hackers.
- PHP: En Plesk, ve a
Configuración de PHPde tu dominio y elige la versión más reciente y estable de PHP (como 8.1 o 8.2). Las versiones antiguas tienen vulnerabilidades conocidas.
Instala un plugin de seguridad (El guardián)
Un buen plugin de seguridad es tu mejor inversión. Te recomiendo uno de los siguientes:
- Wordfence: El más completo. Tiene firewall, escáner de malware y bloqueo de IPs.
- iThemes Security: Muy bueno para ocultar el login, cambiar la URL de acceso y reforzar la autenticación.
- Sucuri: Excelente para monitoreo y limpieza remota (de pago).
Configura el escáner para que se ejecute automáticamente cada día y activa el firewall.
Cambia el prefijo de la base de datos
Por defecto, las tablas de WordPress se llaman wp_. Los hackers lo saben. Si cambias el prefijo a algo como miweb_, les pones las cosas más difíciles.
- Ve a
phpMyAdminen Plesk. - Selecciona tu base de datos.
- Haz clic en la pestaña "Operaciones" y renombra cada tabla de
wp_atu_prefijo_. - Actualiza el archivo
wp-config.phpcon el nuevo prefijo en la línea$table_prefix = 'tu_prefijo_';
Activa la autenticación de dos factores (2FA)
Para tus usuarios administradores, activa el 2FA. Así, aunque un hacker robe la contraseña, no podrá entrar sin el código de verificación de tu móvil. Puedes hacerlo con plugins como Google Authenticator o WP 2FA.
Mueve el archivo wp-config.php
Este archivo es el santo grial de tu WordPress. Puedes moverlo a la carpeta superior (fuera de httpdocs) y WordPress lo encontrará automáticamente. Es una capa extra de protección muy efectiva.
Preguntas frecuentes (FAQ)
Aquí van las dudas más comunes que nos llegan al soporte sobre este tema.
¿Puedo limpiar mi WordPress sin Plesk?
Sí, pero Plesk lo hace todo mucho más fácil. Sin Plesk, necesitarías un cliente FTP (como FileZilla) y acceso a phpMyAdmin de tu hosting. El proceso es el mismo, pero con más herramientas manuales.
¿Qué hago si después de limpiar, Google sigue diciendo que mi sitio es peligroso?
Tranquilo, es normal. Google tarda unos días en rastrear tu sitio de nuevo. Después de limpiar, ve a Google Search Console, usa la herramienta "Solicitar revisión" en la sección de "Problemas de seguridad". Explica que has limpiado el malware y que has tomado medidas de seguridad. La revisión suele tardar entre 1 y 3 días.
¿Cuánto cuesta contratar a un profesional para que lo limpie?
Depende de la agencia o profesional. Los precios varían entre 50€ y 300€, dependiendo de la gravedad y del número de sitios afectados. Si tu tiempo vale dinero, puede ser una buena inversión. Pero con esta guía, puedes intentarlo tú primero.
¿HestiaCP o Syspanel sirven para limpiar WordPress?
Sí, Syspanel (el nuevo nombre de HestiaCP) también tiene administrador de archivos y acceso a bases de datos. El proceso de limpieza es idéntico al de Plesk, solo cambia la interfaz. Recuerda que para acceder a Syspanel, el puerto es el 2106 (por ejemplo: https://tu-servidor:2106).
¿Es seguro usar plugins de seguridad después de una infección?
Sí, es altamente recomendable. Un plugin como Wordfence no solo limpia, sino que también repara archivos del núcleo de WordPress y bloquea las IPs maliciosas en tiempo real. Es como tener un antivirus siempre activo.
¿Por qué me han hackeado si tenía contraseñas seguras?
Las contraseñas seguras son importantes, pero no lo son todo. Las causas más comunes son: plugins desactualizados, temas nulos (piratas) o vulnerabilidades en el hosting. Asegúrate de tener todo actualizado y de usar solo plugins del repositorio oficial de WordPress.
Conclusión: Tu sitio puede volver a estar limpio
Eliminar malware de WordPress desde Plesk es un proceso metódico, pero totalmente factible si sigues estos pasos. No te saltes la copia de seguridad y ve con calma.
Recuerda el orden de batalla:
- Preparación: Cambia contraseñas y haz backup.
- Detección: Busca archivos y código sospechoso.
- Limpieza: Elimina el malware de archivos y base de datos.
- Blindaje: Actualiza todo, instala seguridad y cambia el prefijo.
Con un poco de paciencia, tu WordPress estará más seguro que nunca. Y si en algún momento te sientes abrumado, no dudes en contactar con tu proveedor de hosting. Muchos incluyen servicios de limpieza de malware con su soporte técnico.
¡Manos a la obra!
