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

Cómo detectar y eliminar malware en WordPress y PrestaShop (paso a paso)

Actualizado el 20 de diciembre de 2025

¿Por qué es urgente actuar cuando detectas malware?

Imagina que un día entras a tu tienda online y todo parece normal. Sin embargo, tus clientes empiezan a quejarse de que el sitio les redirige a páginas raras o que Google les muestra un aviso de "Sitio engañoso". Ese es el momento exacto en el que debes ponerte en marcha. El malware no solo daña tu reputación, sino que también puede robarte datos de clientes, contraseñas y, en el peor de los casos, vaciar tu cuenta bancaria.

La buena noticia es que detectar y eliminar malware en WordPress y PrestaShop es un proceso que puedes seguir paso a paso, incluso si no eres un experto en programación. En esta guía te voy a explicar, con un lenguaje claro y directo, cómo limpiar tu sitio hackeado, qué herramientas usar y cómo evitar que vuelva a ocurrir.

Vamos a ello. Respira hondo, porque aunque parezca abrumador, con método y paciencia lo vas a resolver.


Primera fase: Detección de malware (señales y herramientas)

¿Cómo saber si mi web tiene malware?

A veces el malware es evidente (pantalla roja, mensajes extraños), pero otras veces es un intruso silencioso que trabaja en segundo plano. Estas son las señales más comunes:

  • Avisos de Google Safe Browsing: Al buscar tu dominio en Google, aparece "Este sitio puede haber sido pirateado".
  • Redirecciones inesperadas: Al entrar, te lleva a páginas de casinos, farmacias o contenido para adultos.
  • Rendimiento horrible: Tu web tarda muchísimo en cargar o el servidor se satura sin motivo.
  • Archivos nuevos o modificados: Ves archivos con nombres raros (como s0.php, wp-login.php.bak) en tu hosting.
  • Emails spam enviados desde tu dominio: Tus clientes reciben correos extraños que parecen tuyos.
  • Usuarios administradores desconocidos: En WordPress, aparece un usuario llamado "admin2" que no creaste.
  • Código extraño en el pie de página o en el código fuente: Si haces clic derecho y ves líneas de código encriptado, es una pista clara.

Herramientas gratuitas para detectar malware

Antes de tocar nada, haz un diagnóstico. Estas herramientas te dirán si hay algo raro:

  • Google Safe Browsing: Entra a transparencyreport.google.com/safe-browsing/search e introduce tu URL. Te dirá si el sitio está comprometido.
  • Sucuri SiteCheck: Es una herramienta online gratuita que escanea tu web en busca de malware, redirecciones y listas negras. Solo tienes que poner tu dominio y esperar 30 segundos.
  • VirusTotal: Sube la URL de tu web y te dirá si algún antivirus la ha marcado como peligrosa.
  • Escáner local de tu hosting: En cPanel, busca la opción "Escáner de malware" o "Security" en el panel de seguridad. Muchos hostings incluyen uno básico.

[INFO] Estas herramientas son una primera pasada. No detectan el 100% de las infecciones, pero te dan una pista clara de por dónde empezar.

Revisión manual del código fuente

Si tienes acceso a tu panel de hosting, revisa los archivos principales:

  • En WordPress: Abre wp-config.php, index.php, .htaccess y functions.php del tema activo. Busca líneas con eval(base64_decode(...)), gzinflate, str_rot13 o scripts que no reconozcas.
  • En PrestaShop: Revisa config/settings.inc.php, index.php y los archivos dentro de classes/ o controllers/. Cualquier código ofuscado es sospechoso.

Segunda fase: Preparación antes de limpiar

Haz una copia de seguridad (aunque esté infectada)

Parece contradictorio, pero necesitas una copia de seguridad del sitio tal como está ahora. Esto te servirá para analizar el malware y, si cometes un error, poder restaurar a este punto. Además, es tu prueba forense.

  • Desde tu hosting: Usa la herramienta de copias de seguridad de cPanel o el panel de tu proveedor. Descarga el backup completo (archivos + base de datos).
  • Desde un plugin: En WordPress puedes usar UpdraftPlus o BackWPup. En PrestaShop, busca "Backup" en el menú de parámetros avanzados.

Cambia todas tus contraseñas (sí, todas)

Antes de empezar a limpiar, asume que el hacker tiene tus credenciales. Cambia:

  • La contraseña de tu hosting (FTP, cPanel, Syspanel).
  • La contraseña de la base de datos (MySQL).
  • Las contraseñas de administración de WordPress y PrestaShop.
  • La contraseña del correo electrónico asociado al dominio.

