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

Cómo detectar y eliminar malware en WordPress usando cPanel

Actualizado el 17 de febrero de 2026

Primero: Entiende qué estás buscando (y por qué tu web va lenta)

Si has llegado hasta aquí, probablemente ya sospechas que algo raro pasa en tu web. Tal vez carga muy lento, aparece un mensaje extraño en Google, o tus visitantes te avisan de que ven anuncios raros que tú no has puesto. Tranquilo, respira. Es más común de lo que parece, y lo bueno es que tiene solución.

Detectar y eliminar malware en WordPress es un proceso que, con la guía adecuada y usando cPanel, puedes hacer tú mismo sin necesidad de ser un hacker. Lo importante es seguir los pasos con calma y método, porque el malware suele esconderse muy bien.

Antes de empezar a tocar nada, es crucial que entiendas una cosa: el malware no siempre se ve a simple vista. No esperes encontrar un archivo llamado virus.php en tu hosting. Los atacantes son listos, usan nombres que parecen legítimos, códigos ofuscados y se esconden en lugares donde nadie mira. Por eso, el proceso de detectar malware requiere que revises, analices y limpies de forma sistemática.


Paso 1: Haz una copia de seguridad ANTES de tocar nada

Esta regla es de oro. Imprímela, grábala en piedra, haz lo que quieras, pero nunca intentes limpiar un WordPress infectado sin una copia de seguridad reciente. ¿Por qué? Porque es muy fácil que, al eliminar archivos maliciosos, borres algo importante por error. Y si la web se rompe, necesitarás poder volver a un estado anterior.

En cPanel, tienes varias opciones para hacer backups:

  • Backup completo desde cPanel: Ve a la sección "Archivos" y busca "Backup" o "Copias de seguridad". Puedes descargar un backup completo de tu cuenta, que incluye archivos, bases de datos y configuraciones de correo.
  • Backup desde el administrador de archivos: Si tu hosting no tiene la opción de backup automático, puedes comprimir la carpeta public_html en un archivo ZIP desde el "Administrador de Archivos" y descargarlo. También exporta tu base de datos desde phpMyAdmin, porque el malware también se puede esconder en las tablas de WordPress.

Una buena práctica es guardar la copia en tu ordenador y, si puedes, en un servicio de almacenamiento en la nube. Así tienes doble seguridad.

[WARNING] No confíes solo en los backups automáticos de tu hosting. Si el malware lleva días ahí, es posible que las copias de seguridad automáticas también estén infectadas. Haz una copia manual justo antes de empezar la limpieza.


Paso 2: Identifica los síntomas de una web infectada (detectar malware)

Para detectar malware de forma efectiva, tienes que saber qué señales delatan una infección. Estos son los síntomas más comunes:

  • La web carga muy lenta sin razón aparente. El malware suele consumir recursos del servidor para enviar spam o minar criptomonedas.
  • Aparecen anuncios o pop-ups que tú no has configurado.
  • Google te marca la web como "peligrosa" o "engaño" en los resultados de búsqueda.
  • El sitio redirige a otras páginas extrañas, especialmente desde móviles.
  • Hay archivos nuevos en tu servidor que no has subido tú. En cPanel, revisa las fechas de modificación en el Administrador de Archivos.
  • Usuarios administradores desconocidos aparecen en tu panel de WordPress.
  • El contenido de tu web aparece modificado o se inyectan enlaces ocultos (esto se llama "SEO Spam").

Si tienes uno o varios de estos síntomas, es muy probable que tu WordPress esté comprometido. No te asustes, vamos a por ello.


Paso 3: Herramientas para detectar malware en WordPress

Antes de entrar en cPanel a mancharte las manos, puedes usar herramientas automáticas que te ayuden a localizar el problema. Son un buen punto de partida, aunque no son infalibles.

Escáneres de seguridad online

  • Sucuri SiteCheck: Es gratuito y analiza tu web en busca de malware, listas negras y problemas de seguridad. Te dará una idea rápida del estado de tu sitio.
  • Quttera Web Scanner: Otra opción online gratuita que escanea en busca de código malicioso.
  • Google Safe Browsing: Escribe https://transparencyreport.google.com/safe-browsing/search y pon tu dominio. Te dirá si Google ha detectado algo.

Plugins de seguridad para WordPress

Si aún puedes acceder a tu panel de administración de WordPress, instala un plugin de seguridad que te ayude a escanear el sitio. Algunos muy buenos:

  • Wordfence: Es el más popular. Tiene un firewall y un escáner de malware muy completo. La versión gratuita es suficiente para empezar.
  • Sucuri Scanner: La versión gratuita escanea tu web en busca de archivos modificados, malware y otros problemas.

[TIP] Si no puedes acceder a tu panel de WordPress porque la web está caída o te redirige, no pasa nada. Los pasos que te explicamos a continuación los harás desde cPanel, que es el panel de control de tu hosting, y no depende de WordPress.


