GUÍA · SEGURIDAD

Mi sitio WordPress fue hackeado: qué hacer, en orden

Si te hackearon el WordPress, el orden es este: poné el sitio en mantenimiento, sacá una copia de archivos y base antes de tocar nada, cambiá todas las claves, revocá las contraseñas de aplicación y recién ahí buscá el malware. Cambiar la contraseña de wp-admin sola casi nunca alcanza. En los incidentes que atendimos, el atacante ya tenía otra llave: una contraseña de aplicación robada, un administrador oculto o un plugin falso con su propio cron. La señal de que quedó una capa viva es simple: si borrás al administrador fantasma y reaparece, hay algo activo re-creándolo.

ACTUALIZADO EN JULIO DE 2026

¿Cómo me doy cuenta de que hackearon mi WordPress?

Los síntomas más frecuentes son seis: el sitio redirige a páginas de casino o apuestas, el navegador muestra la advertencia roja de «sitio peligroso», aparecen publicaciones en japonés o ruso, el hosting suspende la cuenta por spam, no podés entrar a wp-admin, o figura un usuario administrador que vos no creaste.

Ojo con una trampa: un WordPress infectado puede verse perfecto para vos. Muchas infecciones muestran el spam solo a Google, o solo a quien llega desde el buscador, y le sirven la página normal al que escribe el dominio a mano. Por eso el chequeo más rápido no es abrir tu sitio.

Cinco señales que casi nadie mira y que confirman el diagnóstico en diez minutos:

  • Buscá `site:tudominio.com.ar` en Google. Si aparecen títulos que nunca escribiste, hay contenido spam indexado con tu dominio.
  • Entrá a Search Console, sección Seguridad y acciones manuales. Ahí figura el aviso de «Sitio comprometido» si Google ya lo detectó.
  • Mirá la lista de usuarios y la fecha de registro. Los usuarios spam suelen entrar de golpe, decenas el mismo día.
  • Revisá la fecha de modificación de los archivos en el servidor. Un `functions.php` o un `index.php` modificado ayer, sin que nadie tocara el sitio, es bandera roja.
  • Fijate si te llegan rebotes de mails que no mandaste. Es el síntoma clásico de un sitio usado para enviar spam.

¿Qué hago en las primeras horas?

Primero contené, después limpiá. El orden que usamos es: mantenimiento, copia forense, cambio de todas las claves, revocación de contraseñas de aplicación, cierre de sesiones y aviso al hosting. Recién después se sale a buscar el malware.

No borres nada en caliente. Borrar el archivo raro antes de entender cómo llegó te deja sin evidencia y con la puerta abierta.

  • 1. Poné el sitio en mantenimiento, no lo elimines. Si está redirigiendo o mandando spam, un rato abajo es mejor que quedar marcado por Google y suspendido por el hosting.
  • 2. Sacá una copia completa de archivos y base de datos antes de tocar nada, guardada fuera de la carpeta pública. Es tu evidencia y tu red.
  • 3. Cambiá TODAS las claves, no solo la de wp-admin: panel de hosting, FTP, base de datos en el `wp-config.php` y cada usuario administrador.
  • 4. Revocá las contraseñas de aplicación de todos los usuarios (Usuarios → Perfil → Contraseñas de aplicación). Es el paso que casi nadie hace.
  • 5. Cambiá las claves SALT del `wp-config.php`. Eso invalida todas las sesiones abiertas, incluida la del atacante.
  • 6. Listá los administradores consultando la base de datos, no solo el panel. Hay malware que oculta usuarios filtrando lo que WordPress muestra en pantalla.
  • 7. Avisale al hosting y pedí los logs de acceso del último mes. Si tenés varios sitios en la misma cuenta, revisalos todos: la infección salta entre carpetas.

¿Por qué cambiar la contraseña no alcanza?

