WordPress ha sido hackeado: Qué hacer a continuación (Contener, Limpiar, Restaurar, Reforzar la seguridad)

wordpress is hacked

Si estás aquí porque WordPress ha sido hackeado, respira. La mayoría de los dueños de sitios no notan un “gran colapso” cuando algo sale mal. En cambio, son las pequeñas señales de alerta las que disparan el pánico: una redirección rara en móvil, páginas de spam apareciendo en Google, una caída repentina de tráfico o un nuevo usuario administrador que juras que no creaste.

Cuando WordPress ha sido hackeado, puede verse totalmente normal para ti mientras, en segundo plano, daña tu negocio silenciosamente: envía a los visitantes a URLs sospechosas, inyecta contenido basura en tu base de datos o deja una puerta trasera para que el atacante pueda volver después. Cuanto más tiempo siga activo, más caro se vuelve: leads perdidos, listas negras, rankings arruinados y una limpieza que se vuelve una bola de nieve.

Aquí van las buenas noticias: si WordPress ha sido hackeado, por lo general puedes recuperarlo. Pero el orden importa. El error más común es lanzarse a borrar archivos al azar o restaurar una copia de seguridad antigua antes de haber detenido al atacante y reunido suficientes pistas para evitar una reinfección.

Esta guía usa un enfoque simple de tres fases: contener → limpiar → reforzar la seguridad. Primero, “paramos el sangrado” para que el daño no se propague. Si WordPress ha sido hackeado, tu objetivo no es “cazar malware” primero: es recuperar el control, proteger a los usuarios y preservar evidencia de cómo entraron. Luego limpiamos y restauramos con seguridad (archivos y base de datos). Por último, cerramos todo para que WordPress ha sido hackeado no se convierta en una sorpresa mensual recurrente.

Al final, tendrás una lista de verificación clara para seguir bajo presión, además de los puntos de decisión para saber cuándo es más inteligente llamar a un profesional.

WordPress ha sido hackeado — 12 señales que debes confirmar rápido

Si estás viendo cualquiera de los problemas de abajo, no asumas que es un “fallo” cualquiera. Cuando WordPress ha sido hackeado, el sitio a menudo sigue funcionando lo justo para parecer normal, mientras lo malo ocurre detrás de escena.

1) Redirecciones, páginas de spam y “Google marcó mi sitio”

  1. Los visitantes son redirigidos (a menudo solo en móvil o solo desde Google).
  2. URLs de spam aleatorias aparecen indexadas bajo tu dominio (casino, pharma, porno, “préstamos baratos”).
  3. Tu página de inicio se ve bien, pero algunas páginas cargan popups o scripts extra.
  4. Google muestra “Este sitio puede haber sido hackeado” o “Sitio engañoso por delante”.

2) Usuarios nuevos, cambios raros y cosas que no instalaste

  1. Aparece un nuevo usuario administrador (o un usuario antiguo es ascendido a admin).
  2. Encuentras plugins/temas que no agregaste (especialmente plugins “utilitarios” o de “caché” que nunca habías escuchado).
  3. Cambia el título/meta description del sitio, o se editan posts con enlaces ocultos.
  4. Tu formulario de contacto envía a otro correo, o dejas de recibir leads.

3) Picos de rendimiento y alertas del hosting que no tienen sentido

  1. Picos repentinos de CPU/RAM, backend lento o errores 500 aleatorios.
  2. Picos de correo saliente (newsletter que no enviaste, quejas por rebotes).
  3. Cambian las marcas de tiempo de archivos en muchas carpetas, o aparecen archivos PHP extraños nuevos en /wp-content/uploads/.
  4. Tareas programadas que no creaste (eventos de wp-cron ejecutándose en intervalos raros).

Aquí va la forma rápida de pensarlo: los síntomas de WordPress ha sido hackeado suelen caer en tres “baldes”: manipulación de tráfico (redirecciones/spam), manipulación de acceso (usuarios/plugins/ajustes) y abuso de recursos (envío de spam, cripto-minería, tráfico de bots). Si WordPress ha sido hackeado, no necesitas probar todo antes de actuar: solo necesitas suficiente confirmación para pasar a la contención de forma segura (siguiente sección).

Los primeros 30 minutos (Contener el daño antes de limpiar)

