{"id":7218,"date":"2025-10-28T10:59:46","date_gmt":"2025-10-28T09:59:46","guid":{"rendered":"https:\/\/www.hostingtg.com\/blog\/?p=7218"},"modified":"2025-10-28T11:26:18","modified_gmt":"2025-10-28T10:26:18","slug":"registra-todo-lo-que-ocurre-en-tu-wordpress","status":"publish","type":"post","link":"https:\/\/www.hostingtg.com\/blog\/registra-todo-lo-que-ocurre-en-tu-wordpress\/","title":{"rendered":"Registra todo lo que ocurre en tu WordPress: gu\u00eda pr\u00e1ctica con WP Activity Log"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\"><strong>Por qu\u00e9 registrar la actividad en WordPress (y cu\u00e1ndo te salva el d\u00eda)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Registrar la actividad en un WordPress es una de esas decisiones que, al principio, parecen innecesarias\u2026 hasta que algo falla. El d\u00eda que notas que alg\u00fan ajuste ha cambiado \u201cmisteriosamente\u201d, un usuario ha borrado contenido sin avisar o empiezan comportamientos raros en la web, valoras de verdad contar con un historial claro de lo que ocurre en tu sitio.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ahora bien, <strong>los registros no sustituyen un buen mantenimiento<\/strong>. Un <em>servicio de <a href=\"https:\/\/www.hostingtg.com\/mantenimiento-web-wordpress\/\">mantenimiento WordPress<\/a><\/em> aporta la otra mitad del sistema: actualizaciones planificadas y probadas, <strong>copias de seguridad verificadas<\/strong>, monitorizaci\u00f3n, endurecimiento de seguridad, pruebas en <em>staging<\/em> y pol\u00edticas de retenci\u00f3n de logs. Si trabajas con un proveedor de confianza \u2014por ejemplo, <strong>hostingtg<\/strong>\u2014 puedes apoyarte en <strong>planes ajustados al tipo de proyecto<\/strong> (blog, web corporativa, <em>ecommerce<\/em> o multisitio) para que lo operativo no dependa de improvisaciones. En la pr\u00e1ctica, <strong>logs + mantenimiento<\/strong> significa detectar antes, corregir mejor y evitar reincidencias.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/www.hostingtg.com\/blog\/wp-content\/uploads\/2025\/10\/registro-de-actividad-wordpress.webp\"><img fetchpriority=\"high\" decoding=\"async\" width=\"900\" height=\"600\" src=\"https:\/\/www.hostingtg.com\/blog\/wp-content\/uploads\/2025\/10\/registro-de-actividad-wordpress.webp\" alt=\"registro de actividad wordpress\" class=\"wp-image-7220\" title=\"\"><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">En mi caso, prefiero una herramienta dedicada \u00fanicamente a esto. Muchos plugins de seguridad hacen de todo: <a href=\"https:\/\/www.hostingtg.com\/blog\/wordfence-wordpress\/\">firewall, an\u00e1lisis de malware<\/a>, 2FA\u2026 y la monitorizaci\u00f3n de actividad queda como \u201cuna funci\u00f3n m\u00e1s\u201d. En cambio, un plugin especializado en registrar acciones ofrece m\u00e1s precisi\u00f3n y contexto: qui\u00e9n hizo qu\u00e9, cu\u00e1ndo y desde d\u00f3nde. Esa especializaci\u00f3n se traduce en tranquilidad: si algo se rompe, no voy a ciegas. Puedo seguir el rastro paso a paso hasta el origen del problema o detectar malas pr\u00e1cticas. Y en webs con varios editores o administradores, cada cambio queda documentado, fomentando responsabilidad y orden internos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Qu\u00e9 se puede registrar: del login a los cambios en plugins, archivos y contenidos<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Un buen sistema de <strong>logs de WordPress<\/strong> te permite auditar eventos clave sin convertirlo en ruido:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Accesos y sesiones:<\/strong> inicios\/cierres de sesi\u00f3n, intentos fallidos, IP, <em>user agent<\/em>, cambios de contrase\u00f1a.<\/li>\n\n\n\n<li><strong>Usuarios y roles:<\/strong> altas, bajas, cambios de rol\/capacidades, bloqueos.<\/li>\n\n\n\n<li><strong>Contenidos:<\/strong> creaci\u00f3n\/edici\u00f3n\/publicaci\u00f3n de entradas, p\u00e1ginas, <em>custom post types<\/em>; cambios de estado (borrador \u2192 publicado), revisiones, cambios masivos.<\/li>\n\n\n\n<li><strong>Plugins y temas:<\/strong> instalaciones, activaciones\/desactivaciones, actualizaciones, ajustes internos sensibles.<\/li>\n\n\n\n<li><strong>Ajustes del sitio:<\/strong> cambios en <em>permalinks<\/em>, lectura, escritura, idioma, zona horaria, URL de inicio\/sitio, opciones avanzadas.<\/li>\n\n\n\n<li><strong>Comentarios y medios:<\/strong> aprobaciones, papelera, <em>spam<\/em>, subidas\/borrados de archivos.<\/li>\n\n\n\n<li><strong>Ecommerce y SEO (si aplica):<\/strong> pedidos, estados, cupones, inventario; cambios en <em>schemas<\/em>, <em>sitemaps<\/em> y redirecciones.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Configuraci\u00f3n b\u00e1sica en 10 minutos: asistente, niveles de detalle y exclusiones<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Aterrizo una <strong>configuraci\u00f3n r\u00e1pida y segura<\/strong> que me ha funcionado bien en la mayor\u00eda de proyectos:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A continuaci\u00f3n te dejo un <strong>paso a paso claro<\/strong> para <strong>instalar y dejar funcionando<\/strong> <em>WP Activity Log<\/em> sin ruido y con el equilibrio justo entre <strong>trazabilidad<\/strong> y <strong>rendimiento<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1) Instala el plugin desde el Escritorio<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Entra a <strong>Plugins \u2192 A\u00f1adir nuevo<\/strong>.<\/li>\n\n\n\n<li>Busca <strong>\u201c<a href=\"https:\/\/wordpress.org\/plugins\/wp-security-audit-log\/\" target=\"_blank\" rel=\"noopener\">WP Activity Log<\/a>\u201d<\/strong>. Ver\u00e1s el plugin oficial (autor: suele mostrarse como Melapress).<\/li>\n\n\n\n<li>Pulsa <strong>Instalar ahora<\/strong> y luego <strong>Activar<\/strong>.<\/li>\n\n\n\n<li>Al activarlo, aparecer\u00e1 el <strong>asistente de configuraci\u00f3n<\/strong> (<em>Setup Wizard<\/em>).<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2) Ejecuta el asistente (Setup Wizard)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Modo de registro<\/strong>: elige <strong>Est\u00e1ndar<\/strong> para empezar (cubrir\u00e1s lo esencial sin sobrecargar la base de datos).<\/li>\n\n\n\n<li><strong>Tipos de eventos<\/strong> que conviene activar desde el minuto 1:\n<ul class=\"wp-block-list\">\n<li><strong>Usuarios y roles<\/strong> (altas, bajas, cambios de rol y bloqueos).<\/li>\n\n\n\n<li><strong>Contenido<\/strong> (creaci\u00f3n, edici\u00f3n, publicaci\u00f3n y papelera de p\u00e1ginas\/entradas y <em>custom post types<\/em>).<\/li>\n\n\n\n<li><strong>Plugins y temas<\/strong> (instalaci\u00f3n, activaci\u00f3n, desactivaci\u00f3n y actualizaci\u00f3n).<\/li>\n\n\n\n<li><strong>Ajustes cr\u00edticos<\/strong> (URL del sitio, <em>permalinks<\/em>, lectura\/escritura, idioma).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Metadatos \u00fatiles<\/strong>: habilita <strong>IP<\/strong> y <strong>user agent<\/strong> para poder responder a la pregunta clave: <strong>\u201cqui\u00e9n hizo qu\u00e9, cu\u00e1ndo y desde d\u00f3nde\u201d<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>3) Niveles de detalle (lo justo para no generar ruido)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>B\u00e1sico<\/strong>: demasiado escueto para investigar incidentes.<\/li>\n\n\n\n<li><strong>Medio (recomendado)<\/strong>: <strong>equilibrio ideal<\/strong> para el 90% de sitios; registra contexto sin disparar el tama\u00f1o del log.<\/li>\n\n\n\n<li><strong>Avanzado<\/strong>: s\u00f3lo si necesitas auditor\u00edas exhaustivas o cumplimiento estricto (aj\u00fastalo con exclusiones finas).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>4) Retenci\u00f3n inicial (que no se dispare tu base de datos)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sitio peque\u00f1o\/blog<\/strong>: <strong>30\u201345 d\u00edas<\/strong>.<\/li>\n\n\n\n<li><strong>Corporativo medio<\/strong>: <strong>60\u201390 d\u00edas<\/strong>.<\/li>\n\n\n\n<li><strong>Ecommerce\/equipos grandes<\/strong>: <strong>90\u2013180 d\u00edas<\/strong>.<br>Activa la <strong>purga autom\u00e1tica<\/strong> (limpieza programada) y deja preparada la <strong>exportaci\u00f3n mensual a CSV<\/strong> si gestionas hist\u00f3ricos.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>5) Exclusiones para eliminar \u201cruido\u201d desde el d\u00eda 1<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">A\u00f1ade reglas de <strong>exclusi\u00f3n<\/strong> para eventos que no aportan valor de negocio:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Procesos autom\u00e1ticos<\/strong>: <em>heartbeat<\/em>, <em>cron<\/em> de rutina, procesos de limpieza de otros plugins.<\/li>\n\n\n\n<li><strong>Rutas\/\u00e1reas<\/strong> sin inter\u00e9s**:** p\u00e1ginas de pruebas o <em>staging<\/em> si comparten base.<\/li>\n\n\n\n<li><strong>Roles\/usuarios<\/strong>: excluye el bot o usuario t\u00e9cnico que dispara procesos masivos, salvo que auditarlo sea cr\u00edtico.<\/li>\n\n\n\n<li><strong>Post types muy ruidosos<\/strong>: si alg\u00fan CPT genera cientos de eventos por minuto, filtra solo los <strong>cambios cr\u00edticos<\/strong>.<\/li>\n<\/ul>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Regla de oro:<\/strong> empieza <strong>amplio pero con exclusiones<\/strong>. Es m\u00e1s f\u00e1cil <strong>afinar<\/strong> que lidiar con un oc\u00e9ano de alertas.<\/p>\n<\/blockquote>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>6) Acceso y privacidad (qui\u00e9n puede ver el log)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Restringe el panel de <strong>log<\/strong> a <strong>Administradores<\/strong> o crea un <strong>rol de Auditor\u00eda<\/strong> solo-lectura.<\/li>\n\n\n\n<li>Si lo necesitas por pol\u00edticas internas, <strong>enmascara IPs en pantalla<\/strong> (pero <strong>gu\u00e1rdalas<\/strong> para investigaci\u00f3n).<\/li>\n\n\n\n<li>Activa el <strong>registro de notas<\/strong> para documentar acciones correctivas (qui\u00e9n revirti\u00f3 qu\u00e9 y por qu\u00e9).<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>7) Alertas iniciales (pocas, claras y accionables)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Configura <strong>solo alertas cr\u00edticas<\/strong> por <strong>email<\/strong> y, si puedes, <strong>Slack<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Altas\/bajas y cambios de rol<\/strong> (especialmente a <em>Administrador<\/em>).<\/li>\n\n\n\n<li><strong>Activaci\u00f3n\/desactivaci\u00f3n\/actualizaci\u00f3n<\/strong> de <strong>plugins\/temas<\/strong>.<\/li>\n\n\n\n<li><strong>Cambios en ajustes sensibles<\/strong>.<\/li>\n\n\n\n<li><strong>R\u00e1fagas de intentos de acceso<\/strong> (p. ej., 10 en 5 min desde una misma IP).<br>Deja el resto para <strong>res\u00famenes diarios\/semanales<\/strong>. <strong>Menos ruido = m\u00e1s reacci\u00f3n<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>8) Prueba de humo (2 minutos)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Edita una p\u00e1gina de prueba, cambia un ajuste menor y actualiza un plugin liviano.<\/li>\n\n\n\n<li>Verifica que los <strong>eventos aparecen con hora, usuario e IP<\/strong>, y que <strong>NO<\/strong> llegan alertas por cambios triviales.<\/li>\n\n\n\n<li>Ajusta exclusiones si ves ruido inesperado.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>9) Multisitio (si aplica)<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Activa el plugin <strong>a nivel de red<\/strong> para tener <strong>pol\u00edticas comunes<\/strong>.<\/li>\n\n\n\n<li>Permite <strong>overrides por sitio<\/strong> solo cuando haya necesidades distintas (p. ej., la tienda vs. el blog).<\/li>\n\n\n\n<li>Centraliza <strong>alertas cr\u00edticas<\/strong> en un \u00fanico canal del equipo t\u00e9cnico.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Retenci\u00f3n y rendimiento: cu\u00e1nto guardar y c\u00f3mo evitar una base de datos gigante<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La <strong>pol\u00edtica de retenci\u00f3n<\/strong> es el 50% del \u00e9xito. Si guardas \u201ctodo para siempre\u201d, el coste se dispara; si borras demasiado pronto, pierdes trazabilidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pol\u00edtica recomendada por tama\u00f1o de sitio<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Blog\/landing peque\u00f1o:<\/strong> <strong>30\u201345 d\u00edas<\/strong> de retenci\u00f3n, <strong>depuraci\u00f3n semanal<\/strong> y export mensual a CSV (opcional).<\/li>\n\n\n\n<li><strong>Sitio corporativo mediano:<\/strong> <strong>60\u201390 d\u00edas<\/strong> con <strong>archivado mensual<\/strong> a almacenamiento fr\u00edo (CSV\/objeto).<\/li>\n\n\n\n<li><strong>Ecommerce\/portales con equipo grande:<\/strong> <strong>90\u2013180 d\u00edas<\/strong>, <strong>particionamiento<\/strong> de tablas y <strong><em>mirroring<\/em> externo<\/strong> (Cloud\/ELK\/SIEM ligero).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ajustes que cuidan el rendimiento<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Purga programada<\/strong> (cron) del <em>log<\/em> antiguo.<\/li>\n\n\n\n<li><strong>\u00cdndices<\/strong> en columnas de fecha, usuario e IP (muchos <em>plugins<\/em> ya lo hacen).<\/li>\n\n\n\n<li><strong>Exclusiones<\/strong> a medida para eventos ruidosos.<\/li>\n\n\n\n<li><strong>L\u00edmites<\/strong> al tama\u00f1o de mensaje por evento (no necesitas 50 KB para \u201cusuario cambi\u00f3 el t\u00edtulo\u201d).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Cu\u00e1ndo subir de nivel<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si la base crece > <strong>1\u20132 GB<\/strong> con facilidad, considera <strong>BD externa<\/strong> (otra instancia MySQL\/MariaDB) o <strong><em>mirroring<\/em> a la nube<\/strong>.<\/li>\n\n\n\n<li>Si hay <strong>picos de escritura<\/strong> (equipos grandes, <em>imports<\/em>), sube el umbral de \u201c<em>batching<\/em>\u201d de eventos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Alertas inteligentes: email\/Slack que importan (y c\u00f3mo evitar el ruido)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El mayor enemigo de un buen sistema de auditor\u00eda es el <strong>spam de alertas<\/strong>. Yo aplico la regla <strong>\u201cpocas pero cr\u00edticas\u201d<\/strong>:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alertas que S\u00cd env\u00edo (plantillas)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Alta\/Baja de usuarios<\/strong> con rol \u2265 Editor.<br><em>Asunto:<\/em> \u201cAlta\/Baja de usuario <em>{usuario}<\/em> (<em>{rol}<\/em>)\u201d<br><em>Mensaje:<\/em> fecha\/hora, IP, autor del cambio.<\/li>\n\n\n\n<li><strong>Cambios en plugins\/temas<\/strong>: activaci\u00f3n, desactivaci\u00f3n, actualizaci\u00f3n, instalaci\u00f3n.<br><em>Asunto:<\/em> \u201cCambio en <em>{plugin\/tema}<\/em>\u201d<\/li>\n\n\n\n<li><strong>Cambios en Ajustes sensibles<\/strong>: URL del sitio, <em>permalinks<\/em>, lectura\/escritura, enlaces a servicios externos.<\/li>\n\n\n\n<li><strong>Escalada de privilegios<\/strong> (rol modificado a <em>Administrador<\/em>).<\/li>\n\n\n\n<li><strong>Intentos de acceso repetidos<\/strong> (umbral: 10 en 5 min desde la misma IP).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Alertas que NO env\u00edo<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ediciones de contenido de roles con permisos (salvo p\u00e1ginas cr\u00edticas como <em>legal<\/em> o <em>home<\/em>).<\/li>\n\n\n\n<li>Comentarios aprobados\/pendientes (solo si hay abuso).<\/li>\n\n\n\n<li>Actividad recurrente de <em>cron<\/em>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Canales<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Email<\/strong> para trazabilidad formal.<\/li>\n\n\n\n<li><strong>Slack<\/strong> (o equivalente) para <em>incidentes cr\u00edticos<\/em> (probado: quien tiene que actuar lo ve <strong>ya<\/strong>).<\/li>\n\n\n\n<li><strong>Digest diario\/semanal<\/strong> con resumen de 5\u201310 m\u00e9tricas (qui\u00e9n, qu\u00e9, d\u00f3nde).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Auditor\u00eda en equipos y multisitio: roles, responsabilidades y trazabilidad real<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando hay <strong>varios editores y administradores<\/strong>, no basta con registrar: hay que <strong>asignar responsabilidades<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Buenas pr\u00e1cticas de equipo<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Rol de Auditor\u00eda<\/strong> (s\u00f3lo lectura del <em>log<\/em>): evita \u201cjuez y parte\u201d.<\/li>\n\n\n\n<li><strong>Checklist de publicaci\u00f3n<\/strong>: <em>commit<\/em> editorial con nota (\u201cqu\u00e9 cambiaste y por qu\u00e9\u201d).<\/li>\n\n\n\n<li><strong>Pol\u00edtica de reversi\u00f3n<\/strong>: si algo rompe, <em>rollback<\/em> y comentario en el <em>log<\/em> (muchos <em>plugins<\/em> permiten notas).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>En multisitio<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Activa <strong>herencia de configuraci\u00f3n<\/strong> + <strong>overrides por sitio<\/strong> para necesidades espec\u00edficas (ecommerce vs. blog).<\/li>\n\n\n\n<li>Centraliza <strong>alertas cr\u00edticas<\/strong> en un \u00fanico canal de TI.<\/li>\n\n\n\n<li>Segmenta <strong>permisos de lectura<\/strong> del <em>log<\/em> por cada <em>site<\/em> para l\u00edderes locales.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Indicadores \u00fatiles<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Top 10 usuarios<\/strong> con m\u00e1s eventos (no es \u201cculpa\u201d, es \u201catenci\u00f3n\u201d).<\/li>\n\n\n\n<li><strong>Top 5 tipos de evento<\/strong> por mes (d\u00f3nde hay fricci\u00f3n).<\/li>\n\n\n\n<li><strong>Eventos cr\u00edticos por semana<\/strong> (deber\u00eda tender a cero).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Investigaci\u00f3n de incidencias: seguir el rastro paso a paso hasta el origen<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando algo se rompe, mi proceso es siempre el mismo:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Filtra por fecha<\/strong> del incidente (\u00b11 h).<\/li>\n\n\n\n<li><strong>Busca eventos cr\u00edticos<\/strong> cercanos: cambios de plugin\/tema, ajustes globales, escaladas de rol.<\/li>\n\n\n\n<li><strong>Cruza por usuario e IP<\/strong>: \u00bfcoincide con un editor habitual?, \u00bfIP nueva\/extra\u00f1a?<\/li>\n\n\n\n<li><strong>Traza dependencia<\/strong>: si ves \u201cplugin actualizado\u201d, revisa qu\u00e9 cambi\u00f3 y si hubo errores en <em>hooks<\/em>.<\/li>\n\n\n\n<li><strong>Valida hip\u00f3tesis<\/strong>: desactiva el cambio, purga cach\u00e9, prueba en <em>staging<\/em>.<\/li>\n\n\n\n<li><strong>Documenta<\/strong>: deja una <strong>nota<\/strong> en el <em>log<\/em> (qui\u00e9n intervino, qu\u00e9 se revirti\u00f3, resultado).<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Caso real (tipo):<\/strong> \u201c\u00bfqui\u00e9n borr\u00f3 esta p\u00e1gina y desde qu\u00e9 IP?\u201d<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Filtro por <em>post_type<\/em> = p\u00e1gina + estado = papelera.<\/li>\n\n\n\n<li>Identifico el <strong>usuario<\/strong>, la <strong>hora exacta<\/strong> y la <strong>IP<\/strong>.<\/li>\n\n\n\n<li>Reviso 15 min antes\/despu\u00e9s: quiz\u00e1 hubo una <strong>edici\u00f3n err\u00f3nea<\/strong> y luego la borraron.<\/li>\n\n\n\n<li><strong>Restauro<\/strong> la revisi\u00f3n anterior, aviso por Slack y <strong>cierro<\/strong> con nota en el <em>log<\/em>.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Exportar y centralizar logs: CSV, mirroring y SIEM ligeros<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Para proyectos en crecimiento, el <em><strong>mirroring<\/strong><\/em> del <em>log<\/em> da paz mental:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>CSV mensual<\/strong> a almacenamiento fr\u00edo (S3\/objeto).<\/li>\n\n\n\n<li><strong>BD externa<\/strong> dedicada si el <em>log<\/em> supera 1\u20132 GB y la descarga penaliza consultas.<\/li>\n\n\n\n<li><strong>Integraci\u00f3n ligera<\/strong> con herramientas de <em>logging<\/em> (p. ej., <em>dashboards<\/em> que muestren \u201ceventos cr\u00edticos por semana\u201d, \u201cusuarios con m\u00e1s cambios\u201d).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Ventajas<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Retenci\u00f3n larga<\/strong> sin inflar tu base de datos principal.<\/li>\n\n\n\n<li><strong>Consultas hist\u00f3ricas<\/strong> ante auditor\u00edas internas\/externas.<\/li>\n\n\n\n<li><strong>Correlaci\u00f3n<\/strong> con otros sistemas (servidor, CDN, WAF).<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Buenas pr\u00e1cticas de mantenimiento: limpieza, pruebas peri\u00f3dicas y checklists<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Checklist mensual (r\u00e1pido)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#x2705; Revisa <strong>retenci\u00f3n<\/strong> (\u00bfsigue teniendo sentido?).<\/li>\n\n\n\n<li>&#x2705; Exporta <strong>CSV<\/strong> y comprueba integridad.<\/li>\n\n\n\n<li>&#x2705; Audita <strong>alertas<\/strong>: quita ruido; a\u00f1ade lo que falte.<\/li>\n\n\n\n<li>&#x2705; Testea <strong>roles<\/strong> (\u00bfalguien con permisos de m\u00e1s?).<\/li>\n\n\n\n<li>&#x2705; Haz un <strong>incidente simulado<\/strong> (<em>table-top<\/em>): desactivar un plugin cr\u00edtico en <em>staging<\/em>, \u00bflo detectaste?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Checklist trimestral (profundo)<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>&#x1f527; Reindexa tablas, revisa tama\u00f1o y <strong>fragmentaci\u00f3n<\/strong>.<\/li>\n\n\n\n<li>&#x1f527; Actualiza el cat\u00e1logo de <strong>eventos cr\u00edticos<\/strong>.<\/li>\n\n\n\n<li>&#x1f527; Eval\u00faa pasar a <strong>BD externa o mirroring<\/strong> si el crecimiento sigue.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Comparativa r\u00e1pida: plugin dedicado vs. \u201csuite de seguridad\u201d con logs<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Plugin dedicado (recomendado para auditor\u00eda seria):<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Pros:<\/strong> <em>granularidad<\/em>, <strong>contexto<\/strong> por evento, mejores <strong>filtros<\/strong>, integraciones de <strong>alertas<\/strong> y <strong>export<\/strong>; menos dependencias.<\/li>\n\n\n\n<li><strong>Contras:<\/strong> suma un <em>plugin<\/em> m\u00e1s (aunque su peso compensa).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Suite de seguridad con m\u00f3dulo de logs:<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong>Pros:<\/strong> todo-en-uno, una sola interfaz.<\/li>\n\n\n\n<li><strong>Contras:<\/strong> registro <strong>menos detallado<\/strong>, eventos mezclados con ruido, <strong>alertas gen\u00e9ricas<\/strong> y dif\u00edcil de escalar.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQs r\u00e1pidas (SEO + utilidad)<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfLos logs afectan al rendimiento?<\/strong><br>Un poco, como cualquier escritura. Se mitiga con <strong>exclusiones<\/strong>, <strong>retenci\u00f3n ajustada<\/strong> y, si creces, <strong>BD externa o <em>mirroring<\/em><\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfCu\u00e1nto tiempo guardo los registros?<\/strong><br>Depende del riesgo y del tama\u00f1o del sitio: <strong>30\u201345 d\u00edas<\/strong> (peque\u00f1o), <strong>60\u201390<\/strong> (mediano), <strong>90\u2013180<\/strong> (ecommerce).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfPuedo saber <em>qui\u00e9n<\/em> cambi\u00f3 una p\u00e1gina y <em>desde d\u00f3nde<\/em>?<\/strong><br>S\u00ed. Los eventos incluyen <strong>usuario, marca temporal e IP<\/strong>. \u00dasalo para <strong>seguir el rastro paso a paso<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfAlertas por todo o solo por lo cr\u00edtico?<\/strong><br>Solo <strong>cr\u00edtico<\/strong>: usuarios y roles, plugins\/temas, ajustes sensibles e <strong>intentos de acceso masivos<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfC\u00f3mo evito llenar la base de datos?<\/strong><br>Establece <strong>purga autom\u00e1tica<\/strong>, <strong>exclusiones<\/strong>, <strong>l\u00edmites<\/strong> de tama\u00f1o de mensaje y <strong>export mensual<\/strong> a almacenamiento fr\u00edo.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Sobre registrar todo lo que ocurre en tu WordPress<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Registrar la actividad no es un lujo; es <strong>seguridad operativa<\/strong>. Con una <strong>herramienta especializada<\/strong>, pol\u00edticas claras de <strong>retenci\u00f3n<\/strong>, <strong>alertas inteligentes<\/strong> y <strong>mantenimiento peri\u00f3dico<\/strong>, consigues <strong>tranquilidad<\/strong> y <strong>responsabilidad<\/strong> en tu equipo. La pr\u00f3xima vez que algo \u201ccambie solo\u201d, tendr\u00e1s <strong>pruebas<\/strong>, <strong>contexto<\/strong> y un <strong>camino claro<\/strong> para resolverlo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Opini\u00f3n Personal<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Hay decisiones que uno pospone porque \u201cno pasa nada\u201d\u2026 <em>hasta que pasa<\/em>. <strong>Registrar la actividad en WordPress<\/strong> es de esas medidas que muchos ven como extra, pero para m\u00ed se ha vuelto <strong>imprescindible<\/strong>. No por paranoia, sino por <strong>operativa<\/strong>: cuando trabajas con contenidos, plugins, temas y varias manos tocando el panel, necesitas saber <strong>qui\u00e9n hizo qu\u00e9, cu\u00e1ndo y desde d\u00f3nde<\/strong>. Ese simple rastro cambia la conversaci\u00f3n de \u201ccreo que\u201d a <strong>\u201cesto ocurri\u00f3 as\u00ed\u201d<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>No es paranoia: es eficiencia<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Lo confieso: antes pensaba que con una <a href=\"https:\/\/www.hostingtg.com\/blog\/copias-de-seguiridad-xcloner\/\">copia de seguridad<\/a> bastaba. <em>Error<\/em>. <strong>La copia te devuelve el sitio<\/strong>, pero <strong>el registro te cuenta la historia<\/strong>. Cuando algo se rompe, no quiero perder una hora especulando; quiero <strong>filtrar por fecha<\/strong>, revisar <strong>eventos cr\u00edticos<\/strong>, identificar el <strong>usuario<\/strong> y la <strong>IP<\/strong>, y tomar decisiones. En mi experiencia, <strong>ese contexto ahorra discusiones y acelera arreglos<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Por qu\u00e9 prefiero una herramienta especializada<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">He probado suites de seguridad que incluyen \u201calgo\u201d de logs, y tambi\u00e9n <strong>plugins dedicados<\/strong> a registrar actividad. Mi veredicto: <strong>la especializaci\u00f3n se nota<\/strong>. Un plugin centrado en auditor\u00eda te da <strong>granularidad<\/strong>, <strong>filtros \u00fatiles<\/strong> y <strong>alertas inteligentes<\/strong>. No quiero un \u201ccentro de notificaciones\u201d que me distraiga; quiero <strong>se\u00f1ales claras<\/strong> sobre <strong>altas\/bajas de usuarios<\/strong>, <strong>cambios en plugins\/temas<\/strong> y <strong>ajustes sensibles<\/strong>. <em>Menos ruido, m\u00e1s precisi\u00f3n<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>La cultura de la responsabilidad (y la paz mental)<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cuando hay <strong>varios editores o administradores<\/strong>, el registro de actividad no es vigilancia; es <strong>orden<\/strong>. He visto c\u00f3mo <strong>baja la fricci\u00f3n<\/strong> cuando todo queda documentado: si alguien borra una p\u00e1gina por accidente, no hay caza de brujas, hay <strong>datos<\/strong>. Y si un cambio se hizo con buena intenci\u00f3n pero mal resultado, <strong>se revierte<\/strong> y se aprende. Eso crea una <strong>cultura profesional<\/strong>: cada cual sabe que sus acciones tienen trazabilidad y, parad\u00f3jicamente, <strong>se trabaja m\u00e1s tranquilo<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Rendimiento y retenci\u00f3n sin dramas<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Otro mito com\u00fan: \u201clos logs ralentizan\u201d. <strong>Depende de c\u00f3mo lo configures<\/strong>. Con <strong>exclusiones<\/strong> sensatas (fuera eventos triviales), una <strong>retenci\u00f3n<\/strong> ajustada (no guardes \u201ctodo para siempre\u201d) y, llegado el caso, <strong>exportaciones peri\u00f3dicas<\/strong> o una <strong>BD externa<\/strong>, el sistema fluye. Para sitios peque\u00f1os me basta con <strong>30\u201345 d\u00edas<\/strong>; si es corporativo o <em>ecommerce<\/em>, <strong>90\u2013180 d\u00edas<\/strong> y export mensual. <strong>Simple y sostenible<\/strong>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Alertas que ayudan, no molestan<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Estoy en contra del <strong>correo por todo<\/strong>. Las alertas deber\u00edan saltar <strong>solo<\/strong> cuando hay algo que <strong>merece tu atenci\u00f3n ahora<\/strong>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Altas\/bajas de usuarios o escaladas de rol<\/strong>.<\/li>\n\n\n\n<li><strong>Activaciones\/desactivaciones\/actualizaciones<\/strong> de plugins\/temas.<\/li>\n\n\n\n<li><strong>Cambios en ajustes cr\u00edticos<\/strong> (URL, <em>permalinks<\/em>, lectura\/escritura).<\/li>\n\n\n\n<li><strong>R\u00e1fagas de intentos de acceso<\/strong>.<br>Para el resto, <strong>res\u00famenes diarios o semanales<\/strong>. As\u00ed <strong>no anestesias al equipo<\/strong> con notificaciones y, cuando llegue una alerta real, <strong>alguien act\u00faa<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>El momento \u201cme salv\u00f3 el d\u00eda\u201d<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Todos tenemos ese incidente que nos convierte. El m\u00edo: una cadena de <strong>comportamientos raros<\/strong> tras una actualizaci\u00f3n. Sin registro, habr\u00eda sido otra tarde de pruebas a ciegas. Con el log, <strong>vi el cambio exacto<\/strong>, <strong>qui\u00e9n lo hizo<\/strong> y <strong>desde qu\u00e9 IP<\/strong>, revis\u00e9 los 15 minutos alrededor del evento, <strong>revert\u00ed<\/strong> lo necesario, avis\u00e9 al responsable y <strong>cerr\u00e9 con nota<\/strong>. Fin del misterio. <strong>Esa sensaci\u00f3n de control vale oro<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si tu sitio te importa (y si llegaste hasta aqu\u00ed, te importa), <strong>registrar la actividad en WordPress no es opcional<\/strong>. Es <strong>seguridad operativa<\/strong>, <strong>productividad<\/strong> y <strong>madurez<\/strong> de equipo. Prefiere una <strong>soluci\u00f3n especializada<\/strong>, <strong>config\u00farala sin ruido<\/strong>, define <strong>retenci\u00f3n<\/strong> y <strong>alertas<\/strong> con cabeza, y <strong>pru\u00e9bala<\/strong> de forma peri\u00f3dica. En mi d\u00eda a d\u00eda, ha marcado la diferencia entre \u201capagar fuegos\u201d y <strong>trabajar con confianza<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00bfT\u00fa qu\u00e9 opinas?<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Me interesa tu experiencia: \u00bfusas registro de actividad? \u00bfQu\u00e9 te funcion\u00f3 mejor: suite todo-en-uno o plugin dedicado? \u00bfQu\u00e9 <strong>alertas<\/strong> te han salvado de un accidente? <strong>D\u00e9jame tus comentarios abajo<\/strong> \u2014 te leo y seguimos la conversaci\u00f3n.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Por qu\u00e9 registrar la actividad en WordPress (y cu\u00e1ndo te salva el d\u00eda) Registrar la actividad en un WordPress es una de esas decisiones que, al principio, parecen innecesarias\u2026 hasta que algo falla. El d\u00eda que notas que alg\u00fan ajuste ha cambiado \u201cmisteriosamente\u201d, un usuario ha borrado contenido sin avisar o empiezan comportamientos raros en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7226,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_aifi_custom_prompt":"","site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[952],"tags":[1165,1166,197,1164],"class_list":["post-7218","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guias","tag-log","tag-registro","tag-wordpress","tag-wp-activity"],"_links":{"self":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/7218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/comments?post=7218"}],"version-history":[{"count":2,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/7218\/revisions"}],"predecessor-version":[{"id":7222,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/posts\/7218\/revisions\/7222"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media\/7226"}],"wp:attachment":[{"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/media?parent=7218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/categories?post=7218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostingtg.com\/blog\/wp-json\/wp\/v2\/tags?post=7218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}