[WARNING] Si usas Syspanel (el panel de control que antes se llamaba HestiaCP), recuerda que el acceso se realiza por el puerto 2106 (por ejemplo, tudominio.com:2106). Cambia la contraseña del usuario administrador de Syspanel y la de las bases de datos desde el propio panel.

Desactiva temporalmente el sitio

Para trabajar con tranquilidad, pon tu web en modo mantenimiento. Así evitas que los visitantes se infecten o que el malware siga actuando.

  • WordPress: Activa un plugin de mantenimiento o añade una página de "En construcción" manualmente.
  • PrestaShop: Ve a Parámetros avanzados > Mantenimiento y activa el modo.

Tercera fase: Eliminar malware en WordPress (paso a paso)

Paso 1: Accede por FTP o por el administrador de archivos

Usa un cliente FTP como FileZilla o el administrador de archivos de tu hosting. Es importante que uses una conexión SFTP (segura) si tu hosting lo permite.

Paso 2: Identifica y elimina archivos sospechosos

  • Ve a wp-content/uploads/ y busca archivos .php en carpetas donde solo debería haber imágenes (.jpg, .png).
  • Revisa wp-content/plugins/ y wp-content/themes/. Si hay archivos que no reconoces, descárgalos a tu ordenador y después elimínalos del servidor.
  • Presta atención a archivos con nombres como wp-cron.php (el original está en la raíz), xmlrpc.php (si no lo usas, puedes eliminarlo), o archivos .ico que contienen código PHP.

Paso 3: Limpia la base de datos

El malware también se esconde en la base de datos. Usa phpMyAdmin (desde tu hosting o Syspanel) y ejecuta estas acciones:

  • Busca tablas con prefijos raros (como wp_ pero con números o letras extra).
  • Revisa las tablas wp_options y wp_posts en busca de scripts inyectados.
  • Si encuentras código sospechoso, puedes usar una consulta SQL para eliminarlo, pero si no te sientes seguro, lo mejor es reemplazar el archivo por una versión limpia del núcleo.

Paso 4: Restaura archivos del núcleo de WordPress

La forma más rápida de limpiar archivos del sistema es reemplazarlos por los originales:

  • Descarga WordPress desde es.wordpress.org (la misma versión que tienes).
  • Descomprime el archivo y sube las carpetas wp-admin y wp-includes completas (sobrescribiendo).
  • Reemplaza wp-config.php por el tuyo (el que está en tu servidor, pero límpialo si tiene código raro).
  • Vuelve a subir los archivos index.php y .htaccess limpios.

Paso 5: Reinstala plugins y temas desde cero

Si un plugin estaba infectado, lo mejor es eliminarlo por completo y volver a instalarlo desde el repositorio oficial. Haz lo mismo con tu tema, pero ojo: si tienes modificaciones personalizadas, guarda los archivos limpios antes de eliminar.

Paso 6: Ejecuta un escáner de seguridad

Una vez limpio, instala un plugin de seguridad como Wordfence o Sucuri Security. Ejecuta un escaneo completo. Si no encuentra nada, tu WordPress está limpio.

[TIP] Wordfence tiene una versión gratuita muy potente. Activa el firewall y el escaneo en tiempo real para prevenir futuras infecciones.


Cuarta fase: Limpiar PrestaShop infectado (paso a paso)

PrestaShop es un poco más complejo porque tiene una estructura de archivos diferente y muchos módulos. Pero no te preocupes, el proceso es similar.

Paso 1: Revisa la versión y los archivos núcleo

  • Ve a Parámetros avanzados > Información. Comprueba que tu versión de PrestaShop coincide con la que tienes descargada.
  • Descarga la misma versión desde prestashop-project.org y compara los archivos de classes/, controllers/ y config/ con los de tu servidor. Si hay diferencias, reemplázalos por los originales.

Paso 2: Analiza la carpeta modules/

El malware en PrestaShop suele esconderse en módulos. Busca módulos que no hayas instalado tú o que tengan nombres genéricos como payment, shipping o stats.

  • Desactiva los módulos sospechosos desde el administrador.
  • Elimina la carpeta del módulo desde FTP.
  • Si necesitas el módulo, descárgalo de nuevo desde tu cuenta de PrestaShop Addons.

Paso 3: Limpia la base de datos de PrestaShop

Usa phpMyAdmin y revisa las tablas ps_connections o ps_links. También busca en ps_configuration valores que contengan URLs extrañas.

  • Ejecuta consultas para eliminar registros sospechosos, pero si no estás seguro, exporta la base de datos y haz una copia de seguridad antes.

