La mayoría de los sitios infectados no muestran una calavera ni un mensaje de rescate. Muestran lo de siempre, funcionan casi igual, y mientras tanto redirigen visitas a otro lado, meten enlaces de spam o envían correo desde tu dominio. El dueño se entera semanas después, cuando Google marca el sitio como peligroso o cuando un cliente le avisa que su antivirus bloqueó la página. Esta guía es para reconocer ese escenario, contenerlo sin empeorarlo y volver a tener una web limpia, en ese orden.

Qué significa que tu sitio tenga malware

Malware en una web es código que hace algo que tú no autorizaste: redirigir visitantes, inyectar enlaces, robar credenciales de tus formularios, enviar correo masivo desde tu servidor o dejar una puerta abierta para volver a entrar. No siempre es un ataque dirigido a tu empresa. Lo habitual es un barrido automático que busca sitios con un complemento desactualizado, una clave débil o un archivo con permisos abiertos, y entra al primero que encuentra.

Hay tres ideas que conviene tener claras antes de tocar nada:

  • El sitio puede estar infectado y verse normal. El código malicioso suele cargarse solo para buscadores o solo para visitantes que vienen de un enlace, así que tú no lo ves.
  • La infección casi nunca está donde miras. No está en la portada: está en un archivo del tema, en un complemento abandonado, en la base de datos o en un archivo de configuración del servidor.
  • Borrar el síntoma no elimina la causa. Si solo quitas el enlace o el mensaje y no cierras la vía de entrada, vuelve en días o semanas.

Señales de que tu web está infectada

Estas son las que aparecen en la práctica, ordenadas de la más visible a la más silenciosa:

  • Google muestra un aviso de “sitio engañoso” o “este sitio puede dañar tu equipo” al entrar desde una búsqueda.
  • Search Console avisa de problemas de seguridad o de acciones manuales por spam.
  • Aparecen enlaces, páginas o palabras que nadie de tu equipo escribió: farmacias, apuestas, réplicas de marcas.
  • Los visitantes llegan a otro dominio después de un segundo, sobre todo desde el celular.
  • Tu dominio empieza a aparecer en listas de correo no deseado y los correos de la empresa rebotan o caen en spam.
  • El sitio se pone lento sin motivo, o el hosting suspende la cuenta por consumo o por envío de correo masivo.
  • Hay usuarios administradores que tú no creaste, o archivos con fechas de modificación que no coinciden con ningún cambio.
  • El certificado SSL o el DNS cambian sin que nadie los haya tocado.

Si te reconoces en dos o más de estos puntos, trata el sitio como comprometido hasta demostrar lo contrario. Y ojo: que la web aparezca como no segura también puede ser un síntoma de manipulación, no solo de un certificado vencido.

Cómo confirmar el contagio sin empeorarlo

Antes de entrar a borrar archivos, confirma el diagnóstico con evidencia. La tentación de “limpiar rápido” es la que suele destruir la evidencia que necesitas para entender por dónde entraron.

  1. Guarda una copia del estado actual, aunque esté infectada: archivos, base de datos y registros de acceso. Sirve para comparar y para saber qué se tocó.
  2. Revisa las herramientas del proveedor. Google Safe Browsing y el apartado de seguridad de Search Console dicen si Google ya detectó el problema. Si tu plan incluye un análisis de malware en el panel, ese es el primer filtro.
  3. Busca archivos modificados fuera de fecha. Compara la fecha de modificación de los archivos con la fecha de tu última actualización o cambio real. Un archivo del tema con fecha de madrugada y sin despliegue asociado es sospechoso.
  4. Verifica la integridad del núcleo y los complementos si el sitio es WordPress y tienes acceso por línea de comandos: wp core verify-checksums y wp plugin verify-checksums --all comparan tus archivos con los oficiales y listan lo que no calza.
  5. Revisa usuarios y accesos. Un administrador nuevo, una clave de aplicación o un acceso FTP que nadie creó explican muchas infecciones.
  6. Lee los registros del servidor. Peticiones repetidas a un mismo archivo, envíos POST a rutas que no existen o accesos desde direcciones raras en el panel muestran la vía de entrada.

Con eso ya no estás adivinando: sabes si hay código ajeno, cuándo apareció y por dónde entró.

Los primeros pasos: contener el contagio

Contener es evitar que el daño crezca mientras investigas. No es limpiar todavía.

AcciónPara qué sirve
Poner el sitio en mantenimiento o suspender la publicaciónCorta la exposición de los visitantes y el envío de spam
Cambiar contraseñas de panel, FTP, base de datos y WordPressCierra la sesión del intruso, que suele seguir dentro
Revocar claves de aplicación, tokens y accesos de integracionesElimina puertas que no dependen de la contraseña
Avisar al proveedor de hostingActiva sus controles y evita que suspendan la cuenta sin contexto
Revisar el correo del dominioUn sitio comprometido suele venir con buzones comprometidos
Guardar evidencia antes de borrarPermite saber si la limpieza funcionó y si el ataque puede repetirse

Si el sitio procesa pagos o guarda datos de clientes, la contención incluye una revisión seria de qué información pudo quedar expuesta. En Chile, la Ley 21.719 sobre datos personales establece obligaciones cuando hay incidentes que afectan datos: si el sitio tenía formularios, pedidos o cuentas de clientes, conviene evaluar el caso con asesoría legal antes de decidir si corresponde notificar.