Si WordPress ha sido hackeado, tu primera tarea no es cazar malware: es contener. Piensa “detener el sangrado”. Estás intentando (1) proteger a los visitantes, (2) evitar que el atacante siga actuando y (3) preservar suficiente evidencia para prevenir una reinfección.

1) Proteger visitantes + detener daño activo (5–10 minutos)

  • Pon el sitio en modo mantenimiento (un 503 real si es posible). Esto evita que bots rastreen el desastre y reduce la exposición de los usuarios.
  • Si no puedes hacer un 503 limpio rápido, bloquea temporalmente el acceso público a nivel de hosting/CDN (incluso un “denegar todo excepto mi IP” sirve por ahora).
  • Pausa campañas pagadas (Google Ads, Meta, envíos masivos de email). Si WordPress ha sido hackeado, no quieres mandar tráfico nuevo hacia redirecciones o scripts maliciosos.

2) Asegura credenciales (5 minutos)

Cambia todos los puntos de acceso: no solo la contraseña del admin de WordPress:

  • Contraseña(s) de administrador de WordPress + cualquier cuenta de editor
  • Acceso al panel del hosting
  • Contraseñas de FTP/SFTP + llaves SSH (si aplica)
  • Contraseña de la base de datos (y luego actualiza wp-config.php)
  • Cuentas de email ligadas a restablecimientos de contraseña (email administrador del sitio, email del hosting)

Además: cierra todas las sesiones / revoca inicios de sesión activos si tu plugin de seguridad o panel del hosting lo permite. Cuando WordPress ha sido hackeado, las sesiones robadas pueden saltarse tu “nueva contraseña” al instante.

3) Cierra las puertas obvias (5–10 minutos)

Haz cierres rápidos y de bajo riesgo que no “limpian”, pero sí reducen reinfecciones:

  • Desactiva el editor de archivos de WordPress (evita ediciones de tema/plugin desde wp-admin).
  • Restringe el acceso a wp-admin (lista blanca por IP si puedes, o al menos agrega protección extra).
  • Desactiva XML-RPC si no lo usas (vector común de fuerza bruta y abuso).
  • Si sospechas de una vulnerabilidad en un plugin: desactiva todos los plugins temporalmente (renombra la carpeta plugins) para detener cargas activas. Si WordPress ha sido hackeado, esto a menudo detiene redirecciones de inmediato.

4) Preserva evidencia (5 minutos)

Antes de borrar nada, captura “instantáneas” rápidas:

  • Exporta una lista de usuarios (especialmente administradores)
  • Anota cualquier plugin/tema instalado o actualizado recientemente
  • Descarga/guarda logs de seguridad, logs del servidor, alertas de Search Console
  • Si es posible, haz un backup completo de archivos + base de datos (incluso si está infectado). Esto es para forense y pruebas de rollback, no para restaurar a ciegas.

Regla clave: no “limpies” todavía. Contén primero. Una vez que el sitio esté estable, pasarás a confirmación + diagnóstico del punto de entrada para que WordPress ha sido hackeado no se convierta en “WordPress ha sido hackeado otra vez la próxima semana”.

Confirmar el hack + encontrar el punto de entrada (sin adivinar)

WordPress ha sido hackeado

La contención te compra tiempo. Ahora necesitas confirmación + un punto de entrada probable, porque si solo “eliminas el malware obvio” y sigues, la reinfección es común. Cuando WordPress ha sido hackeado, el síntoma visible (redirecciones/spam/admins) suele ser solo el resultado de un problema de acceso más profundo.

1) Confirma con las comprobaciones más rápidas y de mayor señal

  • Google Search Console (Problemas de seguridad / Acciones manuales): busca avisos de contenido hackeado, páginas inyectadas o alertas de “sitio engañoso”.
  • Búsqueda del sitio en Google: busca site:yourdomain.com y revisa keywords de spam (casino/pharma/préstamos).
  • Navegador + herramientas de uptime: si los usuarios reportan alertas, prueba tu home + algunas páginas internas desde móvil y escritorio.

