Primero: que no cunda el pánico, y no empieces a borrar cosas
Descubrir que tu sitio WordPress fue hackeado es estresante: redirecciones a spam, un aviso de "Este sitio puede estar comprometido" en Google, o un panel al que no puedes entrar. El instinto es empezar a borrar archivos sospechosos de inmediato. No lo hagas.
Borrar al azar destruye la evidencia que necesitas para entender cómo entró el atacante, y suele dejar sin tocar las puertas traseras ocultas que le permiten volver justo después. Un sitio hackeado se recupera mejor con un proceso ordenado y sin prisa: contener, investigar, limpiar, reforzar. Ir directo a "borrar" es la razón por la que muchos sitios se reinfectan a los pocos días.
Este es el orden que de verdad funciona.
Paso 1 — Contener el daño
Antes de limpiar nada, evita que el sitio dañe a los visitantes y que el atacante siga actuando.
- Pon el sitio en modo mantenimiento o déjalo temporalmente fuera de línea desde el panel de hosting. Esto protege a los visitantes del malware y frena el spam que se sirve en tu nombre.
- Cambia todas las contraseñas ahora: administrador de WordPress, panel de hosting, SFTP/SSH, base de datos y cualquier correo vinculado al sitio. Un hackeo suele exponer credenciales, así que da por comprometidas todas.
- Revoca el acceso a usuarios desconocidos, pero anótalos primero (ver Paso 2).
Paso 2 — Investigar antes de limpiar
No puedes eliminar una infección que no has mapeado. Haz inventario de lo afectado:
- Haz una copia de seguridad completa del sitio comprometido tal como está. Suena contraintuitivo, pero quieres una copia para investigar más tarde y a la que recurrir si la limpieza sale mal. Etiquétala claramente como la copia infectada.
- Busca cuentas de administrador desconocidas en Usuarios, Todos los usuarios, filtrando por Administrador. Los atacantes crean usuarios administradores para mantener el acceso.
- Revisa los registros de seguridad y del servidor en busca de accesos o cambios de archivos inusuales, que indican cómo y cuándo entró el atacante.
- Busca una copia de seguridad anterior al hackeo. Pide a tu proveedor todas las copias disponibles y anota las fechas. Una copia limpia previa al hackeo es lo más valioso que puedes tener ahora mismo.
Paso 3 — Limpiar la infección
Hay dos caminos, según esa copia de seguridad.
Si tienes una copia limpia anterior al hackeo, restaurarla es la vía más rápida y fiable: elimina de un paso los archivos maliciosos y los cambios en la base de datos. Tras restaurar, cambia de inmediato todas las contraseñas y actualiza todo antes de que se vuelva a explotar la misma vulnerabilidad.
Si no tienes una copia limpia, la limpieza es manual y cuidadosa:
- Reemplaza el núcleo de WordPress. Descarga una copia nueva desde la fuente oficial y sustituye las carpetas
wp-adminywp-includespor versiones limpias. - Reinstala plugins y temas desde descargas nuevas en lugar de confiar en los archivos existentes, que pueden estar infectados.
- Inspecciona la base de datos en busca de código inyectado, sobre todo en las tablas de entradas y opciones, y elimina usuarios administradores falsos y tareas programadas.
- Revisa los puntos de inyección habituales —
.htaccess,wp-config.phpeindex.php— por si tienen código malicioso.
Lo difícil no es eliminar el malware evidente, sino encontrar cada puerta trasera. Si se te escapa una, la infección vuelve. Si el sitio se reinfecta una y otra vez, la limpieza no estaba completa.
Paso 4 — Salir de la lista negra de Google
Si Google marcó el sitio, limpiarlo no basta: tienes que avisar a Google. Pero solo cuando el sitio esté realmente limpio; una revisión fallida retrasa las siguientes.
En Google Search Console, abre el informe de Problemas de seguridad, confirma que los problemas están resueltos y pulsa Solicitar revisión, describiendo lo que arreglaste. Google suele responder en pocos días. Si tu proveedor suspendió la cuenta, contáctalo por separado con la prueba de que el malware ya no está.
Paso 5 — Reforzar para que no vuelva a pasar
Limpiar sin reforzar solo reinicia el reloj: el mismo agujero se vuelve a explotar, a menudo en horas.
- Actualiza todo: núcleo, todos los plugins, todos los temas. Elimina lo que no uses; los plugins inactivos también son explotables.
- Usa una versión de PHP moderna y con soporte. Las versiones antiguas tienen vulnerabilidades conocidas y sin parchear.
- Añade un firewall y monitorización continua de malware para detectar pronto el siguiente intento.
- Exige contraseñas fuertes y verificación en dos pasos en todas las cuentas de administrador.
- Configura copias de seguridad diarias automáticas y externas, para que cualquier incidente futuro se resuelva con una sola restauración.
Cuándo recurrir a un profesional
Hacerlo tú mismo es realista si tienes una copia limpia y te manejas con soltura en el sistema de archivos y la base de datos. Recurre a un experto cuando: no hay copia limpia, la infección está camuflada o repartida por el servidor, el sitio se reinfecta una y otra vez, o Google y tu proveedor ya están involucrados y cada hora de caída te cuesta dinero.
Con más de 25 años de experiencia asegurando sitios WordPress y basados en PHP, WPSecureGuard realiza eliminación de malware a nivel de servidor, recuperación de listas negras y refuerzo de seguridad, y confirma que el sitio está realmente limpio, no solo con apariencia de limpio.
Si tu sitio está hackeado ahora mismo y quieres resolverlo bien, obtén ayuda de emergencia y lo limpiamos rápido. →

