Si estás leyendo esto, lo más probable es que tu web haga algo raro. Redirige a páginas que no son tuyas, Google enseña resultados en otro idioma o el hosting te ha mandado un aviso. Y mientras sigue así, quien te busca puede encontrarse una pantalla roja de peligro o acabar en una web que no es la tuya. Ese cliente no vuelve, y tampoco te avisa de por qué.
La buena noticia es que una web WordPress infectada casi siempre se puede recuperar, siempre que se haga en el orden correcto.
Esta guía explica cómo desinfectar WordPress paso a paso. Cómo confirmar que de verdad está infectado, qué hacer en la primera hora, cuándo conviene restaurar una copia y cuándo limpiar, cómo limpiar archivos y base de datos, y cómo pedir a Google que retire el aviso cuando termines. Sirve tanto si lo vas a hacer tú como si quieres entender qué debería hacer quien te ayude.
La desinfección de WordPress, en resumen
Si tienes prisa, este es el orden que seguimos en cada limpieza:
- Confirma la infección en el informe de problemas de seguridad de Search Console y con un escáner externo.
- Haz una copia de la web tal como está, con archivos y base de datos, antes de tocar nada.
- Cambia las contraseñas del hosting, del FTP y de la base de datos desde un ordenador limpio.
- Decide si restauras o limpias. Restaurar solo vale con una copia anterior a la infección.
- Sustituye el núcleo, los plugins y el tema por versiones descargadas de su origen oficial.
- Busca lo que el atacante dejó, como archivos sueltos, usuarios ocultos y código en la base de datos.
- Regenera las claves de seguridad, vuelve a cambiar todas las contraseñas y actualízalo todo.
- Pide a Google la revisión desde Search Console cuando la web esté limpia del todo.
Cada paso tiene su porqué y sus trampas. Vamos uno a uno.
Cómo saber si tu WordPress está infectado
Una web infectada no siempre se cae. Muchas veces sigue cargando con normalidad, porque al atacante le interesa que no te enteres. Estas son las señales más habituales:
- Redirige a otras webs, pero solo a veces. Por ejemplo, cuando se entra desde Google o desde el móvil, y no cuando entras tú desde el escritorio.
- Google muestra páginas tuyas que no has creado, a menudo con productos, casinos o texto en japonés. Puedes comprobarlo buscando
site:tudominio.comen Google. - Chrome enseña una pantalla roja de aviso antes de entrar, o los resultados de Google llevan una etiqueta de advertencia.
- En Usuarios aparecen administradores que nadie ha creado.
- El hosting te avisa de archivos sospechosos, de un consumo anormal o directamente suspende la cuenta.
- Tus correos empiezan a rebotar o a llegar a spam, porque el servidor se está usando para enviar correo basura.
- La web va mucho más lenta sin que hayas cambiado nada.
Confírmalo en Search Console
La comprobación que más pesa es la de Google. En Search Console, el informe de problemas de seguridad muestra si Google ha detectado contenido hackeado, malware o ingeniería social en tu web, con ejemplos de páginas afectadas. Google indica que ese informe es la fuente de referencia para saber si hay problemas de seguridad y si ya se han resuelto.
Si no tienes la web dada de alta en Search Console, hazlo ahora. Lo vas a necesitar al final para pedir la revisión.
Mírala como la ve Google, no como la ves tú
Muchas infecciones se esconden de quien administra la web. Solo enseñan el contenido malicioso a Google o a quien llega desde el buscador, una técnica que se llama cloaking. Por eso que tú no veas nada raro no significa que esté limpia.
Google recomienda dos formas de verlo con más seguridad. La inspección de URLs de Search Console, que enseña la página tal como la ve Google, o una petición desde la línea de comandos con curl simulando que se llega desde Google. Y aconseja no abrir directamente en el navegador las páginas infectadas, porque el malware puede aprovechar fallos del navegador.
Un escáner externo como Sucuri SiteCheck sirve como segunda opinión rápida. Ten en cuenta que solo ve lo que se carga desde fuera y no lo que hay dentro del servidor.
¿Tu web ya redirige o Google la marca como peligrosa?
Cada día que sigue así, quien te busca se encuentra un aviso de peligro o acaba en otra web. Cuéntanos qué te pasa y te decimos qué hay y qué cuesta limpiarlo antes de tocar nada.
633 24 63 33 · De lunes a viernes, de 9 a 19 h
Lo que tienes que hacer en la primera hora
Antes de borrar nada, ordena la situación. Lo que se hace con prisa en la primera hora es lo que luego impide saber por dónde entraron.
- No borres archivos a ciegas. Un archivo raro es una pista. Si lo eliminas sin mirar, pierdes la información que dice cómo entraron.
- Haz una copia completa de la web infectada, archivos y base de datos, y guárdala aparte marcada como infectada. No es para restaurarla, es para poder analizarla y para tener a dónde volver si la limpieza rompe algo.
- Cambia las contraseñas del panel del hosting, del FTP o SFTP y de la base de datos, y hazlo desde un ordenador que sepas que está limpio. Si el que usas tiene un troyano, el atacante verá también las nuevas.
- Avisa a tu hosting. Muchos tienen copias propias, registros de acceso y herramientas de análisis que tú no ves desde WordPress.
- Si la web guarda datos de clientes, apunta la hora a la que lo has descubierto. Más abajo explicamos por qué importa.
¿Hay que cerrar la web mientras se limpia?
Depende de lo que esté haciendo la infección. Si redirige a tus visitas a otras webs o les ofrece descargas, cada hora abierta es gente que se lleva el problema puesto. En ese caso compensa cerrarla. Si solo ha metido enlaces o páginas de spam que el visitante normal no ve, se puede limpiar con la web en marcha.
Si decides cerrarla, hay dos trampas que conviene evitar.
- Un plugin de «modo mantenimiento» no aísla nada. Tapa la portada a quien entra por la puerta principal, pero los archivos maliciosos siguen respondiendo si alguien los llama por su dirección. El cierre de verdad se hace desde el hosting, por ejemplo protegiendo la carpeta con contraseña o pidiéndoselo a su soporte.
- No cierres con
noindexni devolviendo errores 404 o 410. Google explica en su guía para pausar un negocio online que, para tener una web parada uno o dos días, lo correcto es una página informativa con el código 503, y que esas otras opciones acaban sacando las URL del buscador. Si el cierre va a durar más, recomienda dejar una portada sencilla que se pueda indexar.
¿Restaurar una copia o limpiar la web?
Restaurar una copia de seguridad limpia es lo más rápido, pero solo funciona si se cumplen dos condiciones.
Desliza la tabla para verla entera
| Situación | Qué conviene |
|---|---|
| Tienes una copia de antes de la infección y sabes de qué fecha es | Restaurar, y después cerrar la puerta por la que entraron |
| No sabes cuándo empezó la infección | Limpiar, porque la copia puede estar infectada también |
| Todas las copias son posteriores a la infección | Limpiar |
| La web es pequeña y su contenido está a salvo en otra parte | Valorar rehacerla en una instalación nueva |
| Has restaurado y la infección vuelve a los pocos días | Limpiar a fondo y buscar la puerta trasera que quedó |
Si la conclusión es que sale más a cuenta empezar de cero, en cuánto cuesta una página web tienes precios reales para hacer números antes de decidir.
Hay un detalle que se olvida mucho. Restaurar no arregla el fallo por el que entraron. Si el origen fue un plugin vulnerable, la copia restaurada lleva ese mismo plugin, y la web se volverá a infectar. Restaurar es el principio de la desinfección, no el final.
Por dónde suele entrar el malware en WordPress
Saber por dónde entraron es lo que evita que vuelvan a entrar. Casi nadie ataca a mano una web pequeña. Lo habitual son programas automáticos que recorren internet buscando versiones con fallos conocidos, y entran donde los encuentran.
- Plugins desactualizados. Según el informe de Patchstack sobre 2024, ese año se publicaron 7.966 vulnerabilidades nuevas en el ecosistema de WordPress, y el 96 % estaban en plugins. Los temas sumaron el 4 % y el núcleo, siete en todo el año.
- Temas y plugins abandonados. Siguen funcionando, pero ya no les llegan correcciones de seguridad.
- Temas y plugins pirateados. Las versiones de pago descargadas de webs piratas vienen modificadas de origen.
- Contraseñas débiles o repetidas en el escritorio de WordPress, el FTP o el panel del hosting.
- Usuarios que ya no deberían tener acceso, como antiguos proveedores o colaboradores que nadie dio de baja.
Si no averiguas cuál de estas fue tu puerta de entrada, limpiar es solo ganar tiempo hasta la próxima infección.
¿Prefieres que lo hagamos nosotros?
Los pasos que vienen exigen moverse por el hosting, el FTP y la base de datos, y un error ahí puede dejar la web peor de lo que estaba. Si no te ves con ello, nos encargamos de la limpieza y de cerrar la puerta por la que entraron.
633 24 63 33 · De lunes a viernes, de 9 a 19 h
Cómo desinfectar WordPress paso a paso
Esta es la parte técnica. Si no te manejas con el gestor de archivos del hosting, el FTP o la base de datos, lee igualmente los pasos. Te servirán para saber qué tiene que hacer quien se encargue y para comprobar que lo hace.
1. Copia de seguridad de la web tal como está
Si no la hiciste en la primera hora, hazla ahora. Archivos completos y una exportación de la base de datos. Es tu red de seguridad para todo lo que viene después.
2. Sustituye el núcleo de WordPress por una copia limpia
Los archivos del núcleo, que son las carpetas wp-admin y wp-includes y los archivos sueltos de la raíz, son iguales en todas las instalaciones de la misma versión. Eso permite reemplazarlos enteros sin perder nada tuyo.
- Mira qué versión tienes en el archivo
wp-includes/version.php, en la línea de$wp_version. - Descarga esa misma versión desde el archivo oficial de versiones de WordPress.
- Borra del servidor las carpetas
wp-adminywp-includesy súbelas desde la copia limpia. - Sustituye también los archivos de la raíz, excepto
wp-config.php, y no toques la carpetawp-content.
Si tienes acceso a WP-CLI, puedes comprobar qué archivos del núcleo no coinciden con los originales antes y después del cambio. El comando compara cada archivo con las sumas de verificación oficiales de WordPress.org.
wp core verify-checksums --include-root
Con --include-root avisa además de cualquier archivo de la raíz que no forme parte de WordPress, que es justo donde suelen esconderse los añadidos del atacante.
Sobre wp-config.php. Hay guías que recomiendan rehacerlo a partir de wp-config-sample.php. Ojo, porque esa plantilla trae el prefijo de tablas por defecto, wp_, y si tu instalación usa otro la web dejará de encontrar sus datos. Es más seguro abrir el wp-config.php que ya tienes y revisarlo línea a línea. Busca código que no sean las definiciones habituales, sobre todo al principio y al final del archivo.
3. Reinstala los plugins y el tema desde su origen
Los plugins y el tema son la puerta de entrada más habitual y también el sitio donde más se esconden los restos. No basta con actualizarlos, conviene reemplazarlos.
- Borra los plugins y temas que no uses, aunque estén desactivados. Un plugin desactivado sigue en el servidor y sus archivos se pueden ejecutar.
- Reinstala cada plugin del repositorio oficial desde WordPress.org. Con WP-CLI puedes comprobar antes cuáles tienen archivos modificados.
wp plugin verify-checksums --all
- Los plugins y temas de pago se descargan de nuevo de la web del fabricante, con tu licencia. Este comando solo puede comprobar los del repositorio oficial.
- Si usas un tema hijo, revisa sus archivos a mano, sobre todo
functions.php, porque es tuyo y no hay copia original con la que compararlo. - No uses nunca plugins ni temas de pago descargados de webs piratas. Es una de las formas más directas de meter malware en una web, porque vienen modificados de origen.
4. Busca lo que el atacante dejó en los archivos
Con el núcleo, los plugins y el tema reemplazados, lo que queda por revisar es lo que es tuyo y lo que no debería estar.
- La carpeta
wp-content/uploads. Ahí van imágenes y documentos. Un archivo.phpdentro deuploadses muy sospechoso. - La carpeta
wp-content/mu-plugins, si existe. Los plugins que hay ahí se cargan siempre, no se pueden desactivar desde el escritorio y no salen en la lista normal de plugins, solo en una sección aparte que casi nadie mira. Por eso son un escondite habitual. - El archivo
.htaccessde la raíz y de cualquier subcarpeta. Google cita las redirecciones metidas en la configuración del servidor como una de las técnicas habituales de los atacantes. - Archivos con nombres que imitan a los de WordPress pero no existen en una instalación limpia, o con fechas de modificación que coinciden con el inicio del problema.
Para buscar código sospechoso, Google sugiere términos como eval, base64_decode y unescape. Cuidado con una cosa. Esas funciones también aparecen en código legítimo, así que un resultado es una pista para revisar, no una orden para borrar.
Aprovecha para mirar los permisos de archivos y carpetas. Una carpeta en la que cualquiera puede escribir es una invitación a que vuelvan a subir algo. La documentación de WordPress sobre permisos da como referencia 755 o 750 para las carpetas y 644 o 640 para los archivos, y advierte de que el 777 deja la puerta abierta a que un atacante tome el control. El valor exacto depende de cómo esté configurado tu servidor, así que si dudas pregúntale al hosting antes de cambiar nada en bloque.
5. Limpia la base de datos
Una web puede tener todos los archivos limpios y seguir infectada desde la base de datos. Es la parte que más se olvida.
- Usuarios. Revisa todos los que tienen rol de administrador y borra los que no reconozcas. Comprueba también la tabla de usuarios directamente, porque algunas infecciones crean administradores que no se ven en el escritorio.
- Opciones del sitio. En la tabla de opciones, comprueba que las direcciones
siteurlyhomeson las tuyas. - Contenido. Busca en entradas y páginas etiquetas
<script>e<iframe>que no hayas puesto tú, y enlaces a webs que no conoces. - Comentarios. Elimina el spam y revisa si hay comentarios con código.
- Tareas programadas. Algunas infecciones se reinstalan solas mediante tareas que WordPress ejecuta cada cierto tiempo. Si tienes WP-CLI,
wp cron event listte enseña cuáles hay.
Antes de borrar nada de la base de datos, comprueba que tienes la copia del paso 1.
6. Pasa un escáner de seguridad
Ahora sí, instala un plugin de seguridad y lanza un análisis completo. La documentación de WordPress cita como escáneres de aplicación Wordfence, Sucuri, GOTMLS y Quttera.
Úsalo como comprobación, no como la limpieza en sí. Un escáner detecta lo que conoce. Lo que no conoce no lo ve, y por eso el trabajo manual de los pasos anteriores sigue siendo necesario.
7. Cierra todos los accesos
La documentación de WordPress para webs hackeadas insiste en cambiar todos los puntos de acceso, no solo la contraseña de WordPress.
- Contraseñas de todos los usuarios con permisos de edición, empezando por los administradores.
- FTP o SFTP, panel del hosting y base de datos. Si cambias la contraseña de la base de datos, actualízala también en
wp-config.php. - Claves de seguridad de
wp-config.php. Regenerarlas cierra todas las sesiones abiertas, también la del atacante si seguía dentro. Con WP-CLI se hace con un comando.
wp config shuffle-salts
- Vuelve a cambiar las contraseñas cuando la web esté limpia. Si las cambiaste al descubrir el ataque y el atacante seguía dentro, puede haberlas visto.
8. Actualiza todo
Con la web limpia, actualiza el núcleo, los plugins y el tema a su última versión. Revisa también la versión de PHP en Herramientas › Salud del sitio.
Y quita cualquier plugin que lleve mucho tiempo sin actualizaciones. Si el desarrollador lo ha abandonado, ya no le van a llegar correcciones de seguridad, y es muy probable que haya sido la puerta de entrada.
Cómo pedir a Google que quite el aviso
Si Google había marcado la web, el aviso no desaparece solo al limpiarla. Hay que pedir una revisión, y Google es claro en las condiciones.
- Corrige el problema en toda la web, no solo en las páginas de ejemplo. Google avisa de que arreglarlo en unas páginas no sirve para recuperar las demás.
- Busca páginas que no hayas creado tú con
site:tudominio.comy elimínalas. Si hay muchas, prueba combinaciones comosite:tudominio.com casinoo con las palabras que veas repetidas en el spam. - Entra en el informe de problemas de seguridad y pulsa Solicitar revisión.
- Explica qué ha pasado. Google pide que la solicitud diga cuál era el problema, qué pasos has dado para resolverlo y qué resultado has conseguido.
- Espera la respuesta sin volver a enviarla. Según Google, la revisión puede tardar de unos días a varias semanas, y reenviarla antes de tener respuesta o pedirla sin haberlo resuelto puede alargar el proceso.
Si la web tenía datos personales
Este paso no sale en casi ninguna guía y es el que más problemas puede dar. Si tu web guarda datos de clientes, como formularios, pedidos, usuarios registrados o reservas, y el atacante ha podido acceder a ellos, no es solo un problema técnico. Es una brecha de datos personales.
Según la Agencia Española de Protección de Datos, quien es responsable de esos datos tiene que notificar la brecha sin dilación y como máximo en 72 horas, contando fines de semana y festivos, salvo que sea improbable que suponga un riesgo para las personas afectadas. Se puede hacer una notificación inicial y completarla después.
La AEPD tiene una herramienta llamada Asesora Brecha que ayuda a decidir si hay que notificar. Si tienes dudas, consúltala o pregunta a quien te lleve la protección de datos.
Las semanas después de la limpieza
Una web recién limpiada está en su momento más delicado. Si quedó una puerta trasera sin encontrar, es ahora cuando se va a notar. Estas comprobaciones son las que te dicen pronto si el trabajo aguanta.
- Deja que Google te avise. Con la web verificada en Search Console, Google manda un correo a los propietarios cuando sospecha que la web está hackeada o es dañina para quien la visita. Revisa además el informe de problemas de seguridad de vez en cuando, sobre todo las primeras semanas.
- Repite las comprobaciones que ya hiciste. Lanza otra vez
wp core verify-checksumsywp plugin verify-checksums --all, o un análisis completo con el plugin de seguridad. Un archivo que vuelve a aparecer es la señal más clara de que algo se quedó dentro. - Mira la lista de usuarios administradores. Un administrador nuevo que nadie ha creado significa que el atacante sigue teniendo una forma de entrar.
- Vuelve a buscar
site:tudominio.comen Google. Si salen páginas nuevas que no son tuyas, la infección no está cerrada.
Si tus correos dejaron de llegar
Cuando un servidor infectado se usa para enviar spam, el dominio o la dirección IP del servidor pueden acabar en listas negras de correo. A partir de ahí tus presupuestos y facturas llegan a la carpeta de spam del cliente, o no llegan.
Limpiar la web no te saca de esas listas. Hay comprobadores gratuitos de listas negras en los que basta escribir el dominio para ver en cuáles aparece. Cada lista tiene su propio proceso para pedir la baja, y no tiene sentido pedirla mientras el servidor siga enviando spam. Si el correo va en el mismo servidor que la web, avisa también al hosting, porque la IP puede ser compartida con otros clientes.
Si la infección vuelve una y otra vez
Si has limpiado a fondo, has cambiado todos los accesos y la web se vuelve a infectar, revisa estas dos cosas por este orden.
- Que no quede nada tuyo abierto. Un plugin abandonado que sigue instalado, un usuario antiguo con permisos o una copia vieja de la web en una subcarpeta del mismo hosting. Las copias olvidadas son un clásico, porque nadie las actualiza.
- Que el problema no esté en el servidor. En un alojamiento compartido mal aislado, otra cuenta infectada puede contaminar la tuya. Pregunta al hosting si han detectado algo en el servidor. Si no te dan respuesta o el problema se repite, cambiar de proveedor es una opción razonable, pero siempre con la web ya limpia. Mudar una web infectada solo lleva la infección a la casa nueva.
Errores habituales al desinfectar WordPress
- Fiarlo todo a un plugin de seguridad. Limpia lo que reconoce y deja lo que no, y la puerta trasera suele estar justo en lo que no reconoce.
- Restaurar una copia sin saber de qué fecha es. Si ya estaba infectada, has perdido tiempo y la infección sigue ahí.
- Limpiar y no cambiar las contraseñas. El atacante vuelve a entrar por la puerta principal.
- Limpiar y no actualizar. El fallo que usaron sigue abierto y la reinfección es cuestión de días.
- Olvidarse de la base de datos. Los archivos quedan impecables y el código malicioso sigue cargándose desde una entrada o una opción.
- No pedir la revisión a Google. La web está limpia, pero el aviso sigue espantando visitas.
- Confiar en un plugin de modo mantenimiento para aislarla. La portada se tapa, pero los archivos maliciosos siguen accesibles.
Cómo evitar que vuelva a pasar
La desinfección termina cuando la web está limpia. La prevención empieza justo después, y es mucho más barata. En cómo evitar hackeos en WordPress explicamos los errores que abren la puerta y cómo cerrarlos.
En resumen, actualizaciones frecuentes y comprobadas, copias de seguridad que se han probado a restaurar, plugins mínimos y mantenidos, y alguien vigilando cuando se publica una vulnerabilidad que afecta a tu web. Si prefieres no tener que acordarte tú, eso es exactamente lo que cubre un mantenimiento WordPress.
Cuándo pedir ayuda
Si has llegado hasta aquí y te ves capaz, adelante. Si los pasos de archivos y base de datos te suenan a otro idioma, o la web vuelve a infectarse después de limpiarla, es el momento de que se encargue alguien con experiencia. Google lo dice así. Arreglar un problema de malware exige saber leer código y, a veces, la configuración del servidor. Puedes contarnos qué le pasa a tu web y te decimos qué vemos antes de presupuestar.
Limpiamos tu WordPress y lo dejamos protegido
La limpieza de una web infectada se presupuesta según lo que encontremos, porque no todas las infecciones cuestan lo mismo. Antes de tocar nada te decimos qué hay y qué cuesta. Y una vez limpia, nuestro mantenimiento WordPress se ocupa de que no vuelva a pasar.
633 24 63 33 · De lunes a viernes, de 9 a 19 h
Preguntas frecuentes sobre la desinfección de WordPress
¿Cómo puedo limpiar WordPress infectado?
Confirma la infección, haz una copia, cambia los accesos, sustituye el núcleo, los plugins y el tema por versiones oficiales, revisa archivos sueltos y base de datos, regenera las claves de seguridad y pide la revisión a Google. Es el proceso de esta guía, y el orden importa.
¿Cuál es el mejor antivirus para WordPress?
No hay uno que lo detecte todo. Wordfence, Sucuri, GOTMLS y Quttera son escáneres conocidos y los cita la propia documentación de WordPress. Sirven para detectar y vigilar, pero no sustituyen una limpieza manual cuando la web ya está infectada.
¿Basta con instalar un plugin de seguridad?
No. Un plugin elimina lo que reconoce, y las infecciones suelen dejar puertas traseras pensadas para no ser reconocidas. Además, si no cambias accesos ni actualizas, el atacante puede volver a entrar por el mismo sitio.
¿Cuánto tarda en limpiarse una web WordPress?
No hay una cifra honesta que valga para todas. Lo que más pesa es si hay una copia limpia que se pueda restaurar y cuántos sitios tocó la infección. Restaurar una copia buena y cerrar la entrada es lo más rápido. Rastrear archivo por archivo y la base de datos lleva bastante más. A eso hay que sumar la revisión de Google, que según su documentación puede ir de unos días a varias semanas.
¿Cuánto tarda Google en quitar el aviso?
Según Google, la revisión de seguridad puede tardar desde unos días hasta varias semanas. Te avisa por correo cuando la recibe y cuando la termina. No la reenvíes mientras esté en curso.
¿Puedo perder el posicionamiento?
Puede afectar. Google intenta mantener el contenido hackeado fuera de sus resultados y puede mostrar avisos en las páginas afectadas, y eso reduce las visitas. Cuanto antes se limpie y se pida la revisión, menos tiempo pasa la web en esa situación.
¿Cuánto cuesta desinfectar una web WordPress?
Depende de lo que haya. No cuesta lo mismo una infección superficial que una con puertas traseras repartidas por archivos y base de datos. Por eso en Sants Web Design lo presupuestamos después de revisar la web y te lo decimos antes de empezar.