⚡ Hazlo tú, o déjanos hacerlo por ti.

EMPEZAR AQUÍ

Tienda WooCommerce Hackeada: Guía para Recuperarla

Guía de Recuperación

Son las 11 de la noche. Entras a tu tienda para revisar un pedido y algo no cuadra: Google Search Console te muestra una caída de tráfico del 80% en tres días, o peor, un cliente te escribe preguntando por qué tu página lo redirigió a un sitio de apuestas. Si estás leyendo esto, probablemente ya estás en ese momento. Respira. Se puede resolver, y en esta guía te llevo paso a paso por el mismo proceso que seguimos cuando una tienda llega a nosotros en ese estado.

📌 Resumen rápido

Si tu tienda WooCommerce fue hackeada, primero aíslala y haz backup, luego identifica el vector de ataque (casi siempre un plugin o tema pirata), limpia el malware revisando archivos y base de datos, cambia todas las credenciales y repórtalo a Google si hubo cloaking SEO. El error más común no es el hackeo en sí, sino limpiar solo WordPress y dejar el servidor comprometido, lo que causa reinfección en días.

+4h Lo que puede tomar hallar un skimmer en el checkout
7 Pasos para recuperar tu tienda sin perder datos
2+ Señales que confirman un hackeo real

Antes de empezar: si tu tienda está recibiendo pedidos activamente ahora mismo y no tienes backup reciente, prioriza el Paso 1 (aislar y respaldar) antes de leer el resto. Todo lo demás puede esperar cinco minutos, eso no.

¿Por qué le pasó justo a tu tienda?

Es la primera pregunta que casi todo dueño de tienda se hace, y la respuesta casi nunca es tan personal como parece. WordPress mueve una porción enorme de las tiendas online del mundo, y WooCommerce es el plugin de ecommerce más usado sobre WordPress. Eso significa que no te atacaron a ti específicamente: los bots que buscan vulnerabilidades escanean millones de sitios de forma automática, buscando la combinación exacta de «plugin desactualizado + puerta abierta» sin importar de quién es la tienda. Entender esto es importante porque cambia la pregunta de «¿qué hice mal?» a «¿qué puerta quedó abierta?», que es la que realmente te va a ayudar a resolverlo.

Las tres puertas más comunes, en orden de frecuencia real:

  1. Plugins o temas «nulled» (versiones pirata de productos premium descargadas fuera del repositorio oficial). Suelen traer una puerta trasera incluida desde el día en que los descargaste, no es que se infecten después.
  2. Plugins legítimos sin actualizar con una vulnerabilidad ya conocida y publicada. Cuando una vulnerabilidad se hace pública, los ataques automatizados contra sitios que no actualizaron empiezan en cuestión de horas.
  3. Contraseñas débiles o reutilizadas en el panel de WordPress, el hosting o el FTP, vulnerables a ataques de fuerza bruta.

¿Cómo saber si de verdad fue un hackeo?

Antes de actuar, confirma que es un ataque y no un error de configuración o un problema puntual de hosting. Estas son las señales que casi siempre lo confirman:

SeñalQué significa
Redirige a otro sitio solo cuando entras desde GoogleSEO cloaking: el atacante muestra contenido distinto a Google que a ti
Aviso de «sitio pirateado» en Search ConsoleGoogle ya detectó contenido malicioso indexado
Usuarios administradores que no reconocesAcceso persistente ya establecido por el atacante
Consumo anormal de recursos o bloqueo del hostingTu servidor puede estar siendo usado para enviar spam o minar
Clientes reportan pop-ups o antivirus bloqueando el sitioMalware activo sirviéndose a los visitantes

Con dos o más señales de esta tabla, asume que es un ataque real y sigue la guía en orden.

Caso real: SEO cloaking en producción
Ejemplo de SEO cloaking en una tienda WordPress hackeada, mostrando contenido malicioso indexado en resultados de búsqueda