Porque la contraseña de wp-admin no es la única llave. WordPress permite crear contraseñas de aplicación, que son claves aparte para publicar por la API sin pasar por el formulario de acceso. Si el atacante robó una, sigue publicando aunque cambies la clave principal veinte veces: cambiarla no las revoca.

Lo vimos tal cual en incidentes reales. El cliente cambiaba la clave, el sitio quedaba limpio unas horas y volvían a aparecer publicaciones nuevas. No había ningún login sospechoso en los logs, porque las publicaciones entraban por la REST API con una contraseña de aplicación que seguía viva.

El segundo motivo es peor. Si quedó un re-creador, ni siquiera necesita tu clave: un pedazo de código en el `functions.php` del tema le alcanza para crear un administrador nuevo cada vez que alguien carga una página de tu sitio.

Si el administrador fantasma reaparece, quedó una capa viva

Esa es la señal clave y es binaria. Si borrás el usuario administrador que no creaste y a las horas vuelve, no lo estás borrando mal: hay algo activo re-creándolo. Encontrar ese re-creador es el trabajo real de una limpieza. Borrar el usuario es apenas apagar el síntoma.

Estas son las capas de persistencia que nos encontramos en sitios WordPress reales, con la señal que las delata y el motivo por el que sobreviven a un cambio de contraseña:

Hay además otros escondites conocidos de WordPress que cualquier limpieza seria descarta uno por uno, aunque no sean los que más nos tocó encontrar a nosotros:

En los sitios que atendimos estas capas aparecieron combinadas, no de a una. Por eso «reinstalá WordPress» o «pasale un plugin de seguridad» no cierra el tema: el core queda limpio y el plugin falso con su cron, el re-creador del `functions.php` y la contraseña de aplicación siguen exactamente donde estaban.

  • Carpeta `mu-plugins` (must-use): WordPress carga esos archivos siempre y no se pueden desactivar desde el panel, por eso no figuran en la lista normal de plugins.
  • Trigger dentro de la base de datos MySQL: no vive en ningún archivo, así que reinstalar WordPress no lo toca y el usuario se puede re-crear al insertar o actualizar registros.
  • Código inyectado adentro de un archivo legítimo del core o de un plugin: un escaneo que busca «archivos raros» no lo ve, porque el archivo es el que corresponde; lo que delata es la fecha de modificación.

¿Los backups guardados adentro del sitio son un riesgo?

Sí, y es de los más grandes. Un backup guardado dentro de `public_html` se descarga desde el navegador si alguien conoce la URL. Adentro va la base entera: mails, teléfonos, pedidos y los hashes de contraseña de todos tus usuarios. No hace falta hackear nada, alcanza con adivinar el nombre del archivo.

En un sitio que administramos detectamos un intento de inyección SQL ciega por tiempo contra la REST API, con pedidos anidados a un endpoint batch. El objetivo era robar la clave secreta de un plugin de backups. Con esa clave, cualquiera podía descargar la base completa sin estar logueado.

Si vendés online, esa base es tu negocio y además un problema de datos personales. Según el Estudio Anual de Comercio Electrónico 2025 de CACE, el e-commerce argentino cerró 253 millones de órdenes en 2025: cada pedido guardado en tu tienda online en WooCommerce tiene nombre, mail y teléfono de una persona real.

  • Sacá los backups de la carpeta pública. Van a almacenamiento externo o a una carpeta fuera de `public_html`.
  • Borrá los `.wpress` y `.zip` viejos que quedaron olvidados en el servidor. Cada uno es una copia de tu base esperando que alguien la encuentre.
  • Probá una restauración de vez en cuando. Un backup que nunca restauraste no es un backup: es una carpeta pesada.

¿Cómo entraron? Casi nunca es un ataque dirigido

En la mayoría de los incidentes que atendimos la causa raíz fue aburrida: contraseña débil o reutilizada, más el registro de usuarios abierto sin que nadie lo mirara. No hubo un hacker eligiéndote a vos. Hubo un bot probando claves contra miles de sitios por hora.