Paso 4: Entra en cPanel y explora el Administrador de Archivos

Ahora sí, vamos a la acción. Accede a tu cPanel. Normalmente es una URL del tipo tudominio.com/cpanel o tudominio.com:2083. Si no lo sabes, contacta con tu proveedor de hosting.

Una vez dentro, busca la sección "Archivos" y haz clic en "Administrador de Archivos". Se abrirá una ventana que te mostrará la estructura de archivos de tu hosting.

¿Qué carpetas te interesan?

  • public_html (o www): Es la carpeta principal donde se instala WordPress. Es el objetivo número uno del malware.
  • wp-content: Dentro de public_html, esta carpeta contiene tus temas y plugins. Es el escondite favorito del malware.
  • wp-includes y wp-admin: Son las carpetas del núcleo de WordPress. El malware también puede colarse aquí, aunque es menos común.

Configura el Administrador de Archivos para verlo todo

En la esquina superior derecha, haz clic en "Configuración" y marca la opción "Mostrar archivos ocultos". Muchos archivos maliciosos comienzan con un punto (por ejemplo, .htaccess o .user.ini) y están ocultos por defecto. Necesitas verlos para poder limpiarlos.

[INFO] El archivo .htaccess es un archivo de configuración muy importante en servidores Apache. El malware suele inyectar código malicioso en él para redirigir tráfico. Lo revisaremos en detalle más adelante.


Paso 5: Busca archivos maliciosos manualmente (detección avanzada)

Ahora que tienes el Administrador de Archivos abierto, empieza la búsqueda. No te agobies, es un proceso meticuloso pero no imposible.

5.1. Revisa los archivos modificados recientemente

En la esquina superior derecha, haz clic en "Configuración" y en la pestaña "Preferencias" podrás ordenar los archivos por "Tipo" o por "Última modificación". Ordena por fecha de modificación y busca archivos que se hayan modificado en fechas sospechosas (por ejemplo, el día que empezaste a notar problemas).

5.2. Archivos PHP con nombres extraños

El malware suele crear archivos PHP con nombres aleatorios o que imitan a otros. Busca en public_html y en wp-content archivos como:

  • wp-config.php.bak (esto es una copia de seguridad, pero si no la has creado tú, es sospechoso).
  • index.php en carpetas donde no debería estar (por ejemplo, en wp-content/uploads).
  • Archivos con nombres como o.php, x.php, tmp.php, shell.php, c99.php, r57.php. Estos son nombres típicos de shells o backdoors.
  • Archivos con doble extensión: imagen.jpg.php o archivo.png.php. Son un clásico.

5.3. Busca código ofuscado

Abre algunos archivos PHP que te parezcan sospechosos. Busca líneas muy largas con código codificado, que parece una sopa de letras. Si encuentras algo como eval(gzinflate(base64_decode(...))), str_rot13, base64_decode con cadenas muy largas, es muy probable que sea malware.

  • eval(): Ejecuta código arbitrario. Si aparece en archivos que no son de plugins conocidos, es señal de alarma.
  • base64_decode: Decodifica datos. Es normal en algunos plugins, pero si está en un archivo extraño, es sospechoso.
  • gzinflate: Descomprime datos. Otra técnica de ofuscación.

[WARNING] No borres archivos basándote solo en una sospecha. Primero, busca en Google el nombre del archivo o una parte del código para confirmar si es malware conocido. Si tienes dudas, no lo borres, pero sí puedes renombrarlo (por ejemplo, de archivo.php a archivo.php.bak) para desactivarlo temporalmente y ver si la web se comporta mejor.


Paso 6: Limpia el malware de forma sistemática (eliminar malware WordPress)

Ahora viene la parte de eliminar malware WordPress. Vamos a hacerlo por capas, de lo más externo a lo más interno.

6.1. Limpia el archivo .htaccess

Este archivo es un imán para el malware. Para limpiarlo:

  • Desde el Administrador de Archivos, navega a public_html y busca el archivo .htaccess. Si no lo ves, activa la opción "Mostrar archivos ocultos" en Configuración.
  • Haz clic derecho sobre él y selecciona "Editar". Se abrirá un editor de texto.
  • Busca cualquier línea que no entiendas, especialmente al principio o al final del archivo. El malware suele añadir reglas de redirección o código PHP.
  • Si el archivo tiene mucho código sospechoso, lo más seguro es reemplazarlo por uno limpio. Un .htaccess estándar de WordPress se ve así:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
  • Guarda los cambios y prueba tu web.

[TIP] Si tu web usa plugins de caché o seguridad, es posible que añadan reglas al .htaccess. No borres todo el archivo sin más, solo elimina las líneas que no reconozcas y que estén claramente relacionadas con redirecciones o código PHP.

6.2. Limpia el wp-config.php

