Cómo detectar y eliminar virus en un sitio WordPress
Descubrir que tu sitio web tiene un virus o malware puede ser una experiencia angustiante. Ver que tu página se redirige a sitios extraños, muestra anuncios no deseados o, peor aún, es bloqueada por Google, es frustrante. Pero no te preocupes: estás en el lugar correcto.
Este artículo está diseñado para guiarte, paso a paso, en la detección y eliminación de virus WordPress. No necesitas ser un experto en seguridad informática; solo sigue las instrucciones y recuperarás el control de tu web. Hablaremos de cómo detectar las señales de infección, las herramientas para eliminar malware WordPress y las mejores prácticas para fortalecer la seguridad WordPress a futuro.
¿Cómo saber si mi WordPress tiene un virus?
Antes de lanzarte a limpiar, debes confirmar que realmente hay un problema. A veces, un mal funcionamiento puede deberse a un plugin incompatible o un error de configuración. Sin embargo, hay señales muy claras de que tu sitio ha sido infectado.
Señales comunes de infección
- Redirecciones extrañas: Al entrar a tu web, eres llevado a sitios de farmacias, casinos o páginas de spam.
- Anuncios pop-up invasivos: Aparecen ventanas emergentes que no forman parte de tu diseño original.
- Ralentización extrema: Tu web carga muy lento o directamente no carga.
- Google te marca como "sitio engañoso": Al buscar tu dominio, ves un aviso rojo de "Este sitio puede estar comprometido".
- Archivos nuevos y sospechosos: En tu gestor de archivos (FTP o cPanel) ves archivos con nombres raros como
0x0.php,shell.phpowp-login.php.bak. - Usuarios administradores desconocidos: En el panel de WordPress, bajo Usuarios, ves cuentas que no creaste.
- Contenido modificado: Tus artículos tienen enlaces ocultos o se han añadido párrafos de spam.
[INFO] Si notas una o varias de estas señales, es muy probable que tengas un virus WordPress. Actúa rápido para evitar que el daño se extienda a tus visitantes o a tu servidor.
Herramientas esenciales para empezar la limpieza
No intentes hacer todo a mano. Existen herramientas gratuitas y de pago que te facilitarán enormemente la detección y eliminación de malware WordPress. Aquí tienes las más recomendadas:
Plugins de seguridad para WordPress
Estos plugins escanean tu sitio en busca de archivos maliciosos, cambios no autorizados y puertas traseras.
- Wordfence Security: Es el más popular. Escanea el núcleo de WordPress, temas y plugins en busca de código malicioso. Su firewall bloquea tráfico malicioso.
- Sucuri Security: Excelente para monitoreo y limpieza. Ofrece un escáner de malware y una lista negra de IPs bloqueadas.
- iThemes Security (Better WP Security): Refuerza la seguridad con cambios de contraseñas, autenticación de dos factores y detección de cambios en archivos.
Escáneres online gratuitos
Si no puedes acceder a tu panel de administración, usa estos servicios:
- Sucuri SiteCheck: Solo introduces tu URL y analiza si hay malware, redirecciones o listas negras.
- Quttera: Escanea en profundidad y detecta scripts maliciosos ocultos.
Acceso al servidor
Para una limpieza profunda, necesitarás acceso a los archivos del servidor. Puedes hacerlo mediante:
- cPanel / Syspanel: El panel de control de tu hosting. Si usas Syspanel, recuerda que el puerto de acceso es el 2106. Busca la sección "Administrador de Archivos".
- FTP (FileZilla, Cyberduck): Te permite conectar directamente a tu servidor y ver/editar todos los archivos.
Guía paso a paso para limpiar un sitio WordPress infectado
Aquí tienes el proceso completo. Sigue estos pasos en orden para maximizar las posibilidades de éxito.
Paso 1: Haz una copia de seguridad (¡antes de tocar nada!)
Antes de eliminar cualquier archivo, asegura tu sitio. Si algo sale mal, podrás restaurarlo.
- Accede a tu panel de control (cPanel o Syspanel en puerto 2106).
- Busca la opción "Copias de seguridad" o "Backup".
- Descarga una copia completa de los archivos y la base de datos.
- Guarda esa copia en tu ordenador. No la subas al mismo servidor.
[WARNING] Si haces una copia de seguridad del sitio infectado, no la subas de nuevo después de limpiar, porque volverás a infectarte. Solo úsala como último recurso si la limpieza falla.
Paso 2: Cambia todas las contraseñas
El malware suele entrar a través de credenciales débiles. Cambia inmediatamente:
- Contraseña de administrador de WordPress: Ve a Usuarios > Tu perfil y establece una nueva, larga y única.
- Contraseña de la base de datos: En cPanel/Syspanel, busca "Bases de datos MySQL" y cambia la contraseña del usuario.
- Contraseña de FTP y del panel de control: Si usas Syspanel, cámbiala desde la configuración de usuario.
- Claves de seguridad de WordPress (salts): Edita el archivo
wp-config.phpy reemplaza las líneas deAUTH_KEY,SECURE_AUTH_KEY, etc., con valores nuevos. Puedes generarlos en https://api.wordpress.org/secret-key/1.1/salt/.
Paso 3: Activa el modo mantenimiento
Para que los visitantes no vean el caos mientras limpias, activa un plugin de modo mantenimiento o añade manualmente un archivo .maintenance en la raíz de tu WordPress.
Paso 4: Escanea con un plugin de seguridad
Instala y ejecuta Wordfence o Sucuri Security.
- Ve a Plugins > Añadir nuevo.
- Busca "Wordfence Security" e instálalo.
- Actívalo y sigue el asistente de configuración.
- Haz clic en "Iniciar nuevo escaneo".
- Espera a que termine. Wordfence te mostrará una lista de archivos sospechosos, cambios en el núcleo y posibles puertas traseras.
Paso 5: Elimina archivos maliciosos manualmente
El escáner te dirá qué archivos están infectados. No te limites a "reparar" desde el plugin; a veces es mejor eliminarlos manualmente.
- Conecta a tu servidor por FTP o mediante el Administrador de Archivos de Syspanel.
- Revisa las carpetas sospechosas:
wp-content/uploads/,wp-content/themes/,wp-content/plugins/. - Busca archivos con nombres extraños:
0x0.php,shell.php,wp-l0gin.php,admin-ajax.php(si no debería estar ahí). - Elimina esos archivos. Si no estás seguro, renómbralos primero (por ejemplo, cambia
shell.phpashell.php.bak).
[TIP] También revisa la carpeta raíz (donde está
wp-config.php) en busca de archivos comoindex.htmlodefault.phpque no reconozcas.
Paso 6: Limpia la base de datos
El malware puede esconderse en la base de datos mediante inyecciones SQL o código base64.
- Ve a cPanel/Syspanel > phpMyAdmin.
- Selecciona tu base de datos de WordPress.
- Haz clic en "SQL" y ejecuta una búsqueda de cadenas sospechosas como
base64_decode,eval,gzinflate,system,exec. - Si encuentras alguna en tablas como
wp_postsowp_options, edita el registro y elimina el código malicioso. Ten mucho cuidado de no borrar contenido legítimo.
[WARNING] No ejecutes consultas SQL si no sabes lo que haces. Es mejor usar un plugin como Better Search Replace para buscar y reemplazar cadenas maliciosas de forma segura.
Paso 7: Reinstala el núcleo, temas y plugins
El malware suele modificar archivos oficiales. La solución más segura es reinstalar todo lo que sea legítimo.
- Núcleo de WordPress: Ve a Escritorio > Actualizaciones y haz clic en "Volver a instalar la versión X.X.X".
- Temas: Elimina el tema activo (si no lo usas) o descarga una copia nueva desde wordpress.org y súbela por FTP.
- Plugins: Desactiva y elimina todos los plugins que no uses. Los que uses, descárgalos de nuevo desde wordpress.org e instálalos.
Paso 8: Revisa los usuarios y roles
Ve a Usuarios en tu panel de WordPress. Elimina cualquier cuenta que no reconozcas. Asegúrate de que solo tú y personas de confianza tengan rol de "Administrador".
Paso 9: Verifica la limpieza
Una vez que hayas eliminado todo, haz un nuevo escaneo con Wordfence. Si no encuentra nada, prueba con Sucuri SiteCheck online. Si todo está limpio, desactiva el modo mantenimiento.
Medidas de seguridad para evitar futuras infecciones
Una vez que tu sitio esté limpio, es fundamental blindarlo para que no vuelva a pasar. Aquí tienes las mejores prácticas de seguridad WordPress:
Actualiza siempre todo
- WordPress: Mantén actualizado el núcleo.
- Temas y plugins: No uses versiones antiguas. Las actualizaciones corrigen vulnerabilidades.
- PHP: Usa la versión más reciente de PHP (7.4 o superior). Puedes cambiarla desde Syspanel en la sección "Seleccionar versión de PHP".
Usa contraseñas fuertes y autenticación de dos factores
- No uses "admin" como nombre de usuario.
- Cada contraseña debe tener al menos 12 caracteres, con mayúsculas, minúsculas, números y símbolos.
- Activa la autenticación de dos factores (2FA) con plugins como Google Authenticator o Wordfence.
Instala un firewall y un escáner en tiempo real
- Wordfence tiene un firewall que bloquea tráfico malicioso antes de que llegue a tu web.
- Sucuri ofrece un firewall en la nube que filtra peticiones maliciosas.
Limita los intentos de inicio de sesión
Usa plugins como Limit Login Attempts Reloaded para evitar ataques de fuerza bruta.
Desactiva la edición de archivos desde el panel
Añade esta línea a tu wp-config.php:
define('DISALLOW_FILE_EDIT', true);
Haz copias de seguridad periódicas
Programa backups automáticos diarios o semanales. Puedes usar UpdraftPlus o la herramienta de backups de Syspanel.
Revisa los permisos de archivos
Los archivos deben tener permisos 644 y las carpetas 755. No uses 777. Puedes cambiarlos desde el Administrador de Archivos de Syspanel o con un cliente FTP.
FAQ: Preguntas frecuentes sobre virus en WordPress
¿Puedo limpiar un virus WordPress sin saber programar?
Sí, siguiendo esta guía y usando plugins como Wordfence, cualquier usuario puede hacerlo. Si el malware es muy complejo, considera contratar un servicio profesional como Sucuri.
¿Qué hago si no puedo acceder al panel de administración?
Usa un cliente FTP o el Administrador de Archivos de Syspanel para eliminar el plugin o tema que causa el problema. También puedes desactivar todos los plugins renombrando la carpeta wp-content/plugins a wp-content/plugins_backup.
¿El malware puede afectar a mis visitantes?
Sí. Los sitios infectados suelen distribuir malware a los visitantes o redirigirlos a páginas de phishing. Por eso es crucial limpiarlo rápido.
¿Cuánto tiempo se tarda en limpiar un sitio?
Depende de la gravedad. Una limpieza básica puede llevar de 1 a 3 horas. Una infección profunda puede requerir un día entero.
¿Debo informar a Google si mi sitio fue marcado como inseguro?
Sí. Una vez limpio, ve a Google Search Console y solicita una revisión. Google volverá a indexar tu sitio si todo está bien.
Conclusión
Detectar y eliminar malware WordPress no es tarea imposible. Con las herramientas adecuadas, un poco de paciencia y siguiendo un proceso metódico, puedes recuperar tu sitio y blindarlo contra futuros ataques. Recuerda que la prevención es la mejor defensa: mantén todo actualizado, usa contraseñas seguras y realiza copias de seguridad periódicas.
Si te sientes abrumado, no dudes en contactar con el soporte técnico de tu hosting. Ellos pueden ayudarte a identificar el problema y, en muchos casos, ofrecer servicios de limpieza especializados. ¡Tu sitio web merece estar seguro!
[TIP] Guarda este artículo como referencia. La seguridad es un proceso continuo, no una acción de una sola vez. Revisa tu sitio periódicamente con un escáner y mantén buenos hábitos de seguridad.