Paso 4: Revisa el archivo .htaccess

PrestaShop genera un .htaccess en la raíz. Si está infectado, verás líneas de redirección o código ofuscado. Elimínalo y regenéralo desde el panel de administración (Parámetros avanzados > Rendimiento > Generar .htaccess).

Paso 5: Actualiza todo

Una vez limpio, actualiza PrestaShop a la última versión, así como todos los módulos y el tema. Las versiones antiguas tienen vulnerabilidades conocidas que los hackers explotan.


Quinta fase: Refuerza la seguridad para evitar futuros ataques

Limpiar el sitio es solo la mitad del trabajo. La otra mitad es blindarlo para que no vuelva a pasar.

Medidas básicas de seguridad

  • Cambia tu usuario administrador: No uses "admin" como nombre de usuario. Crea uno único.
  • Usa contraseñas robustas: Mínimo 12 caracteres, con mayúsculas, números y símbolos. Usa un gestor de contraseñas.
  • Activa la autenticación en dos pasos (2FA): Tanto en WordPress como en PrestaShop hay plugins y módulos para esto.
  • Limita los intentos de inicio de sesión: Instala un plugin que bloquee la IP después de 3 o 5 intentos fallidos.
  • Actualiza siempre: WordPress, PrestaShop, plugins, temas... todo. Las actualizaciones corrigen agujeros de seguridad.

Seguridad a nivel de servidor

  • Activa SSL/HTTPS: Si no lo tienes, actívalo. Es básico.
  • Configura un firewall: Un plugin como Wordfence o un firewall a nivel de servidor (como ModSecurity) bloquea ataques comunes.
  • Desactiva la ejecución de PHP en carpetas de uploads: Puedes añadir una línea en .htaccess para evitar que se ejecuten archivos PHP en wp-content/uploads/ o en la carpeta de imágenes de PrestaShop.

[TIP] Si tu hosting usa Syspanel, revisa la sección de seguridad del panel. Ahí puedes gestionar certificados SSL, políticas de contraseñas y permisos de archivos de forma visual, todo accesible desde el puerto 2106.

Copias de seguridad automáticas

Configura copias de seguridad diarias o semanales automáticas. Así, si algo vuelve a pasar, restauras en minutos sin perder datos importantes.


Preguntas frecuentes (FAQ)

¿Cuánto tarda en limpiarse un sitio hackeado?

Depende del nivel de infección. Si es un archivo suelto, puedes tardar 1-2 horas. Si el malware está muy extendido, puede llevarte un día completo. Lo importante es hacerlo con calma y no saltarte pasos.

¿Puedo limpiar el malware sin acceso FTP?

No es recomendable. Necesitas acceso a los archivos y a la base de datos. Si no tienes FTP, usa el administrador de archivos de tu hosting o pide ayuda a tu proveedor.

¿Qué hago si Google ya me ha penalizado?

Después de limpiar, solicita una revisión en Google Search Console. Ve a "Problemas de seguridad" y pide la revisión. Google tardará unos días en responder, pero una vez limpio, te quitará el aviso.

¿Debo contratar un servicio profesional?

Si el malware es muy sofisticado o no te sientes cómodo, sí. Servicios como Sucuri o SiteGround Security ofrecen limpieza profesional por un precio razonable. A veces, pagar es más barato que perder clientes.

¿Cómo sé que mi web está limpia al 100%?

Después de la limpieza, ejecuta dos escáneres distintos (por ejemplo, Wordfence + Sucuri SiteCheck). Si ambos dan negativo, y el sitio carga rápido y sin redirecciones, es muy probable que esté limpio.


Conclusión: La seguridad es un hábito, no una acción puntual

Eliminar malware en WordPress o limpiar PrestaShop infectado es un proceso que requiere paciencia, pero que está al alcance de cualquiera con un poco de método. La clave está en detectar rápido, actuar con calma y reforzar la seguridad después.

Recuerda: el 90% de las infecciones ocurren por descuidos simples, como contraseñas débiles o plugins desactualizados. Dedica 30 minutos al mes a revisar tu sitio, a actualizar todo y a hacer copias de seguridad. Esa pequeña rutina te ahorrará dolores de cabeza enormes.

Y si en algún momento te sientes perdido, vuelve a esta guía. Está pensada para que la sigas paso a paso, sin prisas, y con la confianza de que estás haciendo lo correcto para proteger tu negocio y a tus clientes.

Tu web es tu escaparate al mundo. Cuídala como se merece.

¿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