Este es el archivo de configuración principal de WordPress. El malware también puede inyectar código aquí.

  • Ábrelo desde el Administrador de Archivos.
  • Busca código sospechoso justo después de <?php o al final del archivo.
  • Si encuentras algo raro, elimínalo. Un wp-config.php limpio no debería tener nada más que las definiciones de la base de datos, las claves de seguridad y las constantes de configuración.

6.3. Reinstala el núcleo de WordPress

Esta es una de las formas más efectivas de eliminar malware del núcleo. El núcleo de WordPress son los archivos de las carpetas wp-admin, wp-includes y algunos archivos en la raíz (index.php, wp-blog-header.php, etc.).

  • Ve a public_html y elimina las carpetas wp-admin y wp-includes por completo. No te preocupes, no perderás tu contenido ni tus plugins, porque esos están en wp-content.
  • Descarga la última versión de WordPress desde es.wordpress.org.
  • Descomprime el ZIP en tu ordenador.
  • Sube las carpetas wp-admin y wp-includes que acabas de descomprimir a tu public_html usando el Administrador de Archivos o un cliente FTP como FileZilla.
  • También sube los archivos de la raíz, pero NO sobrescribas wp-config.php ni wp-content. Pregunta si quieres sobrescribir y di que "No" o "Saltar" para esos archivos.

6.4. Limpia temas y plugins

El malware se esconde con frecuencia dentro de los archivos de temas y plugins. La forma más segura de limpiarlos es:

  • Desde el panel de WordPress (si puedes acceder), ve a Apariencia -> Temas y Plugins.
  • Anota qué temas y plugins tienes instalados.
  • Desde cPanel, navega a public_html/wp-content/themes y public_html/wp-content/plugins.
  • Elimina por completo los temas y plugins que no uses. Son un lastre para la seguridad.
  • Para los que uses, la mejor opción es descargarlos de nuevo desde el repositorio de WordPress e instalarlos de nuevo. Puedes hacerlo desde el panel de WordPress: elimina el plugin o tema (no te preocupes, no pierdes la configuración, solo los archivos) y vuelve a instalarlo.

[INFO] Si un plugin o tema está infectado, incluso si lo "limpias", es posible que el atacante haya dejado una puerta trasera. La opción más segura es eliminarlo por completo y reinstalarlo desde cero.


Paso 7: Limpia la base de datos

El malware no solo se esconde en archivos, también puede estar en tu base de datos. Es menos común, pero ocurre. Para limpiarla:

  • Ve a cPanel y busca "phpMyAdmin" dentro de la sección "Bases de datos".
  • Selecciona tu base de datos de WordPress.
  • Haz clic en la pestaña "Buscar" (o "Search").
  • Busca términos como eval(base64, gzinflate, <script (si no es de tu tema), o URLs sospechosas como http://spam.com o http://viagra.com.
  • Si encuentras resultados, revisa las tablas y filas afectadas. Puedes editar los campos directamente y eliminar el código malicioso, o si es una tabla completa de spam (como wp_options con entradas extrañas), puedes borrar las filas.

[WARNING] Tener acceso a phpMyAdmin y tocar la base de datos sin saber lo que haces puede romper tu web. Si no te sientes seguro, busca ayuda profesional o usa un plugin de seguridad que haga una limpieza de base de datos.


Paso 8: Cambia todas tus contraseñas (sí, todas)

Una vez que hayas eliminado el malware, es fundamental cambiar todas las contraseñas. El atacante podría haber dejado una puerta trasera con las credenciales antiguas.

  • Contraseña de cPanel: Cámbiala desde la sección "Preferencias" o "Seguridad" de cPanel.
  • Contraseña de WordPress: Cámbiala desde el panel de administración en Usuarios -> Tu perfil.
  • Contraseña de la base de datos: Cámbiala desde cPanel en "Bases de datos MySQL". Si la cambias, deberás actualizar el archivo wp-config.php con la nueva contraseña.
  • Contraseña de FTP: Si usas FTP, cámbiala también.

[TIP] Usa un gestor de contraseñas para crear y almacenar contraseñas fuertes y únicas. No uses la misma contraseña para todo.


Paso 9: Refuerza la seguridad de WordPress (seguridad WordPress)

Prevenir es mejor que curar. Después de la limpieza, es vital que implementes medidas de seguridad para que no te vuelva a pasar.

Medidas básicas de seguridad WordPress

  • Mantén todo actualizado: WordPress, temas y plugins siempre en su última versión.
  • Elimina lo que no uses: Temas y plugins inactivos son puertas de entrada.
  • Cambia el prefijo de la base de datos: Por defecto es wp_, lo que facilita los ataques de inyección SQL. Puedes cambiarlo con plugins o manualmente, pero es un paso avanzado.
  • Limita los intentos de inicio de sesión: Usa un plugin como "Limit Login Attempts Reloaded" para bloquear ataques de fuerza br

¿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