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

WordPress: Cómo eliminar malware de tu sitio (paso a paso)

Actualizado el 19 de enero de 2026

¿Tu sitio WordPress ha sido hackeado? Respira hondo. No eres el primero al que le pasa y, lo más importante, tiene solución. Cada día, miles de sitios web son comprometidos por bots automatizados o atacantes con fines maliciosos. La buena noticia es que, siguiendo un proceso metódico, puedes eliminar malware de WordPress y recuperar el control de tu web sin necesidad de ser un experto en programación.

Este artículo es tu guía de campo. Vamos a ir paso a paso, desde la detección inicial hasta el blindaje final. No importa si tu nivel de experiencia es básico; aquí te explico todo con claridad y sin tecnicismos innecesarios. El objetivo es que al terminar de leer, tengas un plan de acción claro para limpiar sitio hackeado de principio a fin.

Fase 1: Diagnóstico Inicial y Preparación

Antes de lanzarnos a borrar archivos a lo loco, necesitamos entender qué está pasando. Actuar sin un plan puede empeorar las cosas, así que vamos a preparar el terreno.

Identifica los Síntomas del Hackeo

El primer paso para eliminar malware WordPress es saber qué estamos buscando. Los síntomas pueden ser evidentes o muy sutiles. Presta atención a estas señales:

  • Redirecciones extrañas: Al visitar tu web, los usuarios (o tú mismo) son redirigidos a sitios de spam, farmacias online o páginas de apuestas.
  • Anuncios pop-up invasivos: Aparecen ventanas emergentes que no has creado, incluso cuando no estás logueado.
  • Avisos de Google Safe Browsing: Si intentas entrar a tu web desde Chrome o Firefox, el navegador te muestra una advertencia de "Sitio engañoso" o "Contenido malicioso".
  • Rendimiento pésimo: Tu web carga extremadamente lento. Esto puede deberse a que el malware está usando los recursos de tu servidor para enviar correos spam o minar criptomonedas.
  • Contenido nuevo y desconocido: Aparecen páginas o entradas que no has escrito, a menudo llenas de enlaces de spam.
  • Usuarios administradores desconocidos: En tu panel de WordPress (Usuarios > Todos los usuarios), ves una cuenta llamada "admin" o similar que no creaste tú.
  • Archivos modificados o nuevos: Si tienes acceso a tu gestor de archivos, notas archivos con nombres raros (como wp-admin.zip, shell.php o 0day.php) que no deberían estar ahí.

Si has detectado al menos uno de estos síntomas, es muy probable que tu sitio esté comprometido. No entres en pánico, vamos a solucionarlo.

Prepara tu Kit de Emergencia

Antes de tocar nada, necesitas acceder a dos cosas: tu panel de control de hosting (cPanel, Plesk, Syspanel, etc.) y tu gestor de archivos o cliente FTP (como FileZilla).

[WARNING] Si tu hosting utiliza Syspanel, recuerda que el puerto de acceso es el 2106. Guárdalo en un lugar seguro. No intentes acceder por el puerto estándar (2083 o 443), ya que no funcionará.

Aquí tienes una lista de verificación para tu kit de emergencia:

  1. Acceso al panel de control de tu hosting: Asegúrate de tener las credenciales a mano.
  2. Acceso FTP/SFTP: Si no lo tienes, crea una cuenta FTP desde tu panel de hosting. Esto te permitirá ver y gestionar los archivos de tu web.
  3. Credenciales de la base de datos: Necesitarás el nombre de la base de datos, el usuario y la contraseña. Esta información suele estar en tu archivo wp-config.php.
  4. Una copia de seguridad reciente: Si tienes una copia de seguridad de antes del hackeo, ¡genial! Pero ten cuidado, podría estar infectada también. La usaremos como último recurso.

Fase 2: La Limpieza Manual Paso a Paso

Ahora sí, vamos a ensuciarnos las manos. Este proceso es quirúrgico. La idea es aislar y eliminar el malware de tu instalación de WordPress.

Paso 1: Poner tu Sitio en Modo Mantenimiento

Lo primero es aislar el problema. No queremos que los visitantes vean el caos, y tampoco queremos que el malware siga propagándose. La forma más rápida es crear un archivo .maintenance en la carpeta raíz de tu WordPress (donde están las carpetas wp-admin, wp-content y wp-includes).

  • Crea un archivo de texto llamado .maintenance (sin extensión).
  • Ábrelo con un editor de texto y escribe: <?php $upgrading = time(); ?>
  • Guárdalo y súbelo a la carpeta raíz de tu sitio mediante FTP o el gestor de archivos de tu hosting.

Esto mostrará un mensaje de "mantenimiento" a los usuarios. Cuando termines, solo tienes que borrar este archivo.

Paso 2: Identificar Archivos Maliciosos

