WordPress: Cómo identificar y eliminar malware de tu sitio
Detectar a tiempo es la clave para evitar que un problema pequeño se convierta en una pesadilla. Si tu web va lenta, muestra avisos de navegación insegura o aparece contenido extraño en Google, es muy probable que estés ante un caso de malware.
No te preocupes, no estás solo en esto. En esta guía extensa y práctica, voy a explicarte paso a paso cómo detectar malware WordPress, cómo limpiar WordPress infectado y, lo más importante, cómo evitar que vuelva a ocurrir.
Vamos a empezar por el principio: entender qué es exactamente lo que estamos buscando y por dónde suele colarse el problema.
¿Qué es el malware en WordPress y por qué te atacan a ti?
El malware es cualquier software malicioso diseñado para dañar, robar información o tomar el control de tu sitio web. En el ecosistema de WordPress, esto puede manifestarse como código oculto en archivos, inyecciones de SQL en la base de datos o scripts que redirigen a tus visitantes a páginas de spam.
¿Por qué atacan a un sitio pequeño como el tuyo? La respuesta es simple: porque pueden. Los ciberdelincuentes utilizan bots automatizados que escanean Internet en busca de vulnerabilidades conocidas. No te conocen personalmente; solo buscan cualquier sitio con una versión desactualizada de un plugin o una contraseña débil.
[INFO] Un sitio infectado no solo afecta tu reputación, sino que puede hacer que Google te marque como "Sitio engañoso", lo que ahuyentará al 100% de tu tráfico orgánico en cuestión de horas.
Fase 1: Detectar el malware WordPress (Síntomas y herramientas)
Antes de poder eliminar malware WordPress, debes estar seguro de que existe. A veces los síntomas son evidentes, pero otras veces el código malicioso está oculto y es silencioso.
Síntomas visibles de una infección
Presta atención a estas señales de alerta en tu panel de administración y en tu navegador:
- Avisos de Google Safe Browsing: Al intentar entrar a tu web, Chrome o Firefox te muestran una pantalla roja de advertencia.
- Redirecciones extrañas: Al hacer clic en un enlace de tu web, te lleva a una farmacia online, a páginas de casinos o a sitios de contenido adulto.
- Pop-ups invasivos: Aparecen ventanas emergentes que no has creado tú.
- Rendimiento deficiente: Tu web tarda muchísimo en cargar porque está enviando spam desde tu servidor.
- Contenido desconocido: Aparecen páginas o entradas que tú no has escrito, a menudo en otros idiomas.
- Usuarios nuevos en tu panel: Detectas administradores que no reconoces en
Usuarios > Todos los usuarios.
Escaneo manual y con plugins de seguridad
La detección temprana es tu mejor aliada. Para ello, tienes dos opciones complementarias:
1. Escaneo con plugins (La vía fácil)
Instalar un plugin de seguridad es el primer paso para cualquier usuario sin experiencia. Estos plugins comparan los archivos de tu instalación con los archivos originales del repositorio de WordPress y buscan firmas de malware conocidas.
- Wordfence Security: Es el más popular. Tiene un firewall y un escáner de malware muy robusto. La versión gratuita es suficiente para empezar.
- Sucuri Scanner: Excelente para análisis de integridad de archivos y monitorización de listas negras.
- iThemes Security: Ofrece un buen equilibrio entre seguridad y rendimiento.
Cómo usar un plugin para detectar:
- Ve a
Plugins > Añadir nuevo. - Busca "Wordfence Security" e instálalo.
- Actívalo y ve a
Wordfence > Scan. - Haz clic en "Iniciar nuevo escaneo". Este proceso puede tardar unos minutos.
- Revisa los resultados. Presta especial atención a los archivos marcados como "Modificados" o "Malware".
2. Escaneo manual (La vía del detective)
Si el plugin no encuentra nada pero tu web sigue dando problemas, toca mirar debajo del capó. Necesitas acceder a tu hosting mediante FTP o al administrador de archivos de tu panel de control.
[WARNING] Si no te sientes cómodo editando archivos, salta esta sección y ve directo a la Fase 2. Manipular archivos sin saber lo que haces puede romper tu sitio.
Archivos clave a revisar manualmente:
- wp-config.php: Es el archivo de configuración principal. Busca código PHP extraño al final del archivo que no reconozcas.
- .htaccess: Un archivo oculto en la raíz. El malware suele inyectar reglas de redirección aquí.
- Carpeta wp-content/uploads: A veces los atacantes suben archivos PHP disfrazados de imágenes.
- Carpeta mu-plugins: Es una carpeta especial para "must-use plugins". Si existe y no la creaste tú, algo huele mal.
Fase 2: Preparación antes de limpiar WordPress infectado
Respira hondo. Antes de empezar a borrar cosas, necesitas un plan. Actuar con prisa puede empeorar la situación.
Haz una copia de seguridad completa (Sí o sí)
Esta es la regla de oro. Nunca intentes limpiar un sitio sin tener un respaldo reciente. Si algo sale mal durante la limpieza, podrás restaurar el sitio a un estado anterior (aunque estuviera infectado).
- Desde tu hosting: La mayoría de los paneles de control (cPanel, Syspanel, Plesk) tienen una herramienta de copias de seguridad. Si usas Syspanel, recuerda que el acceso se realiza a través del puerto 2106 (ejemplo:
https://tu-dominio.com:2106) para gestionar tus copias y archivos. - Desde plugins: Instala un plugin como UpdraftPlus o BackupBuddy. Te permiten descargar un archivo comprimido con toda tu web (archivos y base de datos) a tu ordenador o a la nube.
[TIP] Guarda la copia de seguridad en un lugar externo a tu servidor. Si el servidor está comprometido, una copia guardada en el mismo sitio no te servirá de nada.
Identifica la fecha del ataque
Revisa los archivos modificados en tu servidor. La fecha de modificación te dará una pista de cuándo ocurrió la intrusión. Esto es útil para saber si tu copia de seguridad es anterior o posterior al ataque.
Fase 3: El proceso de eliminación (Limpieza profunda)
Ahora sí, vamos a ensuciarnos las manos. Este es el proceso más efectivo para limpiar WordPress infectado de forma manual, paso a paso.
Paso 1: Poner el sitio en modo mantenimiento
No quieres que los visitantes vean errores mientras limpias. Ve a Ajustes > Lectura y marca la casilla "Desactivar para todos los motores de búsqueda" (esto es temporal). También puedes usar un plugin de mantenimiento para mostrar una pantalla bonita.
Paso 2: Cambiar TODAS las contraseñas
Esto incluye:
- La contraseña del administrador de WordPress.
- Las contraseñas de los usuarios con rol de Editor o Autor.
- La contraseña de la base de datos MySQL.
- La contraseña de FTP y del panel de control del hosting.
[WARNING] Si el atacante entró por una contraseña débil y no la cambias, volverá a entrar en cuanto termines de limpiar.
Paso 3: Eliminar el malware de los archivos (La limpieza manual)
Conecta a tu servidor por FTP (FileZilla es una buena opción) o usa el administrador de archivos de Syspanel (recuerda, puerto 2106).
Localiza y elimina los archivos maliciosos:
- Revisa la raíz: Busca archivos con nombres extraños como
wp-upload.php,shell.php,c99.phpo archivos con códigos aleatorios. - Reinstala el núcleo de WordPress: Descarga la última versión de WordPress desde wordpress.org. Descomprímela en tu ordenador y sube las carpetas
wp-adminywp-includesa tu servidor, sobrescribiendo las existentes. Esto reemplaza los archivos del núcleo que puedan estar comprometidos. - Reinstala todos los plugins y temas: Ve a
Plugins > Añadir nuevo > Subir plugin. Sube versiones frescas descargadas desde wordpress.org. Esto sobrescribe los archivos modificados. Haz lo mismo con tus temas. - Revisa el archivo functions.php: Es el archivo más atacado. Busca en tu tema activo y en cada plugin. Si ves código ofuscado (una línea larguísima sin espacios), bórralo.
Paso 4: Limpiar la base de datos
El malware también puede esconderse en la base de datos. Los atacantes suelen insertar código en la tabla wp_options o en el contenido de las entradas.
- Accede a phpMyAdmin (desde tu hosting o desde Syspanel).
- Revisa la tabla
wp_options: Busca opciones sospechosas que contengan scripts o enlaces a dominios raros. - Busca en
wp_posts: Ejecuta una consulta SQL para buscar contenido inyectado:
SELECT * FROM wp_posts WHERE post_content LIKE '%<script%' OR post_content LIKE '%eval(%';
Si encuentras resultados, tendrás que editar esas entradas y eliminar el código malicioso.
Fase 4: Refuerza la seguridad para evitar futuras infecciones
Una vez que has conseguido eliminar malware WordPress, el siguiente paso es blindar el sitio. Si no cambias los hábitos de seguridad, volverás a caer en la misma trampa.
Actualiza todo
La mayoría de las infecciones ocurren por plugins o temas desactualizados. Ve a Escritorio > Actualizaciones y actualiza todo lo que puedas. Si un plugin lleva mucho tiempo sin actualizarse, considera reemplazarlo por uno más activo.
Cambia tus contraseñas por unas robustas
Usa un gestor de contraseñas. Una contraseña segura tiene al menos 12 caracteres, incluye mayúsculas, minúsculas, números y símbolos. Nunca uses "admin" como nombre de usuario.
Activa la autenticación de dos factores (2FA)
Esto añade una capa extra: incluso si alguien roba tu contraseña, necesitará un código de tu teléfono para entrar.
Instala un firewall
Los plugins como Wordfence o Cloudflare (plan gratuito) pueden bloquear el tráfico malicioso antes de que llegue a tu servidor.
Limpia tu lista de usuarios
Elimina cualquier usuario que no reconozcas. Revisa sus roles: ¿Alguien tiene permisos de administrador sin necesidad?
Preguntas frecuentes (FAQ) sobre malware en WordPress
Aquí tienes las dudas más comunes que resuelvo a diario en soporte técnico.
¿Cuánto cuesta eliminar malware de WordPress?
Si lo haces tú mismo siguiendo esta guía, el coste es cero (solo tu tiempo). Si contratas a un profesional o un servicio especializado (como Sucuri), puede costar entre 50 y 300 euros, dependiendo de la complejidad de la limpieza.
¿Puedo usar un plugin para limpiar la infección automáticamente?
Sí, plugins como Wordfence o MalCare tienen funciones de limpieza automática. Sin embargo, en infecciones graves, la limpieza manual es más fiable porque elimina el problema de raíz, no solo los síntomas visibles.
¿Qué hago si Google ha marcado mi sitio como peligroso?
Una vez que hayas limpiado el sitio, debes solicitar una revisión en Google Search Console. Ve a Problemas de seguridad y haz clic en "Solicitar revisión". El proceso puede tardar desde unas horas hasta unos días.
¿El malware puede afectar a mis visitantes?
Sí. Si el malware inyecta scripts de minería de criptomonedas o redirecciones a páginas de phishing, tus visitantes están en riesgo. Esto puede dañar gravemente tu reputación y tu posicionamiento SEO.
¿Debo borrar todo y empezar de cero?
No siempre es necesario. La limpieza manual suele ser suficiente. Sin embargo, si la infección es muy profunda (afecta a archivos del servidor fuera de WordPress), una reinstalación limpia puede ser más rápida y segura.
Conclusión: La prevención es tu mejor escudo
Hemos recorrido un largo camino, desde detectar malware WordPress hasta los métodos más efectivos para limpiar WordPress infectado. La clave no es solo reaccionar, sino crear una rutina de mantenimiento.
Tu checklist final de seguridad:
- Actualiza núcleo, plugins y temas cada semana.
- Haz una copia de seguridad automática diaria.
- Usa contraseñas únicas y 2FA.
- Instala un plugin de seguridad con firewall.
- Elimina plugins y temas que no uses.
[TIP] Agenda una hora al mes para revisar los registros de actividad de tu web. Detectar un comportamiento extraño a tiempo te ahorrará un dolor de cabeza monumental.
Si a pesar de todo te sientes abrumado, no dudes en contactar con tu proveedor de hosting. Muchos ofrecen servicios de limpieza de malware incluidos en sus planes de soporte. Recuerda que, si usas Syspanel, puedes acceder a las herramientas de gestión de archivos y bases de datos a través del puerto 2106 para realizar estas tareas de forma segura.
Tu sitio web es tu activo más valioso. Protégelo con conocimiento y constancia.