2) Revisa qué cambió (sin borrar nada todavía)

  • Nuevos administradores / cambios de rol: verifica que cada admin sea legítimo y anota fechas de creación.
  • Instalaciones + actualizaciones recientes de plugins/temas: todo lo agregado/actualizado justo antes del problema es un sospechoso principal.
  • Patrones de modificación de archivos: un pico de PHP modificados, especialmente dentro de /wp-content/uploads/, /mu-plugins/ o carpetas con nombres raros, es un indicador clásico. Si WordPress ha sido hackeado, las puertas traseras suelen esconderse donde no esperas PHP.

3) Usa “escaneos seguros” + comprobaciones de integridad

  • Escaneo con plugin de seguridad (Wordfence/Sucuri/etc.) para una señal rápida de triage (no dependas solo de esto).
  • Comprobación de integridad del core: escáneres confiables pueden comparar archivos del core de WordPress con versiones “known-good” para detectar manipulación.
  • Señales rojas en la base de datos: posts de spam, redirecciones raras guardadas en opciones, o scripts inesperados en widgets/headers.

4) Acota el punto de entrada (para que no vuelva a pasar)

Causas más comunes:

  • Plugin o tema desactualizado/vulnerable
  • Credenciales débiles o reutilizadas (WP, hosting, FTP/SFTP)
  • Temas/plugins nulled (“premium gratis”)
  • Permisos de archivos demasiado permisivos

Si WordPress ha sido hackeado y no puedes identificar cómo, trátalo como una señal de riesgo: tu siguiente sección (limpiar + restaurar) debe asumir que existe una puerta trasera hasta que se demuestre lo contrario.

Limpiar + restaurar con seguridad (un flujo repetible de eliminación de malware)

Una vez que el ataque esté contenido y hayas capturado evidencia básica, es momento de limpiar + restaurar, pero de una forma que no deje una puerta trasera oculta. El objetivo no es “que el sitio se vea normal”. El objetivo es: limpiar archivos + limpiar base de datos + eliminar persistencia + verificar integridad.

Si WordPress ha sido hackeado, reemplaza el core con seguridad (comprobaciones de integridad)

Este es el “reinicio” más seguro que puedes hacer, porque el core de WordPress debería ser idéntico a la versión oficial.

  • Primero haz backup (aunque esté infectado): conserva una copia de los archivos + la base de datos actuales para poder revisar qué cambió si hace falta.
  • Reinstala el core de WordPress desde una fuente confiable:
    • Reemplaza /wp-admin/ y /wp-includes/ por completo con copias nuevas.
    • Reemplaza archivos raíz del core (wp-login.php, wp-settings.php, etc.) con copias nuevas.
    • No sobrescribas wp-config.php ni la carpeta wp-content/ todavía.
  • Comprobaciones de integridad:
    • Compara archivos del core contra checksums oficiales (muchas herramientas de seguridad lo hacen automáticamente).
    • Si tu hosting ofrece “restauración de archivos” o “limpieza de malware”, confirma exactamente qué cambia (algunos solo quitan firmas conocidas).

Por qué importa: cuando los atacantes editan el core, pueden reinyectar malware incluso después de que “limpies” plugins.


Limpia temas + plugins (elimina, no “parches” encima)

Muchas reinfecciones ocurren por dejar un plugin/tema comprometido en su lugar.

  • Lista todo lo instalado (incluye plugins inactivos). Si no lo reconoces, trátalo como sospechoso.
  • Elimina de inmediato plugins/temas nulled o abandonados. Si lo obtuviste fuera del repo oficial o del proveedor, asume riesgo.
  • Reinstala desde fuentes confiables:
    • Borra la carpeta del plugin/tema por completo.
    • Descarga una copia nueva desde WordPress.org o el proveedor oficial.
    • Reinstala y reconfigura (sí, es tedioso, pero es más seguro que “limpiar” código desconocido).
  • Actualiza todo (WordPress, plugins, temas) cuando estés estable y seguro de que el entorno no está comprometido activamente.

Tip pro: si el hack empezó justo después de actualizar un plugin, no solo lo “revientes” hacia atrás: verifica el historial de seguridad del plugin y reemplázalo si es vulnerable.


Limpieza de base de datos (donde el spam + redirecciones aman esconderse)

Un sitio puede verse limpio mientras la base de datos sigue reinyectando basura.

