Una copia completa puede contener datos legítimos del negocio junto a código vulnerable, cuentas comprometidas o persistencia. Restaurarla puede recuperar disponibilidad sin demostrar que se haya eliminado la intrusión.
Crea una aplicación limpia e importa datos validados por etapas.
Conserva el incidente actual
Captura archivos, base, logs, usuarios, cron y correo antes de restaurar. Anota la contención y raíz documental originales.
Mantén la evidencia sin ejecución y fuera del almacenamiento público. No la sobrescribas ni uses el único original como directorio de trabajo. Protege pedidos y limita acceso.
Elige un punto de datos
Compara hora de la copia, compromiso más antiguo y actividad reciente. Inventaría versiones, administradores e indicadores del archivo.
Una copia vieja puede servir para comparar contenido sin ser segura para arrancar. Registra pedidos, usuarios, formularios y uploads ausentes. «Anterior al síntoma» no equivale a limpia.
Crea una raíz limpia
Instala núcleo, plugins y temas mantenidos desde fuentes verificadas. Aplica PHP compatible, privilegio mínimo y configuración productiva sin copiar código desconocido.
Revisa desarrollo propio desde un repositorio fiable. Retira componentes abandonados y sustituye su función. Mantén la raíz infectada aislada y de solo lectura.
Recrea configuración y secretos
Construye un wp-config.php nuevo con acceso MySQL actual y claves de autenticación nuevas. Rota SMTP/API, pagos, copias, despliegue y webhooks expuestos.
No copies secretos del archivo comprometido. Verifica DNS/CDN/hosting y activa MFA. Documenta responsables, no valores.
Valida la base
Importa MySQL en aislamiento y revisa usuarios, usermeta, opciones, cron, snippets, redirecciones, widgets, entradas y tablas propias.
Elimina solo registros confirmados mediante cambios precisos. Evita reemplazos globales en datos serializados. Si la integridad es incierta, importa contenido y pedidos a un esquema nuevo mediante herramientas compatibles. Conserva IDs y backup de filas.
Valida uploads
Inventaría medios, bloquea PHP ejecutable y reglas de servidor inesperadas. Confirma que cada tipo es necesario y no copies cachés, backups o temporales como medios.
Protege archivos de clientes, regenera miniaturas y recursos desde fuentes fiables. No abras archivos desconocidos en un equipo ordinario.
Revisa configuración externa
Audita DNS/CDN, redirects, Workers, Tag Manager, propietarios de Search Console, SMTP, pagos y cuentas de copia o despliegue. El comportamiento malicioso puede sobrevivir fuera de WordPress.
Revoca usuarios y tokens desconocidos y compara versiones desplegadas. No cambies DNS público hasta que el entorno limpio pase las pruebas. Emite APIs nuevas con privilegio mínimo.
Reconcilia datos comerciales
Compara pedidos, pagos, stock, usuarios y formularios posteriores a la copia. Usa el proveedor de pagos y registros autorizados como referencias.
Importa datos recientes validados sin sobrescribir seguridad ni duplicar transacciones. Define un estado de pedido autoritativo y documenta excepciones que exijan contacto manual.
Prueba en aislamiento
Verifica login, roles, formularios, checkout sandbox, webhooks, cron, correo, redirecciones, idiomas, móvil y copias. Inspecciona código renderizado y destinos de red.
Ejecuta ciclos cron, calentamiento de caché y login administrador. Confirma que no vuelven indicadores ni cuentas. Mantén acciones productivas de analytics y pagos deshabilitadas hasta aprobar.
Prepara un cambio reversible
Documenta raíces, endpoints MySQL, TTL DNS y capas de caché. El rollback debe volver a mantenimiento seguro, nunca a la aplicación infectada.
Impide que antiguo y nuevo acepten simultáneamente checkout o formularios. Reconcilia entradas de la ventana final.
Reduce el TTL con antelación si habrá cambio DNS y congela modificaciones administrativas durante el corte. Registra la última operación aceptada en cada sistema para poder demostrar qué datos pertenecen a la transición.
Reabre monitorizando
Cambia raíz o DNS solo con criterios y rollback listos. Monitoriza archivos, base, usuarios privilegiados, correo e indicadores.
Conserva la raíz antigua según política y después elimínala de forma segura. Revisa entrada y fallo de proceso. Si hay que seleccionar entre uploads, base y pedidos recientes, solicita reconstrucción urgente con acceso gestionado, nunca archivos públicos.
Comprobación real de tres archivos y sus límites
El 24 de octubre de 2026 a las 23:07 UTC comparamos las huellas MD5 de tres archivos del núcleo de esta web editorial con la respuesta de WordPress.org para la versión 7.1.3, en_US. Coincidieron los tres:
wp-login.php → coincide
wp-includes/version.php → coincide
wp-admin/admin.php → coincide
Alcance → 3 archivos seleccionados del núcleo
Recogimos las huellas con PHP y las contrastamos con la respuesta oficial; no ejecutamos WP-CLI, restauramos una copia ni investigamos un cliente infectado. Demuestra una comprobación de procedencia del código. No verifica otros archivos del núcleo, plugins, temas, base de datos, cuentas, persistencia ni registros comerciales recientes.
El comando oficial de checksums de WP-CLI documenta la verificación contra versión e idioma concretos, antes de cargar WordPress. En un entorno con esa herramienta, el técnico puede utilizar los valores verificados:
wp core verify-checksums --version=VERSION_VERIFICADA --locale=LOCALE_VERIFICADO
Guarda el resultado con su alcance real. Pide que el traspaso identifique qué datos de la copia se eligieron, cómo se conciliaron los posteriores, quién comprobó el control de cuentas y quién autorizó el cambio. Código coincidente y portada funcionando no resuelven esas decisiones.
Si el acceso sigue pendiente, consulta la recuperación autorizada del administrador. Para pedir una evaluación de restauración de WordPress hackeado, aporta fecha de copia, registros recientes que conservar, síntoma y restricciones de acceso conocidas. El servicio de recuperación de WordPress hackeado debe acordar reconstrucción, continuidad y aceptación como partes explícitas del alcance.
Antes del próximo incidente, el plan de recuperación de WordPress para 2027 con plantilla y simulacro permite acordar responsables, dependencias de las copias y decisiones de reapertura sin modificar producción.