🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo eliminar malware de tu sitio WordPress sin ser experto

Actualizado el 4 de marzo de 2026

¡Entendido! Aquí tienes el artículo completo, optimizado para SEO y redactado con un tono cercano y didáctico, siguiendo todas las reglas de formato.


¿Tu web va lenta? ¿Aparecen ventanas extrañas o redirecciones a páginas raras? Respira hondo. Si has llegado hasta aquí, seguramente sospechas que tu sitio tiene un problema, y es muy probable que tengas razón: malware WordPress.

La buena noticia es que no necesitas ser un hacker ni un programador para solucionarlo. En esta guía extensa y paso a paso, voy a explicarte cómo eliminar malware WordPress de tu sitio de forma manual y segura, incluso si tu experiencia técnica es básica. Olvídate del pánico y de pagar facturas de emergencia sin saber qué está pasando. Vamos a arremangarnos y a limpiar WordPress como todo un profesional, con calma y método.

Antes de empezar, una confesión: trabajar con archivos y bases de datos puede parecer abrumador. Por eso, he dividido esta guía en fases muy claras. Si sigues los pasos al pie de la letra, tendrás muchas papeletas para quitar virus web y recuperar la salud de tu proyecto.


Fase 1: Diagnóstico inicial y preparación del terreno

No podemos curar una enfermedad sin saber qué la causa. Lo mismo ocurre con la seguridad web. Antes de tocar nada, vamos a evaluar los síntomas y a preparar un entorno seguro para trabajar.

¿Cómo saber si mi WordPress tiene malware?

A veces los signos son evidentes, pero otras veces el código malicioso se esconde silenciosamente. Estos son los síntomas más comunes:

  • Redirecciones extrañas: Al hacer clic en un enlace de tu web, te lleva a sitios de apuestas, farmacias online o páginas de spam.
  • Ventanas emergentes (pop-ups) invasivas: Aparecen anuncios que no has creado, incluso cuando navegas desde tu propio ordenador.
  • Avisos de Google: Al buscar tu sitio en Google, aparece un mensaje de "Este sitio puede estar comprometido" o "Sitio engañoso".
  • Rendimiento horrible: La página tarda una eternidad en cargar porque el malware está usando tus recursos para enviar correos spam o minar criptomonedas.
  • Archivos nuevos y sospechosos: En tu hosting aparecen archivos con nombres raros como c0d3.php, wp-admin.php.bak o carpetas que no reconoces.
  • Usuarios administradores desconocidos: En tu panel de WordPress (Usuarios -> Todos los usuarios), ves una cuenta llamada "admin" o "support" que tú no creaste.

Si has detectado al menos uno de estos síntomas, es hora de actuar. Pero, ¡ojo! No te conectes a tu hosting desde un ordenador que tenga una infección local. Primero, asegúrate de que tu PC esté limpio.

Copia de seguridad: Tu red de seguridad

Este es el paso más importante de todos. Nunca intentes limpiar un sitio sin una copia de seguridad reciente. ¿Por qué? Porque si cometemos un error al eliminar un archivo, podríamos romper la web entera. La copia de seguridad es nuestro "viaje en el tiempo" para volver al punto de partida.