Cómo eliminar el malware

Aquí hay dos caminos válidos, y elegir bien ahorra días:

Camino A: restaurar un respaldo anterior al contagio. Es el más limpio cuando tienes una copia sana y sabes la fecha aproximada del inicio. Restaura archivos y base de datos, actualiza todo antes de volver a publicar y cambia las credenciales que existían en esa copia. El error clásico es restaurar sobre un sitio que sigue vulnerable: vuelve a caer en cuestión de días. Si no tienes claro que tus copias sirven, revisa cómo comprobar que puedes recuperar tu web antes de confiar en ellas.

Camino B: limpiar el sitio infectado. Se justifica cuando el respaldo es muy antiguo y perderías contenido o pedidos, o cuando no hay copias. Implica revisar archivos y base de datos, no solo los plugins:

  • Archivos del núcleo, del tema y de los complementos, comparando con las versiones oficiales.
  • wp-config.php, .htaccess y cualquier archivo de arranque que cargue código externo.
  • La base de datos: opciones, widgets, plantillas y entradas con etiquetas de script o enlaces inyectados.
  • Tareas programadas del panel y del propio WordPress, que muchas veces son el mecanismo de reinfección.
  • Archivos subidos a carpetas de carga con extensión ejecutable.

Al terminar, elimina lo que sobró, deja solo los complementos que se usan y actualiza todo. Un sitio limpio pero desactualizado es un sitio infectado esperando la fecha.

Cómo restaurar WordPress sin volver a caer

WordPress concentra la mayoría de los casos por una razón simple: es el objetivo más abundante. El orden que funciona es este:

  1. Restaura o limpia los archivos y la base de datos.
  2. Actualiza núcleo, tema y complementos desde el repositorio oficial, no desde copias descargadas de sitios dudosos.
  3. Elimina los complementos y temas que no estén en uso: código inactivo también se explota.
  4. Cambia todas las claves, incluida la sal de wp-config.php, y cierra sesiones abiertas.
  5. Revisa los usuarios administradores uno por uno.
  6. Publica de nuevo y verifica con el navegador y con Search Console.
  7. Solo entonces libera la caché del sitio y de la red que tengas delante; si publicas antes de limpiar, sirves la versión infectada desde caché.

Si el sitio está detrás de un proxy como Cloudflare, revisa cómo dejarlo delante del hosting sin cortar el correo ni el panel antes de tocar el DNS, porque un cambio apurado en esa capa alarga la caída más de lo necesario.

Qué revisar después de recuperar la web

La limpieza termina cuando el sitio vuelve a estar indexado y sin avisos, no cuando carga. Después de publicar:

  • Search Console. Revisa que no queden problemas de seguridad ni acciones manuales y solicita una revisión si el sitio estuvo marcado.
  • Indexación. Busca páginas nuevas que no reconoces y enlaces salientes inyectados en tu contenido.
  • Sitemap y redirecciones. Confirma que el sitemap solo lista tus URLs y que no hay redirecciones hacia dominios ajenos.
  • Correo. Revisa SPF, DKIM y DMARC, y vigila los rebotes y las quejas de spam durante unas semanas.
  • Respaldos. Verifica que las copias nuevas ya son limpias; si el respaldo automático incluye el código infectado, se convierte en el próximo problema.
  • Analítica. Una caída de tráfico orgánico después de una desinfección es normal por unos días; una caída que sigue bajando indica que algo quedó mal.

Cómo evitar que vuelva a pasar

Ninguna de estas medidas es exótica, y todas cuestan menos que una semana con la web caída:

  • Actualiza núcleo, tema y complementos en un plazo corto, y elimina lo que no uses. La guía para hacerlo sin romper el sitio está en WordPress y plugins al día.
  • Usa doble factor en el panel, en WordPress y en el correo. La mayoría de los accesos indebidos empiezan con una clave reutilizada.
  • Crea un usuario por persona, con el rol mínimo necesario, y borra los que ya no trabajan contigo.
  • Descarga temas y complementos solo del repositorio oficial o de desarrolladores conocidos. Las versiones “premium gratis” traen código de regalo.
  • Mantén respaldos automáticos fuera del hosting, con prueba de restauración.
  • Limita los intentos de acceso y bloquea la edición de archivos desde el panel si no la necesitas.
  • Fija una revisión mensual de usuarios, complementos y fechas de archivos. Quince minutos al mes detectan lo que un análisis automático deja pasar.

Y si el sitio se cayó por saturación más que por un ataque, el diagnóstico es otro: revisa límites de recursos en hosting compartido antes de asumir un compromiso de seguridad.

¿Necesitas ayuda para limpiar tu sitio?

Escríbenos por el formulario de contacto con la URL del sitio, qué viste y desde cuándo, y si tienes acceso al panel y a un respaldo anterior. Con eso te decimos si el caso se resuelve con una restauración controlada o si requiere una limpieza a fondo, y qué revisar para que no vuelva. Si además estás evaluando mover el sitio a un entorno con controles y respaldos gestionados, revisa hosting para empresas y WordPress administrado, y pide que la propuesta incluya el procedimiento de recuperación por escrito.