Revisa y limpia:

  • Usuarios + roles: elimina admins desconocidos; restablece contraseñas para usuarios con privilegios.
  • Contenido spam: elimina posts/páginas spam, borradores raros, categorías/etiquetas creadas automáticamente.
  • Redirecciones inyectadas: lugares típicos incluyen widgets, ajustes de header/footer y tablas de “options”.
  • Cambios sospechosos de URL del sitio: confirma que siteurl y home sean correctos.

Si encuentras bloques largos de JavaScript raro, iframes o cadenas codificadas en campos de ajustes, es un indicador fuerte de que la base de datos se usó para persistencia.


Busca puertas traseras (la persistencia es el enemigo real)

Si te saltas esto, arreglas síntomas y te reinfectan.

Dónde mirar:

  • /wp-content/uploads/ (en la mayoría de setups, aquí no deberían existir archivos PHP)
  • /wp-content/mu-plugins/ (los plugins “must-use” se cargan automáticamente)
  • /wp-content/cache/ y carpetas nuevas aleatorias con nombres extraños
  • Tareas programadas / cron: a los atacantes les encanta la persistencia tipo “re-ejecutar cada 5 minutos”
  • wp-config.php y .htaccess para includes/reglas de redirección raras

Cómo suelen verse las puertas traseras:

  • Nombres de archivo aleatorios que imitan archivos del core
  • Archivos “loader” pequeños que incluyen scripts remotos
  • Código ofuscado (base64, gzinflate, cadenas largas ilegibles)

Paso de verificación (no lo omitas):

  • Vuelve a escanear después de limpiar (plugin de seguridad + comprobaciones puntuales manuales).
  • Carga el sitio en una ventana incógnito, en móvil y desde otra red.
  • Confirma que paren las redirecciones/spam y que no aparezcan nuevos administradores.

Si algo se regenera tras la limpieza, asume que queda una puerta trasera y repite la búsqueda de persistencia antes de pasar al refuerzo.

Refuerzo de seguridad después de limpiar (haz que sea difícil que te vuelvan a hackear)

Limpiar te devuelve en línea. El refuerzo de seguridad es lo que te mantiene en línea. La mayoría de reinfecciones ocurren porque el punto de entrada original sigue abierto (plugin viejo, credenciales débiles, sin WAF, sin monitoreo). Usa esta sección como una lista de “cerrar puertas”.

Actualizaciones + mínimo privilegio (evita reingresos fáciles)

  • Actualiza todo: core de WordPress, plugins y temas. Elimina lo que no uses activamente.
  • Borra plugins/temas abandonados (sin soporte o sin actualizaciones en mucho tiempo).
  • Refuerza inicios de sesión:
    • Usa un gestor de contraseñas + contraseñas únicas para cada admin.
    • Activa 2FA para todas las cuentas admin/editor.
  • Ajusta roles:
    • Máximo 1–2 administradores.
    • El resto debería ser Editor/Autor (o menor) según necesidad real.
  • Desactiva valores por defecto riesgosos:
    • Desactiva la edición de archivos en wp-admin (DISALLOW_FILE_EDIT).
    • Considera bloquear XML-RPC si no lo necesitas.
  • Rota secretos:
    • Cambia salts/keys de WordPress (fuerza reinicio de sesiones).
    • Reemite llaves SSH / rota credenciales FTP/SFTP si las usas.

Capas de seguridad (añade fricción a los atacantes)

  • Agrega un WAF/CDN (Cloudflare o similar): bloquea patrones de bots, añade rate limiting y reduce fuerza bruta.
  • Limita el abuso de login:
    • Aplica rate limit a /wp-login.php
    • Agrega CAPTCHA donde tenga sentido
    • Oculta/limita acceso admin por IP cuando sea posible
  • Revisión de permisos:
    • Evita configuraciones “escribible en todas partes”.
    • Mantén uploads escribible, pero bloquea archivos sensibles.
  • Desactiva servicios innecesarios:
    • Si no necesitas endpoints REST públicos, restrínge.
    • Elimina sitios de staging/subdominios antiguos (se olvidan y los hackean).

Backups que realmente funcionan (para que la recuperación sea aburrida la próxima vez)

  • Backups fuera del servidor (no solo “en el mismo servidor”).
  • Frecuencia de backup:
    • Sitios de contenido: diario
    • Ecommerce/generación de leads: mínimo diario + snapshots antes de actualizaciones
  • Prueba restauraciones mensualmente: un backup que no se puede restaurar es solo un archivo “tranquilizador”.

Plan de monitoreo (detecta problemas antes que tus clientes)

  • Alertas de uptime + cambios de página (home + checkout/página de contacto).
  • Detección de cambios de archivos (alertas si cambian archivos del core o de plugins inesperadamente).
  • Seguimiento de vulnerabilidades: vigila tus plugins/temas instalados por CVEs y actualiza rápido.
  • Revisión de logs: al menos un chequeo semanal (intentos fallidos, IPs raras, POST inusuales).

Con esto en su lugar, ya no dependes de la suerte: construyes un sistema donde los problemas se detectan temprano y la limpieza es más rápida, más barata y mucho menos estresante.

Mantenimiento continuo + cuándo contratar a un profesional

Una vez que limpiaste y reforzaste, el objetivo es que esto nunca se convierta en una sorpresa otra vez. Muchos “hacks repetidos” no son ataques nuevos: son restos (puertas traseras que faltaron, plugins desactualizados, accesos débiles o falta de monitoreo).

Mantenimiento continuo que evita reinfecciones

  • Semanal: actualiza plugins/temas (elimina lo que no uses), revisa alertas de seguridad, verifica intentos fallidos.
  • Mensual: prueba una restauración desde backup, rota contraseñas clave, revisa usuarios/roles admin.
  • Después de cada cambio grande: haz un snapshot previo y monitorea cambios de archivos/redirecciones.

Cuándo es más inteligente contratar a un profesional

Si WordPress ha sido hackeado y cualquiera de lo siguiente es cierto, la limpieza profesional suele ser más rápida (y más segura) que el ensayo y error:

  • Hay ecommerce o PII (pagos, datos de clientes, inicios de sesión).
  • La reinfección sigue ocurriendo después de “limpiar”.
  • No puedes identificar el punto de entrada (alto riesgo de persistencia).
  • Hay alertas / listas negras de Google activas y están golpeando leads rápidamente.
  • No tienes tiempo para revisar logs, integridad de archivos y limpieza de base de datos correctamente.

Qué te pedirá un profesional (para avanzar más rápido)

  • Acceso al hosting (o SFTP/SSH), admin de WordPress y acceso a la base de datos
  • Backups recientes, logs del plugin de seguridad y la línea de tiempo de lo que notaste
  • Lista de actualizaciones recientes de plugins/temas o instalaciones nuevas

Cómo se ve “terminado”: escaneos limpios, sin redirecciones/spam reapareciendo, punto de entrada corregido, credenciales rotadas, setup reforzado y monitoreo + backups probados.

Checklist de recuperación rápida + herramientas recomendadas

wordpress is hacked

Si estás en modo “necesito un plan ya”, usa esto como tu lista de acción de una sola página. La secuencia importa: primero contener, luego limpiar y después reforzar.

Checklist de recuperación rápida (Contener → Limpiar → Reforzar)

Contener (primeros 30 minutos)

  • Pon el sitio en modo mantenimiento (503) o bloquea acceso público temporalmente (permite solo tu IP).
  • Pausa tráfico y campañas pagadas hasta confirmar que desaparecieron redirecciones/alertas.
  • Cambia contraseñas: admin de WP, hosting, SFTP/SSH, base de datos y email administrador.
  • Cierra todas las sesiones / revoca sesiones activas (si está disponible).
  • Desactiva el editor de archivos + restringe acceso a wp-admin (IP/CAPTCHA/rate limits).
  • Haz un backup completo del estado actual (archivos + BD) para evidencia/rollback.

Confirmar + diagnosticar

  • Revisa Google Search Console (Problemas de seguridad / Acciones manuales).
  • Busca site:yourdomain.com por páginas/keywords de spam.
  • Revisa usuarios admin + instalaciones/actualizaciones recientes de plugins/temas.
  • Escanea por PHP extraños en wp-content/uploads/, mu-plugins y carpetas raras.

Limpiar + restaurar

  • Reemplaza el core de WordPress con seguridad (nuevos /wp-admin/, /wp-includes/ y archivos raíz).
  • Elimina y reinstala plugins/temas desde fuentes confiables (borra primero, reinstala limpio).
  • Limpia base de datos: elimina admins sospechosos, scripts inyectados, posts/páginas spam, opciones raras.
  • Busca persistencia: MU-plugins, cron jobs, reglas .htaccess, includes sospechosos.
  • Reescanea y verifica desde incógnito + móvil + otra red.

Reforzar

  • Activa 2FA para admins, exige contraseñas fuertes, reduce la cantidad de administradores.
  • Agrega WAF/CDN + rate limiting en el login.
  • Configura backups offsite + prueba restauración.
  • Activa monitoreo: alertas de uptime, detección de cambios de archivos, alertas de vulnerabilidad.

Herramientas recomendadas (para qué sirve cada una)

Escaneo de seguridad + limpieza

  • Wordfence (común para integridad de archivos + funciones de firewall)
  • Sucuri (detección de malware + guía de limpieza)

WAF/CDN + control de bots

  • Cloudflare (WAF, rate limiting, protección contra bots, caché)

Backups

  • UpdraftPlus / BlogVault (backups offsite + restauración)
  • Snapshots del hosting (útiles, pero no dependas solo de eso)

Monitoreo

  • UptimeRobot / StatusCake (uptime + comprobación de páginas)
  • Alertas del plugin de seguridad + monitoreo de cambios de archivos

Importante: las herramientas no reemplazan el proceso: lo apoyan. Usa la secuencia del checklist para no “limpiar” mientras el atacante todavía tiene acceso.

Preguntas frecuentes

1) WordPress ha sido hackeado — ¿debo restaurar un backup de inmediato?

No de inmediato. Primero contiene el daño (modo mantenimiento / restringir acceso) y rota credenciales. Luego verifica que el backup esté limpio y restaura de forma controlada; si no, puedes reintroducir la infección.

2) ¿Por qué mi sitio se ve normal, pero los visitantes son redirigidos?

Los atacantes suelen usar redirecciones condicionales (solo móvil, solo tráfico desde buscadores, ciertos países/IPs). Prueba en incógnito, en móvil y desde otra red para detectarlo.

3) ¿También tengo que cambiar credenciales de la base de datos?

Sí. Rota panel del hosting, SFTP/SSH, base de datos y contraseñas de admin de WordPress. Si la contraseña de la base de datos se mantiene, una credencial comprometida puede darles acceso otra vez.

4) ¿Puedo simplemente “borrar los archivos raros” y listo?

Por lo general no. Muchas infecciones incluyen persistencia (MU-plugins, cron, opciones inyectadas, .htaccess modificado). Si solo quitas lo visible, la reinfección es común.

5) ¿Un plugin de seguridad lo arregla todo automáticamente?

Ayuda mucho con detección y bloqueo, pero no es una estrategia completa por sí sola. Igual necesitas reemplazo de integridad del core, reinstalar plugins/temas desde fuentes confiables, revisar la base de datos y reforzar.

6) ¿Cómo sé qué plugin lo causó?

Empieza por lo que cambió justo antes de los síntomas: plugins/temas recién instalados, actualizaciones recientes y cualquier cosa abandonada o “nulled”. Los logs del servidor y los logs de seguridad lo acotan rápido.

7) ¿Cuánto tarda normalmente la limpieza?

Casos simples pueden ser horas. Casos complejos (spam indexado, punto de entrada desconocido, reinfecciones, datos de ecommerce) pueden tardar más porque la prioridad es eliminar persistencia y verificar integridad.

8) ¿Qué hago después de limpiar para evitar que vuelva a pasar?

Agrega capas: 2FA + mínimo privilegio, WAF/rate limiting, backups offsite con pruebas de restauración, monitoreo de cambios de archivos y un ritmo regular de actualizaciones.

Conclusión

Un sitio hackeado es estresante, pero se puede arreglar si sigues el orden correcto. Primero, contiene el daño para detener redirecciones y bloquear al atacante. Luego, limpia y restaura con seguridad (archivos y base de datos) y después refuerza el sitio para que no vuelva a pasar. Usa el checklist de arriba paso a paso y, si estás manejando ecommerce, datos sensibles o reinfecciones, considera traer a un profesional para terminarlo rápido y de forma segura.