Este es exactamente el tipo de ataque que más pasa desapercibido: la tienda se ve completamente normal si escribes la URL directamente, pero Google indexa páginas y contenido que el dueño nunca creó. El cliente solo se entera cuando alguien le pregunta por qué Google muestra algo que no tiene nada que ver con su negocio, o cuando Search Console dispara la advertencia de sitio pirateado.

Paso 1: Aísla la tienda antes de tocar nada

El primer impulso es empezar a borrar cosas. Resiste ese impulso. Lo primero no es limpiar, es contener el daño y no perder evidencia.

  1. Activa el modo mantenimiento o restringe el acceso desde el panel del hosting, para frenar que el malware siga propagándose o enviando spam mientras trabajas, y para que ningún cliente compre sobre una pasarela de pago comprometida.
  2. Haz un backup completo ahora mismo, aunque esté infectada. Lo necesitas como evidencia y como respaldo de pedidos y datos de clientes antes de tocar nada. Guárdalo fuera del hosting: descarga local o una carpeta en la nube que no dependa del mismo servidor comprometido.
  3. Cambia la contraseña de tu hosting y de tu base de datos de inmediato, no solo la de WordPress. Uno de los errores más comunes es limpiar WordPress y dejar el acceso al panel de hosting o a phpMyAdmin intacto, con lo que el atacante simplemente vuelve a entrar por ahí.

Paso 2: Identifica el vector de ataque

Sin saber cómo entraron, cualquier limpieza es temporal. Es como cambiar la cerradura de la puerta principal cuando el ladrón entró por una ventana que sigue abierta. Revisa en este orden:

2.1 Usuarios administradores

Ve a Usuarios en tu panel de WordPress y revisa cada cuenta con rol de administrador. Si hay una que no reconoces, no la elimines todavía: primero anota el nombre y la fecha de creación, te va a servir para rastrear el momento exacto del ataque en los logs. Luego cámbiale el rol a Suscriptor para neutralizarla sin perder esa evidencia.

2.2 Plugins y temas «nulled» o desactualizados

Revisa la fecha de última actualización de cada plugin instalado. Si tienes algún plugin premium que descargaste gratis fuera del repositorio oficial o de la tienda del desarrollador, esa es, con altísima probabilidad, tu puerta de entrada.

2.3 Archivos modificados recientemente

Con acceso por FTP o al administrador de archivos del hosting, ordena los archivos por fecha de modificación. Cualquier archivo dentro de wp-admin o wp-includes con una fecha que no coincide con una actualización tuya es sospechoso.

Caso real: archivos maliciosos disfrazados en wp-content
Listado de archivos del servidor con archivos maliciosos disfrazados como .php sueltos junto a los archivos legítimos de WordPress

En una revisión encontramos archivos como .ef82c71c.php y una copia casi idéntica sin el punto inicial, mezclados entre los archivos legítimos de WordPress en la raíz del sitio. El punto al inicio del nombre los ocultaba de la vista normal en muchos exploradores de archivos, y el nombre parecía parte del sistema. Ese es exactamente el tipo de archivo que un escaneo superficial pasa por alto, porque no tiene un nombre evidente como «hack.php» o «virus.php».

Paso 3: Limpia el malware

  1. Reemplaza los archivos core de WordPress descargando una copia limpia desde wordpress.org y sobrescribiendo por completo las carpetas wp-admin y wp-includes (nunca wp-content, ahí están tus datos y no debes tocarla en este paso).
  2. Revisa functions.php de tu tema y cualquier archivo con nombres extraños o código ofuscado: líneas larguísimas, texto ilegible tipo eval(base64_decode(...)). Ese patrón casi siempre es malicioso, aunque esté disfrazado dentro de un archivo con nombre inofensivo.
  3. Elimina plugins y temas que no reconozcas o no uses, incluso si parecen inofensivos.
  4. Revisa la base de datos, específicamente las tablas wp_options y wp_posts, buscando scripts, enlaces a dominios extraños o texto en otro idioma que tú no escribiste.