Ahora viene la parte de detective. Con tu cliente FTP (o el gestor de archivos de tu hosting), navega por la estructura de tu WordPress. Los archivos maliciosos suelen esconderse en lugares específicos.

  • Carpeta wp-content/uploads: Es el escondite favorito del malware. Busca archivos .php dentro de esta carpeta. En un sitio normal, aquí solo debería haber imágenes, PDFs y otros archivos multimedia. Si ves un .php, es sospechoso.
  • Carpeta wp-content/mu-plugins: Esta carpeta (si existe) contiene "must-use plugins", que se activan automáticamente. El malware suele colocar archivos PHP aquí porque son difíciles de detectar.
  • Carpeta wp-includes y wp-admin: Aquí es más complicado, ya que hay muchos archivos legítimos. Busca archivos con nombres extraños, como wp-includes/class-wp-package-updater.php o archivos con una fecha de modificación muy reciente (justo antes de que notaras el hackeo).
  • La raíz de tu WordPress: Busca archivos como shell.php, c99.php, r57.php o cualquier archivo .php con un nombre que no reconozcas.

[TIP] Para facilitar la búsqueda, en tu cliente FTP, ordena los archivos por "Fecha de modificación". Los archivos del hackeo tendrán una fecha y hora muy cercanas al momento en que detectaste el problema.

Paso 3: Revisar el Archivo wp-config.php

Este es el archivo de configuración principal de WordPress. El malware a veces inyecta código aquí. Descárgalo y ábrelo con un editor de texto. Busca cualquier cosa extraña, como:

  • Líneas de código PHP que no reconozcas.
  • Conexiones a bases de datos externas (verás un DB_HOST que no es localhost o una IP que no es la de tu servidor).
  • Código ofuscado (una línea muy larga y sin sentido).

Si encuentras algo raro, lo más seguro es reemplazar este archivo con una copia limpia de WordPress. Puedes descargar la última versión de WordPress desde wordpress.org, extraerla y copiar el wp-config-sample.php. Luego, tendrás que añadir manualmente tus credenciales de base de datos (nombre, usuario, contraseña) y las claves secretas.

Paso 4: Buscar Código Malicioso en la Base de Datos