El registro abierto explica esas granjas de usuarios spam que aparecen de a cientos. WordPress trae esa opción apagada, pero muchos temas y plugins la encienden y queda así para siempre. Si no la usás, apagala hoy: Ajustes → General → «Cualquiera puede registrarse».

El otro clásico es la reinfección por la puerta del hosting: si la clave del panel o del FTP no se cambia, la limpieza puede estar perfecta y la llave sigue tirada en la calle.

Y el contexto no ayuda. En su informe de amenazas a PyMEs 2026, Kaspersky detectó más de 33.300 ataques contra pequeñas y medianas empresas entre enero y abril de 2026 disfrazados de herramientas de IA populares, casi cinco veces más que en 2025.

¿Cómo evito que vuelva a pasar?

Cerrando la puerta por la que entraron y bajando la superficie de ataque. Estas son las ocho medidas que aplicamos después de cada limpieza.

Ninguna es cara ni complicada. Lo caro es la limpieza que hay que repetir porque la causa raíz quedó abierta.

  • 1. Cerrá el registro de usuarios si no lo usás. Corta de raíz las granjas de usuarios spam.
  • 2. Cambiá también la clave del panel de hosting y del FTP, no solo la de WordPress. Si esa queda vieja, todo lo demás no sirve.
  • 3. Revisá las contraseñas de aplicación cada tanto y borrá las que nadie reconoce. Sobreviven a cualquier cambio de clave.
  • 4. Sacá los backups de la carpeta pública y borrá los archivos viejos que quedaron ahí.
  • 5. Actualizá plugins y temas, y eliminá los que no usás. Un plugin desactivado igual tiene archivos accesibles desde afuera.
  • 6. Bloqueá la ejecución de PHP dentro de `/wp-content/uploads/`. Es donde casi siempre aterriza el archivo subido por el atacante.
  • 7. Activá doble factor en los usuarios administradores. Contra un bot que prueba claves, es el freno más barato.
  • 8. Poné una alerta cuando se cree un usuario administrador. Es la forma más rápida de enterarte de que algo volvió.

¿Cuánto sale una limpieza, cuánto tarda y qué garantía tiene?

En Point Web no publicamos tarifas de limpieza, porque el precio depende de lo que se encuentra. No es lo mismo un sitio institucional con una inyección que una tienda con varias capas de persistencia y contenido legítimo para recuperar. Lo que sí podemos decirte es qué exigirle a quien la haga.

Sobre la garantía, seamos claros: nadie puede garantizarte que no te vuelvan a atacar. Lo que sí tenés derecho a exigir es que busquen la causa raíz y te la expliquen con archivo, fecha y evidencia, no que te digan «ya está limpio». En la mayoría de los casos se llega; cuando no se llega, también te lo tienen que decir. Si te prometen inmunidad total, te están vendiendo humo.

Con los plazos de Google pasa lo mismo. Después de limpiar se pide la revisión desde Search Console y Google la responde cuando la procesa. Cualquiera que te asegure que te saca la advertencia en 24 horas está prometiendo algo que no maneja.

  • Que te digan cómo entraron, no solo qué borraron.
  • Que te listen las capas de persistencia encontradas, con nombre de archivo o de tabla.
  • Que te muestren qué se cerró para que no vuelva a pasar.
  • Que hayan guardado una copia previa antes de tocar el sitio.
  • Que haya una revisión posterior a los días, cuando el re-creador que quedó suelto ya se habría manifestado.
PREGUNTAS FRECUENTES

Preguntas frecuentes

¿Me pueden robar los datos de mis clientes?

Sí. Si el atacante llegó a la base de datos, tiene nombres, mails, teléfonos, direcciones de envío y los hashes de contraseña de tus usuarios. Y si tenías backups guardados dentro de la carpeta pública, ni siquiera necesitó entrar: pudo descargar la base completa desde el navegador conociendo la URL del archivo.