Caso real: un skimmer escondido en el checkout
Consola de desarrollador de Chrome mostrando código malicioso de skimmer inyectado en el formulario de checkout, junto al formulario de pago con campos de tarjeta de crédito

Este es el tipo de ataque más peligroso que vas a encontrar en una tienda: un skimmer de tarjetas (carding) inyectado directamente en el formulario de checkout, capturando los datos de tarjeta de crédito de tus clientes en tiempo real antes de que lleguen a la pasarela de pago. No se ve navegando el sitio normalmente, y tampoco lo detecta un escaneo de malware genérico porque el código se disfraza dentro de un contenedor con nombre de clase legítimo (en este caso, algo tan sutil como pf14_cardContainer). Encontrarlo tomó más de 4 horas revisando el código del checkout línea por línea con las herramientas de desarrollador del navegador, buscando el punto exacto donde el formulario enviaba los datos a un servidor externo. Esto es exactamente el tipo de amenaza que un plugin de seguridad estándar no detecta, porque no modifica archivos ni la base de datos de forma obvia: vive en el JavaScript que se carga en el navegador del cliente.

Este paso es, en la práctica, el que más tiempo toma y el que más se presta a error si no tienes experiencia leyendo código malicioso. La mayoría de veces que una tienda «vuelve a infectarse a los tres días» no es porque el hackeo haya sido nuevo, sino porque quedó una segunda puerta trasera escondida que la limpieza superficial no detectó. Si llegas a este punto y no te sientes seguro de haber visto todo, es exactamente el momento en el que vale más pedir una revisión profesional que seguir adivinando.

Paso 4: Cambia todas las credenciales

  • Contraseña de WordPress de todos los administradores
  • Contraseña de la base de datos
  • Contraseña del hosting y del FTP
  • Llaves secretas de WordPress (SALT keys en wp-config.php, generables desde el generador oficial de WordPress.org)
  • Contraseñas de las cuentas conectadas a pasarelas de pago si sospechas que también fueron expuestas

Paso 5: Verifica pedidos, clientes y contenido publicado

Antes de reactivar la tienda, confirma en WooCommerce que el historial de pedidos, los datos de clientes y el inventario no se perdieron ni fueron alterados. Si trabajas con pasarelas como PayU, Wompi o MercadoPago, revisa que no haya transacciones fantasma ni cambios en los montos o cuentas de destino configuradas.

También revisa el listado de entradas del blog (Entradas → Todas las entradas), no solo las categorías. Un bot puede haber estado publicando contenido automático durante semanas sin que lo notes, y suele ser evidente en cuanto lo ves: títulos y textos relacionados con casino, apuestas o farmacia, mezclados entre tus publicaciones reales. No hace falta contarlos uno por uno para confirmar el problema, basta con ver dos o tres entradas de ese tipo en el listado para saber que hay contenido spam publicado que debes eliminar en bloque.

¿Encontraste algo similar y no sabes por dónde seguir? Escríbenos y lo revisamos hoy →

Paso 6: Repórtalo a Google si hubo cloaking SEO

Si tu tienda apareció con contenido extraño en los resultados de búsqueda, entra a Google Search Console, sección Seguridad y Acciones Manuales, y solicita una revisión una vez confirmes que el sitio está limpio. Este paso se salta con frecuencia, y sin él Google puede seguir mostrando la advertencia de «sitio pirateado» durante semanas aunque ya hayas limpiado todo.

