Limpiar WordPress infectado sin perder contenido
Guía completa para limpiar un WordPress infectado sin perder contenido, con copias de seguridad, escaneo, eliminación de malware y refuerzo de seguridad.
Índice
- Cómo detectar un WordPress infectado
- Primeros pasos antes de limpiar
- Copias de seguridad sin arrastrar el malware
- Escaneo completo de archivos y base de datos
- Limpieza manual de archivos infectados
- Limpieza y reparación de la base de datos
- Reinstalar WordPress, temas y plugins de forma segura
- Comprobaciones finales y verificación con Google
- Cómo evitar futuras infecciones en WordPress
- Preguntas frecuentes
Cómo detectar un WordPress infectado
Antes de limpiar un WordPress infectado sin perder contenido, es fundamental confirmar que realmente existe una infección y entender su alcance. Muchos síntomas pueden confundirse con problemas de rendimiento o errores de configuración, por lo que conviene revisar varios indicios técnicos y visuales. Detectar a tiempo un hackeo reduce el riesgo de pérdida de datos, penalizaciones SEO y bloqueo por parte de navegadores y proveedores de hosting.
Un sitio WordPress comprometido puede mostrar desde simples redirecciones no deseadas hasta la inserción de código malicioso en archivos, base de datos y anuncios. Cuanto más precisa sea la detección, más controlado será el proceso de limpieza y menor la probabilidad de dañar el contenido legítimo del sitio.
- Redirecciones extrañas hacia sitios de spam, casinos, contenido adulto o descargas sospechosas.
- Mensajes de advertencia en el navegador (Chrome, Firefox, Edge) indicando que el sitio puede contener malware o phishing.
- Alertas de Google Search Console sobre contenido hackeado, malware o páginas con código malicioso.
- Incremento anormal del consumo de recursos en el hosting (CPU, memoria, procesos PHP) sin aumento de tráfico.
- Archivos desconocidos en el directorio
wp-content, especialmente enuploads,mu-pluginso en la raíz. - Usuarios administradores nuevos que tú no has creado o cambios de rol inesperados en usuarios existentes.
- Inyección de enlaces de spam en entradas, páginas o widgets, a menudo ocultos con CSS o estilos inline.
- Archivos del núcleo de WordPress modificados, como
wp-config.php,index.phpo.htaccess.
Para confirmar la infección, combina la observación manual con herramientas automáticas: revisa el sitio en modo incógnito, utiliza un escáner online como Sucuri SiteCheck y consulta las notificaciones de tu proveedor de hosting. Cuanta más información reúnas, más fácil será limpiar WordPress sin afectar al contenido legítimo.
Primeros pasos antes de limpiar
Una vez detectada la posible infección, no conviene lanzarse a borrar archivos o desinstalar plugins sin un plan. Los primeros pasos son críticos para poder limpiar WordPress infectado sin perder contenido y minimizar el tiempo de inactividad. El objetivo es aislar el problema, proteger a los visitantes y preparar un entorno seguro de trabajo.
- Activa el modo mantenimiento o bloquea temporalmente el acceso público para evitar que los usuarios carguen páginas infectadas.
- Cambia todas las contraseñas: panel de hosting, FTP/SFTP, base de datos, usuarios de WordPress (especialmente administradores).
- Revisa los usuarios administradores y elimina cualquier cuenta sospechosa o que no reconozcas.
- Anota la fecha y hora en la que detectaste el problema para cruzarlo con registros (logs) del servidor y del hosting.
- Contacta con tu hosting para preguntar si han detectado actividad maliciosa, envíos masivos de correo o scripts sospechosos.
No desinstales WordPress ni borres la base de datos sin un análisis previo. Aunque el sitio esté gravemente comprometido, tu contenido (entradas, páginas, productos, comentarios) suele poder recuperarse si actúas con método y haces copias de seguridad adecuadas antes de cualquier cambio profundo.
Copias de seguridad sin arrastrar el malware
El paso más importante para limpiar un WordPress infectado sin perder contenido es crear copias de seguridad completas, pero lo bastante controladas como para no perpetuar el malware. No basta con descargar todo el sitio tal cual está: necesitas una estrategia que te permita restaurar el contenido limpio sin reintroducir archivos maliciosos.
Idealmente, deberías disponer de copias de seguridad previas a la infección, generadas por tu hosting o por un plugin de backup. Sin embargo, en muchos casos la infección se detecta tarde y las copias recientes ya están contaminadas. Por eso es clave separar el contenido de los archivos ejecutables y del núcleo de WordPress.
- Copia de la base de datos: exporta la base de datos completa desde phpMyAdmin o desde la herramienta de tu hosting en formato SQL.
- Copia de la carpeta
wp-content: descarga todo el directorio, ya que contiene temas, plugins y, sobre todo, la carpetauploadscon tus medios. - Copia de archivos clave: guarda
wp-config.php,.htaccessy cualquier archivo de configuración personalizado. - Evita respaldar el núcleo comprometido: los archivos de WordPress (excepto
wp-content) se pueden reinstalar desde una versión limpia.
Organiza las copias en carpetas separadas: una para la base de datos, otra para wp-content y otra para archivos de configuración. Añade la fecha y una breve descripción (por ejemplo, antes-de-limpieza). Esto te permitirá volver atrás en caso de error durante el proceso de limpieza sin perder tu contenido original.
Escaneo completo de archivos y base de datos
Con las copias de seguridad aseguradas, el siguiente paso para limpiar WordPress infectado sin perder contenido es identificar con precisión qué archivos y tablas están comprometidos. Combinar escáneres automáticos con una revisión manual te ayudará a localizar puertas traseras, scripts ocultos y código inyectado en la base de datos.
Es recomendable realizar el escaneo tanto en el entorno de producción como, si es posible, en una copia del sitio en un entorno de pruebas (staging). De este modo podrás experimentar con la limpieza sin afectar al sitio público hasta que estés seguro de que todo funciona correctamente.
- Escáneres de seguridad para WordPress: plugins como Wordfence, Sucuri Security, iThemes Security o MalCare pueden detectar archivos modificados, patrones de malware y cambios en el núcleo.
- Escaneo desde el hosting: muchos proveedores incluyen antivirus o antimalware que analizan el sistema de archivos y generan informes detallados.
- Comparación con una instalación limpia: descarga la misma versión de WordPress y compara archivos del núcleo con herramientas como diff o comparadores visuales.
- Revisión de la base de datos: busca patrones típicos de inyección, como
<script>,iframe,base64_decode,eval(o URLs extrañas en tablas comowp_postsywp_options. - Análisis de registros (logs): revisa los logs de acceso y error para detectar peticiones sospechosas, intentos de fuerza bruta o subida de archivos.
Documenta todo lo que encuentres: rutas de archivos infectados, tablas afectadas, usuarios implicados y tipos de malware detectados. Esta información será clave para limpiar de forma selectiva y evitar borrar contenido legítimo por error, especialmente en la base de datos y en la carpeta uploads.
Limpieza manual de archivos infectados
La limpieza manual de archivos es una de las tareas más delicadas del proceso. El objetivo es eliminar el código malicioso sin borrar archivos que contengan contenido necesario para el funcionamiento del sitio. En muchos casos, el malware se oculta en archivos con nombres similares a los del núcleo de WordPress o se inyecta al principio o al final de archivos legítimos.
Siempre que sea posible, es preferible reemplazar archivos del núcleo y de plugins por versiones limpias en lugar de intentar editar línea a línea. Sin embargo, en archivos personalizados o en temas hijo tendrás que revisar el código manualmente para no perder personalizaciones importantes.
- Reemplaza el núcleo de WordPress: sube una copia limpia de WordPress de la misma versión y sobrescribe todas las carpetas excepto
wp-content. - Revisa
wp-config.php: comprueba que solo contenga la configuración estándar y elimina cualquier bloque de código extraño o ofuscado. - Limpia
.htaccess: restaura un archivo.htaccessbásico para WordPress o genera uno nuevo desde Ajustes > Enlaces permanentes. - Analiza la carpeta
wp-content: identifica archivos PHP enuploads(suelen ser sospechosos), plugins que no utilizas y temas que no están activos. - Elimina puertas traseras: busca funciones como
eval,base64_decode,gzinflate,str_rot13y código ofuscado en archivos de temas y plugins.
Trabaja por etapas: limpia primero el núcleo, luego temas y plugins, y por último la carpeta uploads. Tras cada bloque de cambios, realiza pruebas básicas del sitio para asegurarte de que todo sigue funcionando. Si detectas errores, podrás revertir solo la última modificación gracias a las copias de seguridad parciales que has creado.
Limpieza y reparación de la base de datos
La base de datos es donde reside la mayor parte del contenido de tu WordPress: entradas, páginas, menús, ajustes y más. Limpiarla con cuidado es esencial para eliminar inyecciones de spam y scripts maliciosos sin perder información valiosa. A diferencia de los archivos, aquí no puedes simplemente sobrescribir todo, por lo que la precisión es clave.
Antes de cualquier cambio, asegúrate de tener una exportación completa y reciente de la base de datos. Trabaja, si es posible, sobre una copia en un entorno de pruebas y solo cuando estés seguro de los resultados aplica los cambios en el sitio en producción.
- Identifica tablas afectadas: revisa especialmente
wp_posts,wp_postmeta,wp_options,wp_usersywp_usermeta. - Busca patrones maliciosos: utiliza la función de búsqueda de phpMyAdmin para localizar
<script>,iframe, URLs de spam y código ofuscado. - Limpia entradas inyectadas: elimina publicaciones creadas por el atacante (suelen ser de tipo
postopagecon títulos extraños o en otro idioma). - Revisa
wp_options: comprueba opciones comositeurl,homey cualquier opción que cargue código en el front-end (widgets, shortcodes, constructores visuales). - Repara y optimiza tablas: utiliza las funciones de Reparar tabla y Optimizar tabla para corregir errores estructurales.
Si no te sientes cómodo editando directamente la base de datos, puedes apoyarte en plugins de seguridad que ofrezcan herramientas de limpieza de contenido hackeado. Aun así, revisa manualmente los cambios más críticos, como la URL del sitio y los campos que se muestran en todas las páginas, para asegurarte de que no queda rastro de la infección.
Reinstalar WordPress, temas y plugins de forma segura
Una vez eliminados los archivos y entradas infectadas, es recomendable reinstalar WordPress, los temas y los plugins desde fuentes oficiales. Esto garantiza que el código que queda en tu servidor es limpio y actualizado, reduciendo la probabilidad de que la infección persista o se reactive a través de puertas traseras ocultas.
El proceso debe hacerse con cuidado para no perder configuraciones ni personalizaciones importantes. En muchos casos, las opciones de los plugins y temas se almacenan en la base de datos, por lo que al reinstalar el código se mantendrán los ajustes siempre que no borres las tablas asociadas.
- Reinstala el núcleo de WordPress desde el panel de administración (Escritorio > Actualizaciones > Volver a instalar) o subiendo los archivos manualmente.
- Elimina temas y plugins que no uses: menos código significa menos superficie de ataque y menos puntos potenciales de infección.
- Descarga siempre desde fuentes oficiales: repositorio de WordPress, webs de desarrolladores de confianza o marketplaces reconocidos.
- Reinstala plugins críticos: seguridad, caché, formularios, SEO, comercio electrónico, comprobando que sean compatibles con tu versión de WordPress.
- Revisa temas hijo y personalizaciones: asegúrate de que no contienen código malicioso y que solo incluyen modificaciones necesarias.
Tras la reinstalación, realiza un nuevo escaneo de seguridad para confirmar que no quedan archivos sospechosos. Aprovecha este momento para actualizar todo a la última versión estable y eliminar definitivamente cualquier componente obsoleto o abandonado por sus desarrolladores.
Comprobaciones finales y verificación con Google
Después de limpiar un WordPress infectado sin perder contenido, es imprescindible realizar una serie de comprobaciones finales para asegurarte de que el sitio funciona correctamente y que los motores de búsqueda reconocen que la amenaza ha sido eliminada. Este paso es clave para recuperar la confianza de los usuarios y evitar penalizaciones SEO prolongadas.
Además de revisar el funcionamiento general del sitio, conviene monitorizar durante algunos días el consumo de recursos, los registros del servidor y las alertas de seguridad. Muchas infecciones intentan reactivarse mediante tareas programadas o scripts ocultos, por lo que la vigilancia posterior es tan importante como la limpieza inicial.
- Prueba las secciones clave: página de inicio, formularios de contacto, procesos de compra, áreas privadas y panel de administración.
- Verifica con escáneres externos: utiliza herramientas como Sucuri SiteCheck, VirusTotal o el propio escáner de tu hosting.
- Revisa Google Search Console: comprueba si siguen apareciendo avisos de seguridad o páginas marcadas como hackeadas.
- Solicita una revisión de seguridad en Search Console si tu sitio fue marcado como peligroso. Google volverá a analizarlo y, si está limpio, retirará las advertencias.
- Monitoriza logs y alertas: durante al menos 1–2 semanas, revisa accesos inusuales, intentos de login masivos y cambios inesperados.
Una vez confirmes que todo está en orden, puedes desactivar el modo mantenimiento y comunicar a tus usuarios que el sitio vuelve a estar operativo. Si tu proyecto tiene impacto comercial, considera informar de forma transparente sobre las medidas de seguridad adoptadas para reforzar la confianza.
Cómo evitar futuras infecciones en WordPress
Limpiar un WordPress infectado sin perder contenido es un proceso costoso en tiempo y recursos. Para no tener que repetirlo, es fundamental reforzar la seguridad del sitio y adoptar buenas prácticas de mantenimiento. La mayoría de las infecciones se producen por vulnerabilidades conocidas en plugins, temas desactualizados, contraseñas débiles o configuraciones inseguras del servidor.
La seguridad absoluta no existe, pero puedes reducir drásticamente el riesgo combinando actualizaciones regulares, copias de seguridad automatizadas y una configuración robusta de acceso y permisos. Piensa en la seguridad como un proceso continuo, no como una acción puntual tras un incidente.
- Mantén WordPress, temas y plugins siempre actualizados, especialmente aquellos relacionados con seguridad, formularios y comercio electrónico.
- Elimina lo que no uses: desinstala plugins y temas inactivos para reducir la superficie de ataque.
- Utiliza contraseñas fuertes y únicas para todos los accesos: WordPress, FTP, panel de control del hosting y base de datos.
- Activa la autenticacion en dos pasos (2FA) para las cuentas de administrador y editores con acceso crítico.
- Restringe intentos de inicio de sesión y bloquea IPs que realicen ataques de fuerza bruta.
- Configura copias de seguridad automáticas diarias o semanales, almacenadas fuera del servidor principal.
- Revisa los permisos de archivos y carpetas para evitar que el servidor permita escrituras innecesarias.
- Evita temas y plugins nulled o descargados de fuentes no oficiales, ya que suelen incluir puertas traseras.
Considera instalar un firewall de aplicaciones web (WAF) específico para WordPress o proporcionado por tu hosting. Estas capas adicionales de seguridad filtran tráfico malicioso antes de que llegue a tu sitio y pueden bloquear muchos intentos de explotación de vulnerabilidades conocidas.
Preguntas frecuentes
A continuacion se responden algunas de las dudas mas habituales sobre como limpiar un WordPress infectado sin perder contenido, los tiempos implicados y las mejores practicas para minimizar el impacto en el SEO y en la experiencia de los usuarios.
¿Puedo limpiar WordPress infectado sin perder nada de contenido?
En la mayoria de los casos, si actuas con rapidez y haces copias de seguridad completas antes de modificar archivos o tablas, es posible limpiar el sitio sin perder entradas, paginas ni medios. El contenido suele estar en la base de datos y en la carpeta uploads, que pueden conservarse mientras se reinstala el nucleo de WordPress, los temas y los plugins desde versiones limpias.
¿Cuanto tiempo tarda en limpiarse un WordPress hackeado?
Depende del tamano del sitio, del tipo de infeccion y de tu experiencia tecnica. Un blog pequeno con pocos plugins puede limpiarse en unas horas, mientras que una tienda online compleja puede requerir uno o varios dias de trabajo, incluyendo pruebas y verificacion con Google. Lo importante es no precipitarse y seguir un metodo ordenado para evitar perdidas de datos.
¿Es mejor restaurar una copia de seguridad o limpiar manualmente?
Si dispones de una copia de seguridad claramente anterior a la infeccion y puedes asumir la perdida de los cambios posteriores, restaurarla suele ser la opcion mas rapida. Sin embargo, si no sabes cuando empezo el problema o necesitas conservar todo el contenido reciente, es preferible limpiar manualmente combinando escaneos, reemplazo de archivos y revision de la base de datos.
¿Un plugin de seguridad es suficiente para eliminar el malware?
Los plugins de seguridad ayudan mucho a detectar y, en algunos casos, a eliminar malware comun, pero no siempre son capaces de limpiar puertas traseras avanzadas o codigo muy ofuscado. Lo ideal es usarlos como apoyo dentro de un proceso mas amplio que incluya reemplazo de archivos, limpieza de la base de datos y revision manual de los elementos mas criticos.
¿Perdere posicionamiento en Google si mi WordPress ha sido infectado?
Una infeccion puede afectar temporalmente al SEO, sobre todo si Google muestra advertencias de seguridad o si el sitio redirige a paginas de spam. Sin embargo, si limpias el sitio con rapidez, solicitas una revision en Search Console y refuerzas la seguridad, es posible recuperar gran parte del posicionamiento. Mantener una buena experiencia de usuario y un contenido de calidad seguira siendo clave a largo plazo.
¿Necesitas asesoramiento legal?
Nuestro equipo de expertos está listo para ayudarte