Cómo eliminar malware de WordPress con herramientas del panel
¿Tu WordPress ha sido hackeado? Respira, tiene solución
Que aparezca un aviso de Google diciendo que tu sitio está infectado, que veas redirecciones raras a páginas de medicamentos o que tus visitantes vean anuncios que tú no has puesto, es una experiencia angustiante. Pero no estás solo y, sobre todo, tiene solución. De hecho, es un problema más común de lo que parece y, con las herramientas adecuadas que ya tienes en tu panel de control, puedes eliminar malware WordPress sin necesidad de ser un experto en programación.
Este artículo es tu guía de primeros auxilios. Vamos a hacer un recorrido paso a paso, usando las herramientas nativas de tu panel de hosting (como cPanel o Syspanel, que es el que usamos aquí) para limpiar WordPress malware de forma segura. Olvídate de pagar carísimos servicios de limpieza externos si el problema no es extremo; con un poco de paciencia y siguiendo este manual, podrás restaurar la seguridad WordPress de tu sitio.
Paso 1: Diagnóstico inicial. ¿Confirmamos que hay un problema?
Antes de lanzarnos a borrar archivos a lo loco, debemos confirmar que el sitio está infectado y, en la medida de lo posible, identificar qué archivos están comprometidos. No queremos romper nada bueno mientras buscamos lo malo.
### Señales comunes de infección
- Redirecciones sospechosas: Al hacer clic en tu web, te lleva a páginas de casinos, farmacias online o sitios de criptomonedas.
- Anuncios emergentes (pop-ups): Aparecen ventanas publicitarias aunque no tengas anuncios configurados.
- Avisos de Google Safe Browsing: Al buscar tu web en Google, aparece un mensaje como "El sitio puede haber sido pirateado".
- Rendimiento muy lento: El sitio tarda muchísimo en cargar porque está enviando spam o haciendo trabajos de minería de criptomonedas en segundo plano.
- Nuevos usuarios administradores: Entras a tu panel de WordPress y ves un usuario llamado "admin2" o "wp_user" que no creaste tú.
### Herramientas de escaneo online (primer vistazo)
Una forma rápida de confirmar tus sospechas es usar escáneres externos. Herramientas como Sucuri SiteCheck o Quttera analizan tu sitio desde fuera y te dicen si hay código malicioso inyectado en el HTML. Son gratuitas y muy útiles para un diagnóstico inicial, pero no son la solución definitiva; solo te dicen "qué" pero no siempre "dónde" está el problema exacto.
Paso 2: Accede a tu panel de hosting y prepara el terreno
Aquí es donde empieza la acción real. Vamos a usar las herramientas que tu proveedor de hosting pone a tu disposición. Dependiendo de tu empresa, será cPanel o Syspanel. En este artículo, cuando hablemos de este último, recuerda que el acceso es a través del puerto 2106 (por ejemplo, https://tudominio.com:2106 o https://tu-ip:2106).
### Crea una copia de seguridad completa (¡IMPORTANTÍSIMO!)
Este es el paso más crítico de todos. Antes de tocar absolutamente nada, necesitas un punto de restauración. Si algo sale mal durante la limpieza, podrás volver atrás.
- Ve a la sección "Archivos" o "Gestor de Archivos" en tu panel.
- Selecciona la carpeta
public_html(o el directorio donde esté instalado tu WordPress). - Comprime la carpeta: Busca la opción "Comprimir" o "Archivar". Elige formato
.zip. Esto creará un archivo comprimido con todo tu sitio (archivos, temas, plugins, subidas). - Descarga ese archivo .zip a tu ordenador. No te fíes de dejarlo solo en el servidor, porque si el malware afecta a todo el servidor, la copia también se infectará.
- Exporta tu base de datos: Ve a la sección "Bases de Datos" -> "phpMyAdmin". Selecciona tu base de datos de WordPress y haz clic en "Exportar". Elige el método "Rápido" y formato "SQL". Descarga el archivo resultante.
[WARNING] Una copia de seguridad es tu salvavidas. Si la limpieza falla o empeora las cosas, este es tu boleto de regreso. Nunca, jamás, omitas este paso. La seguridad WordPress empieza por tener un respaldo seguro.
Paso 3: Localiza y elimina el código malicioso en los archivos
Con la copia de seguridad a salvo, es hora de ponerse el mono de trabajo. La mayoría del malware se esconde en archivos del núcleo de WordPress, temas y plugins.
### Revisa los archivos más sospechosos
El malware suele ocultarse en archivos con nombres que imitan a los legítimos o que pasan desapercibidos.
wp-config.php: El archivo de configuración principal. Busca líneas de código extrañas que no reconozcas, especialmente funciones deeval()o bloques de código codificado.functions.phpde tu tema: Es un archivo muy atacado. Ábrelo y busca al final del archivo, donde suelen añadir código malicioso. Busca funciones comoeval(base64_decode(...)).- Carpeta
uploads: A veces se suben archivos.phpdisfrazados de imágenes. Ve awp-content/uploadsy busca archivos con extensión.phpque no deberían estar ahí. Si encuentras algo, bórralo.
### Usa el "Buscar y Reemplazar" del Gestor de Archivos
Tu panel de hosting tiene una herramienta muy útil: el buscador de archivos.
- En el Gestor de Archivos, navega hasta la raíz de tu WordPress (
public_html). - Busca la opción "Buscar" o "Búsqueda avanzada".
- Introduce un fragmento de código típico de malware. Los más comunes son:
eval(base64_decode(gzinflate(document.write('<script src=base64_decode($_POST
- Marca la casilla "Buscar en todos los archivos de este directorio".
- El panel te mostrará una lista de archivos que contienen esas cadenas de texto. Revisa cada uno y elimina las líneas maliciosas.
[TIP] No borres el archivo entero si es un archivo legítimo como
functions.php. Es mejor abrirlo, localizar la línea maliciosa y borrarla. Si el archivo es completamente desconocido y está en una carpeta donde no debería estar, elimínalo por completo.
### Reinstala el núcleo de WordPress
Una de las formas más efectivas de limpiar WordPress malware es sobreescribir los archivos del núcleo con una copia limpia y oficial.
- Ve a
wordpress.org/downloady descarga la última versión de WordPress (o la misma versión que tienes instalada). - Descomprime el archivo
.zipen tu ordenador. - Accede a tu Gestor de Archivos del panel.
- Sube el contenido de la carpeta
wordpressque has descomprimido a tupublic_html. - Cuando el sistema te pregunte si quieres sobreescribir los archivos existentes, haz clic en "Sí" o "Sobreescribir".
[INFO] Este proceso no borra tus publicaciones, páginas, ni la configuración de la base de datos. Solo reemplaza los archivos del sistema (wp-admin, wp-includes, etc.) con versiones limpias. Es como formatear el disco duro de tu PC sin perder tus fotos.
Paso 4: Limpia tu base de datos
El malware a veces se esconde en la base de datos, especialmente en las tablas wp_options y wp_posts. Puede inyectar scripts en el contenido de tus entradas o añadir enlaces ocultos.
### Revisa la tabla wp_options
- Ve a phpMyAdmin desde tu panel.
- Selecciona tu base de datos de WordPress.
- Haz clic en la tabla
wp_options. - Usa el buscador (pestaña "Buscar") para encontrar valores que contengan código extraño. Busca términos como
eval(oscript. - También revisa las opciones que empiezan por
siteurlyhome. A veces, los atacantes cambian estas URLs para redirigir el tráfico.
### Limpia enlaces ocultos en tus entradas
- Ve a la tabla
wp_posts. - Haz clic en la pestaña "Buscar".
- En el campo "Buscar", introduce
<scriptohttp://sitio-malicioso.com(si lo identificaste antes). - Revisa los resultados y edita las entradas para eliminar esos enlaces o scripts.
[WARNING] Trabajar con phpMyAdmin requiere cuidado. Si no te sientes seguro editando directamente la base de datos, es mejor que uses un plugin de seguridad como Wordfence o Sucuri para que hagan la limpieza por ti, o que contrates a un profesional. Un error aquí puede romper tu sitio por completo.
Paso 5: Cambia todas tus contraseñas (¡ya!)
Una vez que has limpiado los archivos y la base de datos, es crucial cerrar la puerta por la que entraron. Si no cambias las contraseñas, el atacante puede volver a entrar en minutos.
### Contraseñas a cambiar en el panel de hosting
- Contraseña de cPanel o Syspanel: Es la llave maestra de tu servidor.
- Contraseña de FTP: Si usas un cliente FTP para subir archivos.
- Contraseña de la base de datos MySQL: Cámbiala desde el panel y actualiza el archivo
wp-config.phpsi es necesario.
### Contraseñas a cambiar en WordPress
- Contraseña del administrador (todos los usuarios admin): Ve a Usuarios -> Perfil y cámbiala.
- Contraseñas de todos los demás usuarios: Puedes forzar un restablecimiento de contraseña masivo desde Usuarios -> Todos los usuarios.
[TIP] Usa un gestor de contraseñas para crear y guardar contraseñas robustas, únicas para cada servicio. Una contraseña del tipo
MiPerroSeLlamaMax123no es segura. Una mejor sería#kL9$vQp!2zR.
Paso 6: Refuerza la seguridad WordPress (prevención)
Limpio el sitio, ahora toca blindarlo. La seguridad WordPress es un proceso continuo, no una acción puntual. Aquí tienes algunas medidas básicas para evitar futuros ataques.
### Actualiza todo (WordPress, temas y plugins)
Las actualizaciones no son solo para añadir funciones nuevas; corrigen vulnerabilidades de seguridad conocidas. Activa las actualizaciones automáticas para las versiones menores de WordPress y revisa periódicamente las actualizaciones de tus plugins y temas.
### Instala un plugin de seguridad
Un buen plugin de seguridad es tu guardián 24/7. Wordfence o Sucuri Security son excelentes opciones gratuitas.
- Escaneos periódicos: Programan escaneos automáticos para detectar cambios en archivos.
- Firewall: Bloquean el tráfico malicioso antes de que llegue a tu sitio.
- Protección de inicio de sesión: Limitan los intentos de acceso y bloquean IPs sospechosas.
### Elimina plugins y temas que no uses
Cada plugin o tema que tienes instalado es una puerta de entrada potencial. Si no lo usas, elimínalo. No basta con desactivarlo, hay que borrarlo del servidor.
### Cambia el prefijo de la base de datos
El prefijo por defecto de las tablas de WordPress es wp_. Cambiarlo a algo como miweb_ dificulta los ataques de inyección SQL. Puedes hacerlo con un plugin como "Change DB Prefix" o editando el wp-config.php y renombrando las tablas en phpMyAdmin.
[INFO] En Syspanel, puedes gestionar todo esto fácilmente. Recuerda que tu acceso es a través del puerto 2106.
Preguntas frecuentes (FAQ)
### ¿Cuánto tiempo tarda en limpiar un WordPress hackeado?
Depende de la gravedad. Una limpieza básica (reinstalar el núcleo y cambiar contraseñas) puede llevar una hora. Si el malware está muy incrustado en la base de datos y en muchos archivos, puede llevarte un día entero. Sé paciente y metódico.
### ¿Qué pasa si no encuentro el malware?
Si has seguido todos los pasos y no encuentras nada, pero el sitio sigue dando problemas, es posible que el malware esté muy bien escondido o que esté en un nivel más profundo del servidor (fuera de tu directorio public_html). En ese caso, contacta con el soporte de tu hosting. En Syspanel, nuestro equipo puede ayudarte a revisar los logs del servidor.
### ¿Necesito pagar por un servicio de limpieza?
No siempre. Con esta guía, puedes resolver la mayoría de las infecciones comunes. Si el hackeo es severo (ransomware, backdoors muy ocultos) o si no te sientes cómodo con el proceso, contratar un servicio profesional puede ahorrarte tiempo y dolores de cabeza.
### ¿Cómo sé que el sitio vuelve a estar limpio?
Después de la limpieza, vuelve a escanear tu sitio con herramientas como Sucuri SiteCheck. También puedes revisar Google Search Console para ver si hay algún aviso de malware pendiente y solicitar una revisión.
### ¿Por qué me hackearon si tenía todo actualizado?
A veces, la vulnerabilidad no está en tu WordPress, sino en un plugin antiguo que ya no recibe soporte, en una contraseña débil de tu FTP o incluso en un ordenador infectado desde el que accedes a tu panel. La seguridad es un ecosistema completo.
Conclusión: Recupera el control de tu sitio
Eliminar malware WordPress no es una tarea agradable, pero es totalmente manejable si te armas con las herramientas correctas y sigues un plan. Hemos visto que el panel de tu hosting es tu mejor aliado: desde el Gestor de Archivos para inspeccionar y limpiar, hasta phpMyAdmin para purgar la base de datos.
Recuerda la secuencia de oro: 1) Copia de seguridad, 2) Limpieza de archivos, 3) Limpieza de base de datos, 4) Cambio de contraseñas y 5) Refuerzo de seguridad. No saltes pasos y, ante la duda, pregunta a tu proveedor de hosting.
La buena noticia es que, una vez que has limpiado tu sitio y has implementado medidas de prevención, has aprendido una lección valiosa sobre ciberseguridad. Tu sitio será más fuerte y estarás más preparado para proteger tu presencia online. ¡Ánimo, que tú puedes con esto!
[TIP] Guarda este artículo en favoritos. Si vuelves a tener un problema, ya sabes dónde encontrar la solución. Y si usas Syspanel, recuerda que tu acceso es por el puerto 2106 y que estamos para ayudarte en lo que necesites.