Paso 7: Blinda tu tienda para que no vuelva a pasar

  • Activa autenticación en dos pasos (2FA) para todos los administradores, con un plugin como WP 2FA o directamente desde tu proveedor de hosting si lo ofrece
  • Instala un firewall de aplicación web (WAF) real: Wordfence si prefieres una solución instalada en el propio WordPress, o Cloudflare (incluso su plan gratuito) si prefieres filtrar el tráfico antes de que llegue al servidor. Sucuri es otra opción sólida si buscas monitoreo y firewall combinados
  • Mantén WordPress, WooCommerce, tema y plugins siempre actualizados, sin excepciones
  • Elimina el usuario «admin» genérico si todavía lo usas
  • Configura backups automáticos diarios almacenados fuera del hosting
  • Limita los intentos de inicio de sesión fallidos

Un hackeo limpiado a medias no se ve diferente a uno bien resuelto, hasta que vuelve a caer tres días después.

Errores que empeoran el hackeo (y que veo repetirse todo el tiempo)

  • Restaurar un backup sin saber desde cuándo estaba infectado. Si el backup que restauras ya tenía el malware, vuelves al mismo punto en horas.
  • Instalar cinco plugins de seguridad distintos «por si acaso». Suelen entrar en conflicto entre sí y consumir recursos sin agregar protección real.
  • Limpiar solo WordPress y no revisar el servidor. Si el atacante dejó una puerta trasera a nivel de servidor, la tienda vuelve a comprometerse aunque WordPress esté impecable.
  • No cambiar las contraseñas hasta el final. Si cambias las contraseñas antes de identificar el vector, el atacante puede haber dejado otro método de acceso que sigues sin detectar.

¿Hacerlo tú mismo o contratar ayuda profesional?

Hacerlo tú mismoServicio profesional
TiempoHoras o días, según tu experiencia técnica✅ Horas, con revisión de servidor incluida
Costo✅ $0, pero con riesgo de reinfección si algo queda sin detectarDesde $99.900 COP / $35 USD
Mejor paraQuien tiene experiencia técnica y tiempo disponible ahoraTiendas en producción activa, sin backup limpio, o marcadas por Google

Preguntas frecuentes

¿Puedo perder mis pedidos y clientes al limpiar el malware?

No debería pasar si sigues el orden correcto: primero backup completo, luego limpieza dirigida a los archivos y tablas afectadas, sin borrar por completo la base de datos.

¿Cuánto tiempo tarda mi tienda en volver a aparecer bien en Google después de un hackeo?

Depende de qué tan rápido solicites la revisión en Search Console después de limpiar el sitio. Sin esa solicitud, la advertencia de «sitio pirateado» puede permanecer indefinidamente aunque el sitio ya esté limpio.

¿Un plugin de seguridad gratuito es suficiente para prevenir esto?

Ayuda a detectar, pero no reemplaza mantener todo actualizado y evitar plugins o temas piratas. Ni Wordfence ni Sucuri detectan automáticamente un skimmer disfrazado en JavaScript de checkout como el del caso anterior, eso requiere revisión manual del código del formulario de pago.

¿Cómo sé si el hackeo ya afectó mi posicionamiento SEO?

Revisa Google Search Console, sección Rendimiento, buscando caídas abruptas de clics o impresiones que coincidan con la fecha estimada del ataque, y la sección Seguridad y Acciones Manuales para confirmar si hay una advertencia activa.

Escrito por Guillermo Amaya

Ingeniero de sistemas con 12 años de experiencia desarrollando tiendas online, fundador de Aprendamos E-commerce. Ver perfil completo →

Recupera tu tienda sin arriesgar tus datos ni tus pedidos

En Rescate WooCommerce revisamos tu tienda y tu servidor completo, eliminamos el malware, cerramos la puerta de entrada real (no solo los síntomas) y te entregamos un reporte claro de qué pasó y qué se corrigió, sin tocar tu historial de pedidos ni tus datos de clientes.

Diagnóstico y Limpieza Esencial

$99.900 COP / $35 USD

Limpieza Completa y Blindaje

$399.900 COP / $129 USD

Atención de Emergencia

$799.900 COP / $260 USD

Ver el servicio completo →

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

También te podría gustar