WordPress: Cómo detectar y eliminar malware fácilmente (guía paso a paso)
Introducción: ¿Por qué tu sitio WordPress es un objetivo?
Si tienes un sitio web en WordPress, probablemente ya sabes que es el CMS más popular del mundo. Pero esa popularidad tiene un precio: también es el más atacado por hackers y scripts maliciosos. El malware en WordPress puede aparecer por muchas razones: plugins desactualizados, temas vulnerables, contraseñas débiles o incluso ataques directos a tu servidor.
Detectar y eliminar malware WordPress a tiempo es crucial para evitar que tu sitio sea bloqueado por Google, pierdas tráfico, dañes tu reputación o, peor aún, que los datos de tus usuarios se vean comprometidos. Pero no te preocupes: no necesitas ser un experto en ciberseguridad para poner tu sitio a salvo. En esta guía paso a paso, te enseñaré cómo detectar malware, limpiar virus WordPress y fortalecer tu seguridad WordPress de forma sencilla.
Vamos a empezar con lo básico y luego subiremos el nivel, pero siempre manteniendo un lenguaje que cualquier persona pueda entender.
¿Cómo saber si tu WordPress tiene malware?
Antes de limpiar, hay que confirmar que realmente hay un problema. Muchas veces los síntomas son evidentes, pero otras veces el malware es silencioso. Aquí tienes las señales más comunes de que tu sitio podría estar infectado:
- Redirecciones extrañas: Al entrar a tu web, eres llevado a sitios de spam, farmacias online o páginas de apuestas.
- Anuncios emergentes no deseados: Aparecen pop-ups que no has programado, incluso cuando navegas desde tu propio sitio.
- Rendimiento lento: Tu web carga muy despacio sin razón aparente (el malware consume recursos del servidor).
- Contenido sospechoso: Aparecen páginas nuevas, artículos en otros idiomas o enlaces raros en el pie de página.
- Alertas de Google: Recibes un aviso de Google Search Console de que tu sitio tiene contenido malicioso o está siendo marcado como “sitio engañoso”.
- Cambios en archivos principales: Detectas modificaciones en archivos como
wp-config.php,index.phpo.htaccesssin haberlos tocado. - Usuarios desconocidos: En tu panel de administración aparecen usuarios con roles de administrador que no creaste.
[WARNING] Si ves cualquiera de estas señales, no entres en pánico. Actúa con calma y sigue los pasos que te explico a continuación. La mayoría de las infecciones se pueden solucionar sin perder datos.
Preparación antes de limpiar: copia de seguridad y modo seguro
Antes de meter mano, es fundamental que tomes una copia de seguridad completa de tu sitio (archivos y base de datos). Así, si algo sale mal, puedes restaurarlo sin problemas.
Cómo hacer una copia de seguridad manual
- Archivos: Conéctate a tu hosting vía FTP (FileZilla, por ejemplo) y descarga toda la carpeta
public_htmlowwwa tu ordenador. - Base de datos: Entra a phpMyAdmin (desde tu panel de hosting, como cPanel o Syspanel en el puerto 2106), selecciona tu base de datos y haz clic en “Exportar”. Elige el formato SQL y descarga el archivo.
[TIP] Si tu hosting tiene una herramienta de backups automáticos, actívala. Pero siempre es mejor tener una copia local por seguridad.
Pon tu sitio en modo mantenimiento
Para que los visitantes no vean errores mientras trabajas, puedes activar un plugin de mantenimiento o simplemente crear un archivo .maintenance en la raíz de tu WordPress. Otra opción rápida es usar un plugin como “WP Maintenance Mode”.
Paso 1: Escanea tu WordPress con herramientas gratuitas
No necesitas ser un hacker para detectar malware. Existen herramientas online y plugins que hacen el trabajo sucio por ti. Aquí te dejo las más efectivas:
Plugins de seguridad para escanear
- Wordfence Security: Es el más completo. Escanea archivos, busca patrones de malware, verifica la integridad del núcleo de WordPress y te avisa de cambios sospechosos.
- Sucuri Security: Además de escanear, te permite limpiar archivos infectados desde el propio plugin (en su versión gratuita, la limpieza es manual, pero la detección es excelente).
- MalCare Security: Especializado en detección de malware sin ralentizar tu web. Su versión gratuita escanea y te dice si estás infectado.
Cómo usarlos
- Instala y activa uno de estos plugins desde el panel de administración de WordPress.
- Ve a la sección de escaneo y haz clic en “Escanear ahora”.
- Espera a que termine (puede tardar unos minutos). El plugin te mostrará una lista de archivos sospechosos.
[INFO] Si el plugin encuentra malware, no elimines nada aún. Primero identifica qué tipo de infección es y dónde está alojada.
Herramientas online gratuitas
- Sucuri SiteCheck: Solo necesitas poner la URL de tu sitio. Escanea en busca de malware, listas negras y redirecciones.
- VirusTotal: Sube un archivo sospechoso (por ejemplo, un plugin que descargaste) y te dice si está infectado.
- Quttera: Similar a Sucuri, pero con análisis más detallado de archivos.
Paso 2: Identifica el tipo de malware
No todo el malware es igual. Saber con qué estás lidiando te ayudará a limpiar virus WordPress de forma más precisa. Los tipos más comunes son:
- Malware en archivos del núcleo: Archivos como
wp-includes/functions.phpowp-content/themes/modificados para inyectar código malicioso. - Malware en la base de datos: Scripts almacenados en las tablas de
wp_postsowp_optionsque generan contenido basura o redirecciones. - Backdoors (puertas traseras): Archivos PHP ocultos (a menudo con nombres como
wp-cache.phpo0x.php) que permiten a los hackers volver a entrar. - Malware en plugins/temas: Plugins o temas piratas (nulled) suelen contener código malicioso desde su origen.
[WARNING] Nunca descargues plugins o temas de sitios no oficiales. Es una de las principales causas de infección.
Paso 3: Elimina el malware manualmente (si te atreves)
Si el escaneo te muestra archivos infectados y sabes qué estás haciendo, puedes eliminarlos manualmente. Pero ojo: borrar el archivo equivocado puede romper tu web. Sigue estos pasos con cuidado.
Desde el panel de WordPress (si el plugin lo permite)
Algunos plugins como Wordfence te permiten “reparar” archivos del núcleo. Simplemente selecciona el archivo infectado y haz clic en “Reparar”. Esto descargará una versión limpia desde los repositorios oficiales.
Desde FTP
- Conéctate a tu servidor vía FTP.
- Navega a la carpeta donde está el archivo sospechoso (ejemplo:
wp-content/themes/tu-tema/functions.php). - Descarga una copia del archivo a tu ordenador (por si acaso).
- Elimina el archivo del servidor o reemplázalo por una versión limpia (puedes obtenerla del repositorio oficial de WordPress o del tema original).
Archivos comunes a revisar
index.php(en la raíz y en cada carpeta)wp-config.php(revisa que no tenga código extra).htaccess(mira si hay redirecciones extrañas)wp-content/themes/tu-tema/functions.phpwp-content/plugins/(revisa todos los archivos PHP de los plugins activos)
[TIP] Si no estás seguro de qué eliminar, mejor no toques nada y pasa al siguiente paso. Una mala eliminación puede dejar tu web inservible.
Paso 4: Limpia la base de datos
El malware no solo vive en archivos. A veces se esconde en la base de datos. Para detectar malware en la base de datos, necesitas acceso a phpMyAdmin.
Cómo acceder a phpMyAdmin
- Entra a tu panel de hosting (cPanel, Syspanel en puerto 2106, Plesk, etc.).
- Busca “phpMyAdmin” o “Bases de datos”.
- Selecciona tu base de datos de WordPress.
Busca contenido sospechoso
- En la tabla
wp_posts: Busca entradas con títulos en chino, ruso o árabe, o que contengan enlaces a sitios de spam. - En la tabla
wp_options: Revisa la opciónsiteurlyhomepara asegurarte de que apuntan a tu dominio correcto. - En la tabla
wp_users: Mira si hay usuarios con roles de administrador que no conoces.
Cómo limpiar
- Elimina entradas basura: En
wp_posts, selecciona las entradas maliciosas y haz clic en “Eliminar”. - Elimina usuarios sospechosos: En
wp_users, borra los usuarios que no reconozcas (pero cuidado: no borres al administrador principal). - Revisa la opción
siteurl: Si está cambiada, edítala y pon tu dominio correcto.
[WARNING] Si no te sientes cómodo editando la base de datos directamente, usa un plugin como “Better Search Replace” para buscar y reemplazar cadenas maliciosas.
Paso 5: Reinstala el núcleo, temas y plugins
Una vez que has eliminado el malware visible, es buena práctica reinstalar los componentes principales de WordPress para asegurarte de que no quedan restos.
Reinstalar el núcleo de WordPress
- Ve a
Escritorio > Actualizacionesen tu panel de WordPress. - Haz clic en “Volver a instalar la versión X.X.X”. Esto descargará archivos limpios del núcleo y reemplazará los infectados.
Reinstalar temas y plugins
- Temas: Si tu tema activo estaba infectado, descarga la versión original desde el repositorio oficial o desde el sitio del desarrollador. Sube el tema nuevo (reemplaza el antiguo) desde
Apariencia > Temas > Añadir nuevo > Subir tema. - Plugins: Haz lo mismo con los plugins. Desactiva y elimina los que no uses. Los que uses, descárgalos de nuevo desde el repositorio oficial.
[INFO] Nunca uses versiones “nulled” o piratas. Son la puerta de entrada favorita de los hackers.
Paso 6: Refuerza la seguridad de tu WordPress
Una vez limpio, es hora de blindar tu sitio para evitar futuras infecciones. Aquí tienes las mejores prácticas de seguridad WordPress:
Cambia todas las contraseñas
- Administrador de WordPress: Crea una contraseña larga (mínimo 12 caracteres, con mayúsculas, números y símbolos).
- Base de datos: Cambia la contraseña del usuario de la base de datos desde phpMyAdmin.
- FTP y hosting: También renueva estas contraseñas.
Mantén todo actualizado
- WordPress: Activa las actualizaciones automáticas para versiones menores.
- Plugins y temas: Actualiza todo tan pronto como salgan parches de seguridad.
Instala un firewall
- Wordfence: Incluye un firewall que bloquea tráfico malicioso.
- Cloudflare: Usa su CDN y firewall gratuito para filtrar ataques.
Desactiva la edición de archivos desde el panel
Añade esta línea a tu wp-config.php:
define('DISALLOW_FILE_EDIT', true);
Limita los intentos de inicio de sesión
Usa un plugin como “Limit Login Attempts Reloaded” para evitar ataques de fuerza bruta.
Haz copias de seguridad periódicas
Programa backups automáticos semanales (o diarios si tu sitio es muy activo). Muchos hostings ofrecen esta opción, o puedes usar plugins como UpdraftPlus.
Paso 7: Verifica que tu sitio esté limpio
Después de todo el proceso, haz una comprobación final:
- Escanea de nuevo con Wordfence o Sucuri.
- Prueba el sitio: Navega por todas las páginas, haz clic en enlaces, rellena formularios, etc.
- Revisa Google Search Console: Si tu sitio estaba en listas negras, solicita una revisión una vez que esté limpio.
- Monitoriza el tráfico: Usa herramientas como Google Analytics para detectar picos extraños o redirecciones.
[TIP] Si después de todo sigues viendo malware, puede que la infección esté en el servidor (no solo en WordPress). Contacta con tu proveedor de hosting.
Preguntas frecuentes (FAQ)
¿Puedo eliminar malware WordPress sin perder contenido?
Sí, si haces una copia de seguridad antes y solo eliminas archivos o entradas maliciosas. Los plugins de seguridad suelen respetar tu contenido legítimo.
¿Cuánto tiempo toma limpiar un sitio infectado?
Depende de la gravedad. Un escaneo básico y limpieza de archivos puede llevar 30-60 minutos. Si hay que limpiar la base de datos y reinstalar todo, puede tomar varias horas.
¿Qué hago si mi sitio está en la lista negra de Google?
Después de limpiarlo, solicita una revisión en Google Search Console. Google suele responder en 24-48 horas.
¿Los plugins de seguridad gratuitos son suficientes?
Para la mayoría de sitios pequeños o medianos, sí. Pero si manejas datos sensibles (ecommerce, clientes), considera la versión premium de Wordfence o Sucuri.
¿Cómo accedo a Syspanel para gestionar mi hosting?
Syspanel (antes HestiaCP) se accede a través del puerto 2106. Por ejemplo: https://tudominio.com:2106. Allí podrás gestionar bases de datos, cuentas FTP y copias de seguridad.
Conclusión: La seguridad es un hábito, no un evento
Detectar y eliminar malware WordPress no es algo que hagas una sola vez. La ciberseguridad WordPress es un proceso continuo: actualizaciones, contraseñas seguras, copias de seguridad y monitoreo constante. Con esta guía paso a paso, tienes las herramientas para limpiar virus WordPress y mantener tu sitio a salvo.
Recuerda: si en algún momento te sientes abrumado, no dudes en contactar con un profesional o con el soporte de tu hosting. Pero con un poco de paciencia y siguiendo estos pasos, la mayoría de las infecciones se pueden resolver sin perder la cabeza.
[INFO] Guarda esta guía en tus favoritos. La próxima vez que notes algo raro en tu web, ya sabes por dónde empezar.