¿Alcanza con restaurar un backup y listo?

Casi nunca alcanza, por dos motivos. Primero, la infección suele ser más vieja que el backup: restaurás y volvés a poner el malware. Segundo, el backup no cierra la puerta de entrada. Si entraron por una clave débil o por el registro abierto, con el sitio restaurado vuelven a entrar igual.

¿Pierdo el posicionamiento en Google? ¿Cuánto tarda en sacarme la advertencia?

El contenido spam indexado y el aviso de sitio peligroso te afectan mientras están activos. Después de limpiar hay que pedir la revisión desde Search Console y eliminar las URLs spam indexadas. No hay un plazo oficial garantizado: Google responde cuando procesa la revisión. Desconfiá de quien te promete un plazo exacto.

¿Se puede limpiar sin perder el contenido del sitio?

Sí, en general se puede. El objetivo de una limpieza bien hecha es sacar el código inyectado y dejar las páginas, productos, imágenes y pedidos donde estaban. Lo que sí puede perderse son personalizaciones que vivían dentro de un archivo del tema que quedó comprometido, y por eso se saca copia antes de tocar.

¿Se puede volver a infectar después de limpiarlo?

Sí, y pasa. Las dos causas más comunes son que quedó una capa de persistencia sin encontrar (un cron, un mu-plugin, un trigger en la base) o que no se cambió alguna clave, típicamente la del panel de hosting o la del FTP. La señal temprana es el administrador fantasma que reaparece.

¿Sirve un plugin de seguridad gratis?

Sirve para prevenir y para monitorear, no para limpiar una infección instalada. Un plugin detecta bien los archivos extraños, pero el código inyectado dentro de un archivo legítimo, el trigger en la base de datos y la contraseña de aplicación robada quedan fuera de su alcance. Es una alarma, no un servicio de limpieza.

¿El hosting me lo limpia gratis?

Depende del hosting y del plan. Muchos suspenden la cuenta para frenar el spam y te avisan que el problema es tuyo; otros ofrecen limpieza como servicio pago. Lo que casi ningún hosting hace es investigar cómo entraron y cerrar la causa raíz, que es la parte que evita la reinfección.

¿Tengo que rehacer el sitio de cero?

No por estar infectado. Rehacerlo se justifica cuando el sitio ya venía viejo, sin actualizar y difícil de mantener, y la infección fue el empujón final. Si estás en esa situación, mirá primero qué necesitás para vender online en Argentina antes de decidir sobre qué base lo rehacés.

¿Tengo que avisarle a mis clientes?

Si hay indicios de que se accedió a datos personales de tus usuarios o compradores, corresponde avisar. Es lo honesto y además evita que se enteren por otro lado. Un mensaje corto y claro, contando qué pasó, qué datos pudieron estar expuestos y qué les conviene hacer, alcanza.

¿Cómo sé si el sitio quedó realmente limpio?

Con tres chequeos, unos días después. Uno: buscá `site:tudominio.com.ar` en Google y verificá que no queden títulos spam indexados. Dos: revisá que no haya vuelto a aparecer ningún usuario administrador nuevo. Tres: mirá si algún archivo del sitio cambió de fecha sin que nadie lo tocara.

Si sospechás que tu WordPress está infectado, no borres nada todavía: sacá una copia de archivos y base, y después vemos. En Point Web somos un equipo argentino propio de web, pauta y redes, con más de 700 proyectos entregados desde 2021 y oficina en Palermo. Si querés, escribinos y lo miramos con vos: lo primero es confirmar si es una infección real y qué capas hay detrás. Estamos por WhatsApp al 11 2462-3183 o en el formulario de contacto.

Point Web — Nicaragua 5812, Palermo, CABA · WhatsApp 11 2462-3183 · proyectos@pointwebglobal.com