Puedes hacer una copia de seguridad de dos maneras:

  1. Desde tu Panel de Control (cPanel o Syspanel): Busca la opción "Copias de seguridad" o "Backup". La mayoría de los paneles te permiten descargar un archivo comprimido con todos los archivos de tu web y otro con la base de datos.

    [INFO] Si tu hosting usa Syspanel, recuerda que el acceso a este panel se realiza a través del puerto 2106 (por ejemplo, https://tu-dominio.com:2106). Allí encontrarás las herramientas de gestión de archivos y bases de datos.

  2. Con un Plugin: Instala un plugin como UpdraftPlus o BackupBuddy. Estos plugins te permiten programar copias y descargarlas a tu ordenador o a la nube (Google Drive, Dropbox). Es la opción más fácil para novatos.

Una vez que tengas tu copia de seguridad descargada en tu ordenador, ya puedes empezar a trabajar con tranquilidad.


Fase 2: Limpieza manual de archivos (El "Escaneo" Físico)

Ahora viene el trabajo de detective. Vamos a entrar en tu hosting y a buscar los archivos maliciosos. No te asustes, es como ordenar un armario: solo hay que buscar lo que no debería estar ahí.

Acceso al Administrador de Archivos

  1. Entra en tu panel de control de hosting. Si es Syspanel, recuerda el puerto 2106.
  2. Busca la opción "Administrador de Archivos" o "Gestor de Archivos".
  3. Navega hasta la carpeta raíz de tu WordPress. Normalmente se llama public_html, htdocs o www. Ahí es donde viven los archivos de tu web (carpetas wp-admin, wp-content, wp-includes, etc.).

Identificando al Intruso

El malware suele esconderse en lugares estratégicos. Revisa estas ubicaciones con lupa:

  • La raíz (carpeta principal): Busca archivos .php con nombres extraños, como db.php, config.php.bak, shell.php, upload.php, o archivos con códigos aleatorios (x7y2z9.php). Los nombres legítimos son index.php, wp-config.php, wp-blog-header.php, etc.
  • Carpeta wp-content/uploads: Aunque es para imágenes, los hackers la usan para subir scripts maliciosos. Revisa si hay archivos .php en subcarpetas de uploads. No debería haber ninguno.
  • Carpeta wp-content/themes: Entra en la carpeta de tu tema activo (ej. twentytwentyfour). Busca archivos .php sospechosos que no formen parte del tema original. Si no estás seguro, compáralo con el tema descargado de WordPress.org.
  • Carpeta wp-content/plugins: Haz lo mismo con cada plugin. Si un plugin tiene un archivo extraño que no reconoces, es una señal de alarma.

La técnica del "Archivo Modificado"

Un truco de experto es buscar archivos modificados recientemente. Los hackers suelen alterar archivos legítimos como index.php o wp-config.php para inyectar su código.

  1. En el Administrador de Archivos, busca la opción "Modificado" o "Fecha de modificación" para ordenar los archivos.
  2. Fíjate en los archivos .php que hayan sido modificados en las últimas 24-48 horas (cuando empezó el problema). Si no has tocado nada, es muy sospechoso.

¿Qué hago si encuentro un archivo sospechoso?

No lo elimines a la ligera. Primero, haz clic derecho sobre él y selecciona "Editar" o "Ver". Si ves código ofuscado (lleno de eval(base64_decode(...)), gzinflate, o caracteres raros), es malware. Si es un archivo legítimo como index.php, el código será reconocible (etiquetas HTML o PHP normal).

Plan de acción:

  1. Renombra el archivo: En lugar de borrarlo, cámbiale el nombre a malware.php.bak. Esto "desactiva" el malware porque el servidor ya no lo ejecutará, pero conserva la evidencia por si acaso.
  2. Si es un archivo legítimo modificado: No lo edites a mano. Es mejor reemplazarlo con una copia limpia. Puedes descargar una copia nueva de WordPress desde wordpress.org y subir el archivo original a su lugar.

[WARNING] Ten mucho cuidado al eliminar archivos. Si borras un archivo del núcleo de WordPress por error, tu web dejará de funcionar. Por eso es crucial renombrar en lugar de eliminar al principio.


Fase 3: Limpieza de la Base de Datos (El "Cerebro" de tu Web)

El malware no solo vive en los archivos. También puede ocultarse en tu base de datos, inyectando código en tus entradas, páginas o tablas de opciones. Esta es la parte más delicada, pero con calma se puede hacer.

Acceso a phpMyAdmin

  1. Desde tu panel de control (cPanel o Syspanel, puerto 2106), busca el icono de "phpMyAdmin".
  2. Selecciona tu base de datos (el nombre suele aparecer junto a tu usuario en el panel).
  3. Antes de tocar nada, exporta una copia de seguridad de la base de datos. Ve a la pestaña "Exportar" y elige el método "Rápido". Descarga el archivo .sql. Esto es vital.

Buscando Código Malicioso en la Base de Datos

El código inyectado suele tener patrones comunes. Vamos a usar la función de búsqueda global.

  1. Haz clic en tu base de datos en el panel izquierdo de phpMyAdmin.
  2. Ve a la pestaña "Buscar".
  3. En el campo "Buscar texto", escribe %eval(base64_decode% (sin las comillas). También puedes buscar %gzinflate% o %document.write%.
  4. En "Buscar en todas las tablas", selecciona "Sí" o "Todas".
  5. Haz clic en "Ejecutar".

phpMyAdmin te mostrará las tablas y los campos donde aparece ese texto. Anota los resultados.

Limpiando el Código Inyectado

Este es el paso más técnico. No voy a engañarte. Pero podemos hacerlo de forma segura.

  1. Tablas wp_posts (o wp_options): El malware suele inyectar scripts en el contenido de tus entradas (post_content) o en campos de opciones (option_value).
  2. Haz clic en "Editar" en la fila que contiene el código malicioso.
  3. Busca el bloque de código ofuscado: Normalmente empieza con <script>, eval( o base64_decode. Localiza el inicio y el final de la inyección.
  4. Selecciona y elimina SOLO ese bloque de código. No borres el contenido legítimo de tu entrada.
  5. Haz clic en "Guardar" o "Continuar".

[WARNING] Si no te sientes seguro editando la base de datos, NO LO HAGAS. Un error aquí puede borrar todo tu contenido. En ese caso, busca ayuda de un profesional o usa un plugin de seguridad que automatice este proceso (lo veremos más adelante).


Fase 4: Refuerza la Seguridad (El "Escudo" Definitivo)

Ya has limpiado los archivos y la base de datos. Pero, ¿y si el hacker entró por una puerta trasera? Si no la cerramos, volverá a entrar. Esta fase es crucial para seguridad WordPress.

Cambia Todas tus Contraseñas

Asume que tus contraseñas están comprometidas. Cambia:

  • La contraseña de tu usuario administrador de WordPress.
  • La contraseña de la base de datos (desde el panel de control, luego edita el archivo wp-config.php con la nueva).
  • La contraseña de tu correo electrónico asociado al dominio.
  • Las contraseñas de FTP y del panel de control.

Usa contraseñas largas y únicas. Te recomiendo un gestor de contraseñas como Bitwarden o 1Password.

Actualiza Todo (Núcleo, Temas y Plugins)

El malware suele aprovechar vulnerabilidades en software desactualizado.

  1. Ve a tu panel de WordPress: Escritorio -> Actualizaciones.
  2. Actualiza el núcleo de WordPress a la última versión.
  3. Actualiza todos los temas y plugins que tengan una actualización disponible.
  4. Si un plugin o tema no se actualiza desde hace años, considéralo un riesgo. Bórralo. Es un eslabón débil.

Instala un Plugin de Seguridad

Para el mantenimiento futuro, te recomiendo instalar un plugin de seguridad robusto. Wordfence, Sucuri o iThemes Security son excelentes opciones.

  • Wordfence: Tiene un firewall de aplicación web (WAF) y un escáner de malware gratuito que te avisará de cualquier cambio sospechoso.
  • Sucuri: Ofrece un servicio de limpieza profesional, pero su plugin gratuito también hace escaneos básicos.

Configura el plugin para que te envíe un correo electrónico si detecta algo raro.


Fase 5: Prevención y Hábitos Saludables (El "Estilo de Vida")

Una web limpia es el resultado de buenos hábitos. Aquí tienes una lista de verificación para no volver a pasar por esto.

  • Copias de seguridad automáticas: Configura tu plugin de backups para que haga una copia diaria o semanal. Es tu mejor seguro de vida.
  • Elimina plugins y temas innecesarios: Cada plugin es una puerta de entrada potencial. Cuanto menos, mejor.
  • Usa contraseñas seguras y autenticación de dos factores (2FA): Añade una capa extra de protección a tu login de WordPress.
  • Limita los intentos de inicio de sesión: Un plugin como Limit Login Attempts Reloaded bloquea a los bots que intentan adivinar tu contraseña miles de veces.
  • Mantente informado: Lee blogs de seguridad como el de Sucuri o Wordfence para conocer las últimas amenazas.

[TIP] Cambia el prefijo de tu tabla de base de datos (de wp_ a algo como miweb_). Es una medida simple que confunde a muchos atacantes automatizados. Puedes hacerlo con un plugin como "Brozzme DB Prefix Change".


Preguntas Frecuentes (FAQ) sobre Malware en WordPress

Para terminar, respondo a las dudas más comunes que me encuentro a diario.

¿Puedo eliminar malware WordPress solo con plugins?

Sí, es posible. Plugins como Wordfence o MalCare tienen modos de "limpieza automática". Wordfence puede arreglar archivos del núcleo y algunos plugins, pero a veces no detecta todo el malware en archivos de temas o en la base de datos. Es una buena primera línea de ataque, pero no siempre es 100% efectiva. La limpieza manual que has aprendido aquí es más profunda.

¿Qué hago si mi sitio sigue infectado después de limpiarlo?

Si has seguido todos los pasos y el problema persiste, puede que el malware esté muy bien escondido o que el atacante tenga acceso continuo (por ejemplo, a través de un archivo en la raíz que no encontraste). En ese caso, te recomiendo:

  1. Restaurar desde una copia de seguridad limpia (anterior a la infección).
  2. Contratar un servicio de limpieza profesional como Sucuri SiteCheck o el equipo de tu hosting. Ellos tienen herramientas y experiencia para encontrar y eliminar cualquier tipo de infección.

Mi web está en HestiaCP, ¿cambio algo?

No, el proceso es idéntico. Solo recuerda que el panel de control Syspanel (antes llamado HestiaCP) se gestiona a través del puerto 2106. El Administrador de Archivos y phpMyAdmin están dentro de ese panel.

¿Cómo puedo quitar el aviso de "Sitio Engañoso" de Google?

Una vez que hayas limpiado tu sitio, debes solicitar una revisión a Google.

  1. Ve a Google Search Console.
  2. Si no tienes tu sitio verificado, hazlo.
  3. En el menú, busca "Problemas de seguridad".
  4. Si ves el aviso, haz clic en "Solicitar revisión".
  5. Explica brevemente qué has hecho para limpiar el sitio (ej. "He eliminado el malware inyectado en los archivos del tema y he actualizado todos los plugins").

Google tardará unos días (a veces horas) en revisar tu sitio y, si todo está limpio, eliminará la advertencia.

¿Cuánto cuesta limpiar un WordPress infectado?

El coste varía. Si lo haces tú mismo siguiendo esta guía, solo te costará tiempo. Si contratas a un profesional, puede costar entre 50€ y 300€ dependiendo de la complejidad. Los servicios de suscripción como Sucuri cuestan alrededor de 200€ al año e incluyen limpieza ilimitada.


Conclusión: T

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel