Saltar al contenido principal
WordPress

¿Tu web ha sido hackeada? Guía de emergencia paso a paso

8 min de lectura
wordpress seguridad malware hackeo recuperación

Abres tu web y algo no encaja. Hay contenido que tú no has puesto, redirige a páginas extrañas, o directamente Google te muestra un aviso rojo de "sitio no seguro". Si te ha pasado, lo primero: no entres en pánico. Tiene solución. Pero necesitas actuar rápido y con método.

Esta guía te lleva paso a paso por todo el proceso: desde identificar el hackeo hasta dejarlo limpio y protegido para que no vuelva a ocurrir.

¿Cómo saber si tu web ha sido hackeada?

No todos los hackeos son evidentes. A veces tu web parece funcionar con normalidad, pero por debajo está enviando spam o redirigiendo a usuarios a sitios de apuestas. Estas son las señales más comunes:

  • Redireccionamientos extraños: tu web envía a los visitantes a sitios de spam, farmacia online, casinos o phishing. A veces solo en móvil o solo para visitantes que llegan desde Google.
  • Contenido que no has creado: páginas nuevas con texto en otros idiomas, productos farmacéuticos o enlaces sospechosos. Si tu web de fontanería tiene una sección de "comprar Viagra barata", hay un problema.
  • Aviso de Google en los resultados de búsqueda: "Este sitio puede haber sido hackeado" o "Este sitio puede dañar tu ordenador". Es la peor señal porque tus potenciales clientes la ven antes de entrar.
  • Email de tu hosting: muchos hostings detectan malware y te avisan o directamente suspenden tu cuenta. Si recibes un email de SiteGround, Raiola o tu proveedor diciendo que han detectado actividad maliciosa, tómatelo en serio.
  • Archivos PHP desconocidos en el servidor: especialmente en /wp-content/uploads/. Esa carpeta debería contener solo imágenes y documentos, nunca archivos .php.
  • Tu web va mucho más lenta de lo normal: el malware consume recursos del servidor. Si de repente tu web tarda el doble en cargar sin que hayas cambiado nada, investiga.

Si Google muestra un aviso rojo ("Este sitio contiene malware" o "Sitio engañoso"), cada minuto que pasa pierdes visitantes y reputación. Tu web aparece marcada como peligrosa en los resultados de búsqueda y en el propio navegador Chrome. Actúa ya.

Paso 1: No borres nada todavía

El primer impulso es borrar todo y reinstalar WordPress desde cero. No lo hagas sin antes hacer una copia de seguridad del estado actual. Necesitas el "escenario del crimen" para entender cómo entraron y evitar que vuelva a pasar. Si borras todo, pierdes las pistas.

Antes de tocar nada:

  1. Haz una copia de seguridad completa: archivos del servidor + base de datos. Tu hosting probablemente tiene una herramienta de backup. Usa esa copia como "evidencia".
  2. Documenta lo que ves: capturas de pantalla de las páginas afectadas, URLs extrañas, emails del hosting. Todo puede ser útil para entender el alcance.
  3. Si puedes, pon la web en modo mantenimiento: así evitas que los visitantes vean contenido comprometido mientras limpias.

Paso 2: Cambia TODAS las contraseñas

Inmediatamente. No mañana, no después de investigar. Ahora. Si el atacante tiene acceso, cada minuto que pase puede hacer más daño.

Contraseñas que debes cambiar:

  • WordPress: la contraseña de administrador y la de todos los usuarios con rol de editor o superior.
  • Hosting / cPanel / FTP: el acceso al servidor donde está tu web.
  • Base de datos: el usuario MySQL que usa WordPress para conectarse.
  • Claves de autenticación de WordPress: las claves secretas en wp-config.php que gestionan las sesiones. Al cambiarlas, todas las sesiones activas (incluidas las del atacante) se invalidan.
wp-config.php
// Regenera estas claves en: https://api.wordpress.org/secret-key/1.1/salt/
define('AUTH_KEY',         'tu-clave-unica-aqui');
define('SECURE_AUTH_KEY',  'tu-clave-unica-aqui');
define('LOGGED_IN_KEY',    'tu-clave-unica-aqui');
define('NONCE_KEY',        'tu-clave-unica-aqui');
define('AUTH_SALT',        'tu-clave-unica-aqui');
define('SECURE_AUTH_SALT', 'tu-clave-unica-aqui');
define('LOGGED_IN_SALT',   'tu-clave-unica-aqui');
define('NONCE_SALT',       'tu-clave-unica-aqui');

Visita la URL del generador, copia las 8 líneas completas y pégalas en tu wp-config.php reemplazando las existentes. Esto cierra cualquier sesión abierta.

Paso 3: Escanea y limpia el malware

Ahora sí, toca encontrar y eliminar el código malicioso. Tienes varias opciones:

Opción 1: Plugin Wordfence (gratuito)

Instala Wordfence y ejecuta un escaneo completo. Es capaz de detectar archivos modificados comparándolos con los originales de WordPress.org. Te muestra exactamente qué archivos han sido alterados y te permite restaurarlos.

Opción 2: Sucuri SiteCheck (online, gratuito)

Entra en sitecheck.sucuri.net y pon la URL de tu web. Es un escaneo externo que detecta malware visible, blacklisting y anomalías. No es tan profundo como Wordfence, pero es un buen primer diagnóstico.

Opción 3: Limpieza manual (avanzado)

Si tienes conocimientos técnicos:

  • Busca archivos .php en /wp-content/uploads/. No debería haber ninguno.
  • Revisa los archivos de WordPress core (wp-admin/, wp-includes/) comparándolos con una instalación limpia descargada de wordpress.org.
  • Busca funciones sospechosas: eval(), base64_decode(), gzinflate(), str_rot13(). Son las que suele usar el malware para ofuscarse.
  • Revisa .htaccess en la raíz y en /wp-content/. Los atacantes suelen añadir reglas de redirección aquí.

Paso 4: Actualiza TODO

Uno de los vectores de entrada más comunes son los plugins y temas desactualizados con vulnerabilidades conocidas. Después de limpiar:

  • Actualiza WordPress a la última versión.
  • Actualiza todos los plugins sin excepción.
  • Actualiza el tema activo.
  • Elimina (no desactivar, eliminar) los plugins que no uses. Un plugin desactivado pero presente en el servidor sigue siendo un vector de ataque.
  • Elimina los temas inactivos. WordPress solo necesita el tema activo. Como mucho, deja también un tema por defecto (Twenty Twenty-Five) como fallback.

Paso 5: Revisa los usuarios

Los atacantes a menudo crean usuarios administradores ocultos para mantener acceso incluso después de que cambies contraseñas. Ve a Usuarios en el panel de WordPress y revisa:

  • ¿Hay usuarios que no reconoces?
  • ¿Algún usuario tiene rol de Administrador que no debería tenerlo?
  • ¿Hay emails asociados que no son tuyos?

Elimina cualquier usuario sospechoso inmediatamente. Si quieres ser exhaustivo, revisa directamente en la base de datos la tabla wp_users y wp_usermeta buscando entradas con wp_capabilities que contengan administrator.

Paso 6: Solicita revisión a Google

Si Google muestra un aviso de seguridad en los resultados de búsqueda, necesitas pedirle que revise tu web una vez limpia:

  1. Entra en Google Search Console (si no tienes cuenta, créala y verifica tu propiedad).
  2. Ve a la sección Problemas de seguridad.
  3. Revisa los problemas que Google ha detectado. Asegúrate de haberlos resuelto todos.
  4. Haz clic en Solicitar revisión y describe brevemente lo que hiciste para limpiar la web.
  5. Espera. Google suele tardar entre 24 y 72 horas en verificar.

Mientras Google no retire el aviso, tu web seguirá mostrando la advertencia roja en los resultados de búsqueda y en Chrome. Es normal y no significa que no esté limpia. Simplemente Google necesita tiempo para verificarlo. No solicites revisiones repetidas: solo ralentiza el proceso.

¿Cómo evitar que vuelva a pasar?

Limpiar un hackeo sin reforzar la seguridad es como arreglar la cerradura sin cambiar la llave. Estas son las medidas de prevención esenciales:

  • Mantén WordPress, plugins y temas siempre actualizados. La mayoría de hackeos explotan vulnerabilidades ya conocidas y parcheadas. Si no actualizas, estás dejando la puerta abierta.
  • Usa contraseñas fuertes y únicas. Nada de "admin123" o el nombre de tu mascota. Un gestor de contraseñas como Bitwarden (gratuito) te facilita la vida.
  • Activa la autenticación en dos pasos (2FA). Con un plugin como WP 2FA o Wordfence Login Security. Aunque alguien consiga tu contraseña, no podrá entrar sin el segundo factor.
  • Configura backups automáticos diarios. Si tu hosting no los incluye, usa un plugin como UpdraftPlus. Backups en un destino externo (Google Drive, Dropbox), no en el mismo servidor.
  • Instala un firewall de aplicación web. Wordfence (gratuito) o Cloudflare (plan gratuito con protección básica) bloquean los ataques más comunes antes de que lleguen a WordPress.
  • Elimina plugins y temas que no uses. Cada plugin es un potencial punto de entrada. Menos plugins = menos superficie de ataque.
  • Usa un hosting con seguridad proactiva. No todos los hostings son iguales. Algunos como SiteGround o Kinsta incluyen escaneos de malware, firewalls a nivel de servidor y aislamiento de cuentas.
  • Limita los intentos de login. Por defecto, WordPress permite intentos ilimitados. Un plugin de seguridad o una regla en Cloudflare pueden bloquear ataques de fuerza bruta.

¿Cuánto cuesta recuperar una web hackeada?

Depende de la gravedad. Una limpieza profesional con revisión completa, eliminación de malware, refuerzo de seguridad y solicitud de revisión a Google cuesta entre 300 y 800 EUR según la complejidad.

¿La alternativa? Un plan de mantenimiento que incluye actualizaciones, backups y monitorización de seguridad, desde 39 EUR/mes. Es la diferencia entre pagar el bombero o pagar el seguro.

En Desatranques WEB ofrecemos recuperación ante malware con garantía de limpieza completa. Encontramos el problema, lo eliminamos y reforzamos tu web para que no vuelva a ocurrir.

Servicio de seguridad WordPress

Recuperación de emergencia, limpieza de malware y protección proactiva. Garantía de limpieza completa.

Conclusión

Un hackeo no es el fin del mundo si actúas rápido y con método. Los pasos son claros: no borrar evidencias, cambiar contraseñas, limpiar malware, actualizar todo, revisar usuarios y pedir revisión a Google.

Pero la mejor estrategia siempre es que no llegue a ocurrir. Actualizaciones al día, contraseñas fuertes, backups diarios y un firewall configurado. Si no tienes tiempo o conocimientos para gestionarlo tú, externalízalo. Es una inversión que se paga sola la primera vez que evita un desastre.