Un registro de actividad en WordPress: cómo saber quién cambió su sitio y cuándo
Qué registra WordPress por sí mismo, qué deja fuera, qué debería guardar un buen registro de actividad y cómo saber si alguien ha borrado entradas de él.
En su sitio aparece un administrador que nadie recuerda haber añadido, o ha desaparecido un plugin y nadie sabe quién lo quitó. La pregunta es quién lo hizo y cuándo. WordPress puede responder a una parte. Guarda un historial de los cambios en el contenido de las entradas, pero no registra los inicios de sesión, las instalaciones de plugins ni los cambios de ajustes. Para eso necesita un registro de actividad, es decir, un plugin que anote esos eventos y, para cualquier asunto serio, también los registros del servidor de su empresa de alojamiento.
Este artículo explica qué puede ver sin herramientas adicionales, qué debería registrar un buen registro de actividad, por qué un registro normal en la base de datos puede borrarse sin que se note y cómo detectarlo.
Qué registra WordPress por sí mismo
- Revisiones de entradas y páginas. Cada vez que se guarda el contenido, WordPress conserva una revisión con su autor y la hora, salvo que su proveedor o su desarrollador hayan desactivado las revisiones. Puede comparar dos revisiones y restaurar una anterior.
- La fecha de última modificación de una entrada o página.
- La fecha de registro de cada cuenta en la lista de usuarios.
Lo que no registra: quién inició sesión y cuándo, quién instaló, actualizó o eliminó un plugin o un tema, quién cambió el perfil de una cuenta y quién cambió los ajustes.
Registros del servidor: dónde mirar si no hay registro de actividad
Su empresa de alojamiento guarda sus propios registros: cada petición al sitio, con la dirección IP, la hora y la página solicitada. La guía de WordPress.org para reforzar la seguridad de WordPress (en su versión actualizada el 14 de octubre de 2026) señala que estos registros no indican qué nombre de usuario inició sesión, pero sí muestran la dirección IP, la hora y las acciones realizadas.
En la práctica, eso supone mucho trabajo de búsqueda: miles de líneas y ningún nombre de cuenta en ellas. Además, los proveedores los guardan durante un tiempo limitado, así que pregunte al suyo cuánto antes de necesitarlos. Un registro de actividad dentro de WordPress le cuenta lo mismo en términos claros: la cuenta, el evento, la hora, la dirección.
Qué debería registrar un buen registro de actividad
- los inicios de sesión correctos y fallidos, y los bloqueos tras demasiados intentos,
- las cuentas nuevas, los cambios de perfil y las cuentas eliminadas,
- los plugins y temas instalados, actualizados, desactivados y eliminados,
- los cambios de tema y las actualizaciones de WordPress,
- los cambios de ajustes, sobre todo los de seguridad,
- los resultados de los análisis, si el registro forma parte de un plugin de seguridad.
Cada entrada debería decir qué pasó, cuándo, desde qué cuenta y desde qué dirección.
El punto débil de cualquier registro: vive en la misma base de datos
La mayoría de los registros de actividad guardan sus entradas en la base de datos del sitio. Quien entre en la base de datos, por ejemplo por un fallo en un plugin desactualizado o con la contraseña de un archivo de copia de seguridad olvidado en el servidor, puede borrar las entradas que hablan de él. Un registro normal no tiene forma de notar que falta algo. Simplemente muestra un historial más corto.
Hay dos maneras de evitarlo:
- Enviar una copia fuera del servidor. Las entradas van a un servicio externo o a otro servidor a medida que se producen. Requiere configuración y, a menudo, un servicio de pago.
- Hacer visibles los cambios. Es lo que significa «a prueba de manipulaciones» (en inglés, tamper-evident). Cada entrada recibe una firma calculada a partir de su contenido y de la firma de la entrada anterior, con una clave secreta que no se guarda en la base de datos. Editar una entrada, o borrar una del medio, rompe todas las firmas a partir de ese punto, y una comprobación señala la entrada que ya no coincide.
El segundo enfoque no impide que nadie borre entradas. Lo que le da es la prueba de que ocurrió. También tiene un límite: quien tenga tanto la base de datos como el archivo con la clave puede recalcular las firmas desde cero. Por eso, ante un incidente serio, los registros de su proveedor de alojamiento siguen siendo importantes.
Cómo valorar un plugin de registro de actividad
- Dónde guarda las entradas. Una tabla propia soporta grandes cantidades de entradas. Un registro guardado como un único ajuste con un tope de unos cientos de elementos pierde pronto los eventos más antiguos.
- Cuánto tiempo las conserva y si puede cambiarlo. El periodo debería cubrir el tiempo que realmente tarda usted en notar un problema. Todo lo que pase de ahí son datos que guarda sin motivo.
- Si se puede exportar. Un archivo CSV se abre en una hoja de cálculo y puede acompañar una incidencia para su desarrollador o su proveedor.
- Si los bloqueos desplazan a otros eventos. Los bots pueden generar miles de inicios de sesión fallidos al día. Si cada uno es una entrada aparte en el mismo espacio, los eventos importantes quedan fuera.
- Qué guarda de los inicios de sesión fallidos. A veces la gente escribe la contraseña en el campo del nombre de usuario, así que un registro que guarda cada nombre escrito puede acabar conteniendo fragmentos de contraseñas. Las direcciones IP y los nombres de cuenta pueden considerarse datos personales, así que un registro debería guardar solo lo necesario y borrarlo tras un periodo fijado. El artículo sobre el RGPD y la seguridad web trata más a fondo esa parte.
- Si detecta cambios en sus propias entradas. La descripción del plugin debería decirlo claramente.
Cuándo abrir el registro
- aparece un administrador que nadie recuerda haber añadido,
- la página de inicio se ve distinta o envía a los visitantes a otro sitio,
- un correo dice que se ha bloqueado una cuenta de administrador,
- ha dejado de trabajar con una agencia, o alguien se ha ido, y quiere ver qué hizo por última vez.
Exporte el registro, busque el primer evento inusual y anote su hora. Con esa hora, es mucho más fácil buscar en los registros de su proveedor. Cambie las contraseñas de administrador y de la base de datos desde un ordenador de confianza. Señales de que su sitio web ha sido hackeado cubre la primera hora tras una intrusión.
Cómo lo hace Ensomedia Security
Ensomedia Security es un plugin gratuito del directorio de WordPress.org que desarrollé para ShieldWave. Su registro se llama Historial y funciona sin cuenta. Los datos, tomados de su ficha y de su código:
- registra los análisis, los problemas encontrados y corregidos, los nuevos administradores, las actualizaciones, los cambios de ajustes y los bloqueos,
- las entradas se guardan en una tabla propia de la base de datos,
- cada entrada lleva una firma HMAC-SHA256 con la clave auth salt del sitio, que está en wp-config.php y no en la base de datos, y la firma incluye la firma de la entrada anterior,
- Comprobar la integridad del historial le dice si una entrada se editó o se borró fuera de ShieldWave, y también se detecta si se recortan las entradas más recientes,
- quien pueda escribir en la base de datos pero no pueda leer wp-config.php no puede cambiar ni borrar una entrada sin que la comprobación lo muestre,
- las entradas de bloqueo se agrupan y quedan fuera de la cadena de firmas: si se editan, se detecta, si se borran, no,
- si sustituye las claves de seguridad en wp-config.php, la comprobación indica que las entradas anteriores ya no pueden verificarse, lo cual es lo esperado tras rotar las claves, por ejemplo después de una intrusión,
- las entradas se conservan de 7 a 730 días (90 por defecto) y pueden exportarse en CSV,
- en un inicio de sesión fallido, el nombre de usuario escrito solo se guarda si esa cuenta existe. Si no, solo se conserva su hash con clave.
No es un cortafuegos de aplicaciones web completo y no limpia malware de los archivos. Usted, su desarrollador o su proveedor hacen el cambio que el plugin explica. La página del plugin enumera sus otras funciones, y la guía pantalla por pantalla muestra cómo leer el Historial en el día a día.
Qué hacer hoy
- Averigüe si su sitio tiene algún registro de actividad y desde cuándo.
- Pregunte a su proveedor de alojamiento cuánto tiempo guarda los registros del servidor.
- Decida cuánto tiempo quiere conservar las entradas y configúrelo en el registro.
- Una vez al mes, revise la lista de administradores y compárela con el registro.
Revise su sitio desde fuera. Introduzca su dirección en shieldwave.io. Tarda unos 90 segundos y no necesita contraseña ni plugin.