WordPress: Cómo eliminar malware de tu sitio (Guía para principiantes)
¿Tu sitio web en WordPress va lento, muestra mensajes extraños o redirige a páginas que no reconoces? Respira hondo. Es muy probable que tu sitio esté infectado con malware. Es una situación angustiante, pero no es el fin del mundo. Este artículo es tu guía de primeros auxilios. Aquí aprenderás, paso a paso y sin tecnicismos, cómo eliminar malware WordPress y devolverle la salud a tu página web.
No necesitas ser un hacker ni un programador experto para hacer una limpieza inicial. Con paciencia, las herramientas adecuadas y esta guía, podrás limpiar WordPress y recuperar el control. Vamos a ello.
¿Cómo sé si mi sitio tiene un virus WordPress?
Antes de lanzarnos a la acción, confirmemos el problema. A veces, el malware es muy sigiloso y no da señales obvias. Otras veces, es imposible no verlo. Estos son los síntomas más comunes de un sitio infectado:
- Redirecciones misteriosas: Al visitar tu web, te redirige a páginas de farmacias, casinos o anuncios raros. Esto es un clásico.
- Ventanas emergentes (pop-ups) invasivas: Aparecen anuncios por todas partes, incluso cuando no los tenías configurados.
- Avisos de Google: Si buscas tu sitio en Google, puede aparecer una advertencia como "Este sitio puede haber sido pirateado" o "El sitio contiene malware".
- Rendimiento horrible: Tu web tarda una eternidad en cargar. El malware consume muchos recursos del servidor.
- Archivos extraños: En tu panel de control (cPanel, Syspanel, etc.) ves archivos con nombres raros que no recuerdas haber subido, como
hack.phposhell.php. - Usuarios administradores desconocidos: En tu panel de WordPress, en Usuarios, ves una cuenta de administrador que no creaste tú.
- Contenido inyectado: En tus publicaciones o páginas, aparecen enlaces ocultos a otros sitios web, a menudo en el código.
Si has identificado al menos uno de estos síntomas, es hora de actuar. No entres en pánico. El plan es sencillo: limpiar y blindar.
Fase 1: El Kit de Emergencia (Preparación y Acceso)
Antes de tocar nada, necesitas preparar tu "kit de emergencia". Esto te salvará la vida si algo sale mal.
1. Haz una Copia de Seguridad (Sí o Sí)
Esta es la regla de oro. No toques nada sin una copia de seguridad. El malware puede estar escondido en tu base de datos, y si borras el archivo equivocado, podrías perder todo tu contenido. Haz una copia tanto de los archivos como de la base de datos.
- Desde tu panel de hosting: La mayoría de los paneles (cPanel, Syspanel, Plesk) tienen opciones de "Backup" o "Copias de Seguridad". Busca la opción de descargar un backup completo o parcial.
- Con un plugin: Si no puedes acceder a tu panel de hosting, usa un plugin como UpdraftPlus o BackWPup. Te permiten descargar una copia completa desde el propio WordPress, si es que aún puedes acceder al panel de administración.
[TIP] Guarda la copia de seguridad en tu computadora y también en un servicio en la nube (Google Drive, Dropbox). Nunca la guardes en el mismo servidor donde está el sitio infectado.
2. Guarda tus Credenciales de Acceso
Asegúrate de tener a mano:
- Credenciales de FTP/SFTP: Para acceder a los archivos del servidor. Las encuentras en el correo de bienvenida de tu hosting o en el panel de control.
- Credenciales de la base de datos: El nombre de la base de datos, el usuario y la contraseña. Están en el archivo
wp-config.phpde tu sitio. - Acceso a Syspanel (o cPanel): Si tu hosting usa Syspanel, recuerda que el puerto de acceso es el 2106. Por ejemplo,
tu-servidor.com:2106.
3. Cambia Todas tus Contraseñas
Sí, todas. La del hosting, la de FTP, la de la base de datos y la de tu usuario administrador de WordPress. Si el malware entró por una contraseña débil, esto cortará la puerta de entrada principal.
Fase 2: La Limpieza Manual (Paso a Paso)
Ahora sí, nos arremangamos. Vamos a limpiar WordPress de forma manual. No te asustes, es más fácil de lo que parece.
1. Accede a tus Archivos por FTP o Administrador de Archivos
Necesitas ver los archivos de tu sitio. Usa un cliente FTP como FileZilla (te recomiendo este, es gratuito y fácil de usar) o el "Administrador de Archivos" de tu panel de hosting (Syspanel o cPanel).
- Con FileZilla: Conecta usando tu servidor, usuario y contraseña FTP.
- Con el Administrador de Archivos: Entra a tu panel de control (Syspanel, puerto 2106) y busca la opción "Administrador de Archivos" o "File Manager".
2. Inspecciona los Archivos Recientes (El Rastro del Malware)
El malware suele ocultarse en archivos modificados o creados recientemente. Ordena los archivos por fecha de modificación (de más reciente a más antiguo).
- Concéntrate en la carpeta
wp-content: Es el lugar favorito del malware. Dentro dewp-content, revisa especialmente las carpetasthemes(temas) yplugins. Busca archivos.phpque no reconozcas o que tengan nombres extraños comos.php,wp-load.php(fuera de su lugar),up.php, etc. - Revisa la raíz: La carpeta principal de tu WordPress (donde están
wp-admin,wp-content,wp-includes). Busca archivos.phpsueltos que no pertenezcan a la instalación estándar, comoshell.php,hack.phpo0day.php. - Inspecciona
wp-config.php: Ábrelo con un editor de texto. Debe tener el aspecto de un archivo de configuración normal. Busca código extraño, especialmente líneas coneval()obase64_decode().
[WARNING] Si encuentras archivos sospechosos, NO los abras en tu navegador web (ej.
tusitio.com/archivo-sospechoso.php). Podrías ejecutar el código malicioso. Mejor descárgalos a tu PC y ábrelos con un editor de texto como Notepad++ o Sublime Text.
3. Busca Código Malicioso en el Código Fuente
Este es un paso crucial. El malware a menudo se esconde dentro de archivos legítimos.
- Abre tu sitio web en el navegador y haz clic derecho -> "Ver código fuente" (o "Inspeccionar").
- Busca en el código términos como
eval(,base64_decode(,gzinflate(,str_rot13(o enlaces a dominios extraños (que no sean los tuyos ni los de Google, Facebook, etc.). - Si encuentras algo, anota el archivo donde está. Suele estar en el
header.phpofooter.phpde tu tema.
4. El "Modo Mantenimiento" o "Modo Seguro"
Si el malware es muy agresivo y te expulsa del panel de administración, puedes "desactivar" temporalmente tus plugins y tema para aislar el problema. Esto se hace renombrando las carpetas.
- Ve a la carpeta
wp-content. - Renombra la carpeta
pluginsaplugins_desactivados(o simplementeplugins_old). - Renombra la carpeta
themesathemes_desactivados.
Esto fuerza a WordPress a usar un tema por defecto (como Twenty Twenty-Four) y a no cargar ningún plugin. Si el sitio vuelve a estar limpio, el problema estaba en uno de ellos. Luego, puedes ir renombrando de vuelta una por una (primero themes, luego los plugins uno a uno) para identificar al culpable.
5. Limpia la Base de Datos
El malware también puede esconderse en tu base de datos. Para acceder a ella, usa phpMyAdmin (desde tu panel de control) o un plugin como WP-Optimize o Advanced Database Cleaner.
[INFO] Si no te sientes cómodo editando la base de datos directamente, es mejor que uses un plugin de seguridad (lo veremos en la Fase 3) que tenga un escáner de malware. Es mucho más seguro para principiantes.
Si te atreves con phpMyAdmin, busca en la tabla wp_options (o el prefijo que uses, ej. miweb_options) una opción llamada siteurl y home. Asegúrate de que apuntan a tu dominio correcto (ej. https://tudominio.com). A veces, el malware cambia esto para redirigir el tráfico.
Fase 3: Usa un Plugin de Seguridad (La Artillería Pesada)
La limpieza manual es buena, pero no es infalible. Para asegurarte de eliminar hasta el último rastro, necesitas un plugin de seguridad. Estos son tus mejores aliados para eliminar malware WordPress.
1. Instala un Escáner de Malware
Los más recomendados y fáciles de usar son:
- Wordfence Security: Es el más popular. Tiene un escáner de malware muy potente, firewall y bloqueo de IPs. La versión gratuita es suficiente para empezar.
- Sucuri Security: Otro gran escáner. Es conocido por su servicio de limpieza profesional, pero su plugin gratuito también es muy bueno para escanear y detectar.
- MalCare Security: Es muy fácil de usar y su escáner es de los mejores. Tiene un botón de "limpieza" con un solo clic (aunque es una función de pago).
2. Ejecuta el Escáner
Una vez instalado, activa el plugin y ejecuta un escaneo completo. Esto puede tardar unos minutos. El plugin revisará archivos, scripts, enlaces y la base de datos en busca de firmas de malware conocidas.
3. Limpia lo que Encuentre
El plugin te dará una lista de archivos infectados. La mayoría te permite "reparar" o "cuarentena" los archivos peligrosos con un solo clic. Hazlo sin miedo. Si el plugin te pide que borres un archivo, hazlo. Es mejor perder un plugin o tema que todo el sitio.
[TIP] Después de la limpieza, si el plugin te lo permite, ejecuta un segundo escaneo para asegurarte de que no queda nada.
Fase 4: Refuerza la Seguridad (Prevenir es Mejor que Curar)
Has limpiado tu sitio. ¡Enhorabuena! Pero esto no termina aquí. Ahora debes blindarlo para que no vuelva a pasar. Un virus WordPress no aparece por arte de magia; siempre hay una puerta de entrada. Vamos a cerrarlas todas.
1. Actualiza TODO
- Núcleo de WordPress: Ve a
Escritorio -> Actualizacionesy actualiza a la última versión. - Temas y Plugins: Actualiza todos tus temas y plugins. Las actualizaciones corrigen vulnerabilidades de seguridad conocidas. Si tienes un tema o plugin que no actualizas hace años, considera reemplazarlo.
[WARNING] Los temas y plugins desactualizados son la causa principal de infecciones. Si ya no usas un plugin, elimínalo por completo, no solo lo desactives.
2. Cambia tu Prefijo de Base de Datos
El prefijo por defecto de las tablas de WordPress es wp_. Cambiarlo a algo más aleatorio (ej. miweb_2024_) dificulta los ataques de inyección SQL. Puedes hacerlo con un plugin como WP Security Audit Log o manualmente, pero es un paso avanzado. Si te atreves, busca un tutorial específico. Si no, déjalo para un profesional.
3. Usa Contraseñas Sólidas y Autenticación de Dos Factores (2FA)
- Contraseñas: Usa contraseñas largas y únicas para tu WordPress, FTP, hosting y base de datos. Un gestor de contraseñas (como LastPass o 1Password) te ayudará.
- 2FA: Activa la verificación en dos pasos para tu cuenta de administrador. Plugins como Wordfence o Google Authenticator lo hacen fácil. Esto añade una capa extra de seguridad: aunque alguien robe tu contraseña, necesitará tu teléfono para entrar.
4. Instala un Firewall (WAF)
Un firewall de aplicación web (WAF) bloquea el tráfico malicioso antes de que llegue a tu sitio. Wordfence y Sucuri ofrecen firewalls muy buenos. Esto es como tener un guardia de seguridad en la puerta de tu casa.
5. Mantén un Ojo en tus Archivos
Revisa periódicamente (una vez al mes) los archivos recientes en tu servidor. Si ves algo que no pusiste tú, investiga. La vigilancia es clave.
¿Qué hago si no puedo limpiar el malware yo mismo?
No pasa nada. A veces, el malware es muy complejo y se esconde en lugares profundos del servidor. Si después de seguir esta guía el problema persiste, o si te sientes abrumado, es hora de llamar a los profesionales.
- Tu proveedor de hosting: Muchos ofrecen servicios de limpieza de malware, a veces incluso gratis si tienes un plan de pago. Contacta con su soporte técnico.
- Empresas especializadas: Sucuri, SiteLock o Wordfence ofrecen servicios de limpieza profesional. Pagas una tarifa y ellos se encargan de todo el proceso, garantizando la limpieza.
[INFO] Contratar un servicio profesional no es un gasto, es una inversión. Tu sitio web es tu negocio, y perderlo por no querer pagar una limpieza es mucho peor.
Preguntas Frecuentes (FAQ) sobre Malware en WordPress
¿Por qué mi WordPress se infectó si no hago nada?
Porque no haces nada. El malware no necesita que hagas clic en algo. Explota vulnerabilidades en plugins o temas desactualizados, usa contraseñas débiles para adivinar tu acceso, o se cuela por agujeros de seguridad en tu servidor. La inacción es el mejor caldo de cultivo para el malware.
¿Puedo perder mi contenido si limpio el malware?
Si sigues los pasos correctamente (con una copia de seguridad), no deberías perder contenido. La limpieza se centra en archivos de código, no en tus entradas o páginas. Sin embargo, si el malware ha dañado la base de datos, podrías perder algo. Por eso la copia de seguridad es vital.
¿Cuánto tarda en limpiarse un WordPress infectado?
Depende de la gravedad. Una limpieza manual con plugins puede llevar de 2 a 4 horas si sabes lo que haces. Un servicio profesional puede tardar desde unas horas hasta 24-48 horas en casos extremos.
¿Debo informar a Google de que mi sitio está infectado?
Sí, es importante. Si Google ha marcado tu sitio como peligroso, después de limpiarlo debes solicitar una revisión en Google Search Console (anteriormente Webmaster Tools). Ve a la sección "Problemas de seguridad" y solicita la revisión. Google tardará unos días en revisar y, si está limpio, quitará la advertencia.
¿Un plugin de seguridad es suficiente para proteger mi sitio?
Un plugin de seguridad es una capa de protección muy importante, pero no es infalible. La seguridad es un conjunto de buenas prácticas: actualizaciones, contraseñas fuertes, copias de seguridad, firewall y un buen hosting. El plugin es una pieza más del rompecabezas.
¿Qué hago con los usuarios administradores desconocidos?
Elimínalos inmediatamente. Ve a Usuarios en tu panel de WordPress y borra cualquier cuenta que no reconozcas. Si no puedes acceder a tu panel, hazlo directamente desde la base de datos con phpMyAdmin: busca en la tabla wp_users y elimina los registros extraños. Luego, en wp_usermeta, elimina sus metadatos asociados.
¿Qué es un "backdoor" y por qué es peligroso?
Un "backdoor" (puerta trasera) es un archivo malicioso