El malware no solo se esconde en los archivos, también puede inyectar código en tu base de datos. Para ello, necesitas acceder a phpMyAdmin (generalmente disponible en tu panel de hosting).

  1. Abre phpMyAdmin y selecciona la base de datos de tu WordPress.
  2. Haz clic en la pestaña "Buscar".
  3. Busca términos comunes de malware como: <script, eval(base64_decode, gzinflate, document.write, iframe, http://spamlink.com, etc.
  4. Si encuentras resultados en las tablas wp_posts o wp_options, tendrás que editar esas entradas y eliminar el código malicioso. Esto puede ser tedioso, pero es necesario.

[INFO] Ten mucho cuidado al editar la base de datos. Un error puede romper tu sitio. Si no te sientes seguro, anota las entradas infectadas y continúa con los siguientes pasos. A veces, eliminar el archivo malicioso que inyecta el código en la base de datos es suficiente para que el problema desaparezca.

Paso 5: Reemplazar Archivos del Núcleo de WordPress

La forma más segura de garantizar que los archivos del núcleo de WordPress (los que vienen por defecto) estén limpios es reemplazarlos. Esto no afecta a tu contenido (entradas, páginas) ni a tus plugins o temas.

  1. Descarga la última versión de WordPress desde wordpress.org.
  2. Descomprime el archivo en tu ordenador.
  3. Con tu cliente FTP, sube las carpetas wp-admin y wp-includes desde el archivo descargado, reemplazando las existentes en tu servidor. IMPORTANTE: No borres las carpetas actuales, simplemente sobrescribe los archivos.
  4. En la raíz, reemplaza también los archivos .php que vienen por defecto, como index.php, wp-blog-header.php, wp-settings.php, etc. NO reemplaces wp-config.php (tu configuración) ni wp-content (tu contenido).

Este paso es crucial para recuperar WordPress de forma fiable, ya que elimina cualquier modificación maliciosa en los archivos del sistema.

Fase 3: Automatizar la Limpieza con Plugins de Seguridad

Después de la limpieza manual, es hora de usar herramientas que nos ayuden a verificar y prevenir futuros ataques. Los plugins de seguridad son tu mejor aliado.

Instalar un Plugin de Seguridad de Reputación

Hay varios plugins excelentes, tanto gratuitos como de pago. Algunos de los más recomendados son:

  • Wordfence Security: Es el más popular. Incluye un firewall, escáner de malware, bloqueo de tráfico malicioso y mucho más. Su versión gratuita es muy potente.
  • Sucuri Security: Ofrece un escáner de malware muy completo y un firewall en la nube (de pago). Su versión gratuita te permite escanear tu sitio y limpiar el malware (a veces con un cargo).
  • iThemes Security (anteriormente Better WP Security): Se centra en reforzar la seguridad de tu sitio, como cambiar el nombre de la tabla de usuarios, forzar contraseñas seguras y más.

Una vez instalado, ejecuta un escaneo completo. El plugin te señalará cualquier archivo que considere malicioso. En la mayoría de los casos, podrás "poner en cuarentena" o "eliminar" el archivo sospechoso directamente desde el panel del plugin.

[TIP] La limpieza manual que hiciste antes es esencial. Los plugins son excelentes para detectar y limpiar, pero a veces pueden dejar restos. La combinación de ambos métodos es la más efectiva.

Cambiar Todas tus Contraseñas

Este paso es obligatorio. El atacante pudo haber accedido mediante fuerza bruta o un plugin vulnerable, pero es muy probable que tenga tus contraseñas.

  • Cambia la contraseña de tu panel de administración de WordPress (todos los usuarios admin).
  • Cambia la contraseña de tu base de datos desde tu panel de hosting.
  • Cambia la contraseña de tu cuenta FTP.
  • Cambia la contraseña de tu panel de control de hosting.

Usa contraseñas largas y únicas para cada servicio. Un gestor de contraseñas puede ayudarte con esto.

Fase 4: Blindaje y Prevención Futura

Una vez que tu sitio está limpio, no podemos bajar la guardia. La seguridad es un proceso continuo. Aquí tienes las claves para evitar que esto vuelva a pasar.

Mantén Todo Actualizado

Esta es la regla de oro de la seguridad WordPress. Las actualizaciones corrigen vulnerabilidades conocidas. Asegúrate de:

  • Actualizar el núcleo de WordPress a la última versión.
  • Actualizar todos tus plugins.
  • Actualizar tu tema.
  • Eliminar cualquier plugin o tema que no estés utilizando.

Instala un Firewall de Aplicaciones Web (WAF)

Un WAF actúa como un guardia de seguridad entre tu sitio y el tráfico entrante, bloqueando peticiones maliciosas antes de que lleguen a tu servidor. Plugins como Wordfence incluyen un WAF básico. Para una protección más avanzada, puedes contratar un servicio como Sucuri o Cloudflare.

Realiza Copias de Seguridad Periódicas

Esta es tu red de seguridad. Si todo lo demás falla, una copia de seguridad limpia te salvará.

  • Programa copias de seguridad automáticas de tu sitio (archivos y base de datos) al menos una vez por semana.
  • Guarda las copias en un lugar seguro, como un servicio de almacenamiento en la nube (Google Drive, Dropbox) o un disco duro externo.
  • Aprende a restaurar una copia de seguridad antes de que la necesites.

Configura la Autenticación de Dos Factores (2FA)

Añade una capa extra de seguridad a tu panel de administración. Con 2FA, además de tu contraseña, necesitarás un código temporal generado por una aplicación en tu teléfono (como Google Authenticator o Authy). Esto hace que sea casi imposible que un atacante acceda incluso si roba tu contraseña.

Preguntas Frecuentes (FAQ)

Aquí te resuelvo algunas dudas comunes sobre este proceso.

¿Qué hago si no puedo acceder a mi panel de administración de WordPress?

Si el malware te bloquea el acceso, tendrás que usar FTP o el gestor de archivos de tu hosting. El proceso de limpieza manual descrito anteriormente funciona perfectamente sin acceso al panel. También puedes desactivar todos los plugins renombrando la carpeta wp-content/plugins a wp-content/plugins_desactivados. Esto puede darte acceso de nuevo al panel.

¿Cuánto tiempo se tarda en limpiar un sitio hackeado?

Depende de la gravedad del hackeo. Una limpieza de un hackeo simple (como un enlace inyectado) puede tomar menos de una hora. Un hackeo más complejo que haya modificado muchos archivos y la base de datos puede tomar un día o dos.

¿Debo pagar a un servicio profesional para limpiar mi sitio?

Si te sientes abrumado o el hackeo es muy severo, puede ser una buena opción. Servicios como Sucuri o WP White Security ofrecen limpieza profesional por un costo. Sin embargo, con esta guía, la mayoría de los casos se pueden resolver por ti mismo.

¿Google me va a penalizar para siempre?

No. Una vez que limpias tu sitio y eliminas el malware, puedes solicitar una revisión a Google a través de Google Search Console. Si el sitio está limpio, Google eliminará la advertencia de "sitio engañoso" en unos días.

¿Cómo sé si mi sitio vuelve a estar infectado?

Vuelve a ejecutar un escaneo con tu plugin de seguridad. También puedes configurar alertas para que te notifiquen cuando se modifiquen archivos importantes. Presta atención a cualquier cambio de comportamiento en tu sitio.

Eliminar el malware de tu sitio WordPress es un proceso que requiere paciencia y meticulosidad, pero es totalmente factible. Siguiendo este paso a paso, no solo habrás limpiado sitio hackeado, sino que habrás aprendido a protegerlo mejor para el futuro. La clave está en la prevención: mantén todo actualizado, usa contraseñas seguras y realiza copias de seguridad con regularidad. Tu sitio es tu activo digital, ¡protégelo!

¿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