
Journal Tracker
Track changes to selected MySQL tables, review request groups, and roll back eligible entries from the WordPress admin
Free WordPress plugin · Version 1.0.1
JYP Journal Tracker
Track changes to selected MySQL tables, review related database writes as request groups, and roll back eligible entries from the WordPress admin.
JYP Journal Tracker uses MySQL triggers to record INSERT, UPDATE, and DELETE operations on selected InnoDB tables. Review the recorded values and history before deciding whether to roll back.
Created by JYP - Just Your Plugin.
How it works
Choose the tables
Enable journaling for the InnoDB tables you need to monitor. Database triggers record inserts, updates, and deletes, including the values needed to review changes.
Understand each request
Inspect individual entries or group changes by the database request that made them. Review timestamps, source, row values, and the number of changes before taking action.
Roll back eligible changes
Roll back a request group in reverse event order, or select individual entries. The plugin checks for later conflicting changes and stops an unsafe rollback.
Key features
Flexible InnoDB tables
Journal tables with different schemas, including composite primary keys. Tables without a primary key can be tracked after the plugin adds and initializes a row GUID.
Rollback protection
Temporarily block INSERT, UPDATE, and DELETE operations on all registered InnoDB source tables while an administrator performs rollbacks.
Retention and diagnostics
Configure journal retention, run scheduled or manual cleanup, inspect journal values, and diagnose registered tables and triggers.
Use case: undo an accidental Elementor page edit
Journaling must be enabled for the relevant content tables before the accidental edit takes place.
- In Tracker Manager, enable journaling for the content tables involved, commonly
wp_postsandwp_postmeta. Use your site's actual table prefix. - After the edit is saved, open Journal and select All. Find the request group or groups created by the save, then review their timestamps, source, change count, and details.
- Enable Rollback protection if a temporary write freeze on all registered tables is acceptable for your site.
- Roll back relevant groups from newest to oldest. Review any conflict message; do not force a database change that conflicts with later activity.
- Verify the page in WordPress and Elementor, then turn Rollback protection OFF to allow writes again.
Requirements and compatibility
WordPress and PHP
WordPress 6.0 or later and PHP 7.4 or later.
MySQL
MySQL 8.0.13 or later. MariaDB, other database servers, and MySQL replication are not supported.
Storage and permissions
Every source table and the plugin's journal tables must use InnoDB. The database user needs permissions to create and manage tables, indexes, partitions, and triggers.
A table without a primary key requires the plugin to add and populate a GUID column. Run this initialization during a maintenance window with other writers stopped. Some schemas may be incompatible with required journal columns or MySQL identifier limits.
Plan rollbacks carefully
Rollback protection is a temporary write freeze, not a general maintenance mode. Visitors can browse the site, but writes to registered tables will fail while protection is ON. This includes saves from open browser sessions, scheduled jobs, and integrations.
Protection does not block DDL such as ALTER, DROP, or TRUNCATE; writes to unregistered tables; every foreign-key cascade; or every possible database-level operation. Keep backups and use appropriate database access controls.