Some backstory: i’ve been developing several WordPress projects back-to-back or in parallel in the last few months, and once they’re ready to transfer from local dev environment to staging server, the content provided to me from clients or coworkers usually becomes stale, needing to be updated with increased frequency or in sporadic bulk edits, which would keep my local database annoyingly out of sync with the staging database. It was a clusterfuck — for lack of a cleaner word.
This was especially a nuisance because i heavily use ACF (Advanced Custom Fields), so if i’m still working on some content and layout change the client asked for or a new feature i didn’t get to for staging just yet, once i update the local database, gotta push it to staging, and just a big ole mess, especially since staging database might have had 40 new pages or posts updated.
With that said, the real catalyst was when i had just put a site to staging, but was ready to finish some back-end stuff, and the content structure would be pretty much the same; i just needed a colleague to update the staging database and i’d pull down their changes to my local dev environment, accordingly. But i didn’t have an efficient system to check if they actually made updates to Press Article’s content or added a new Blog post or a Staff member. Hence me looking for a WordPress activity log plugin. Heck, tried googling for security log and audit log, as well. I didn’t need anything too robust but also nothing too simple.
I ended up downloading Activity Log and User Activity Log after looking at Simple History, but finding it to be too bare-bones. Activity Log and User Activity Log essentially did the same things, but for advanced features they were premium-only. Not what I wanted. They did both have email notifications, which were a desired feature of mine, but logging for custom post types (CPTs) weren’t part of the free features. Blah!
So, i did some other googling with different phrases, going down some “best of” lists and eventually found out about Stream. It has user logging, post/page update logging, limiting access who can view activity logs, and email notifications. Awesome.
Two intriguing things, though, that i wasn’t even looking for or thinking about that piqued my interest even more: wp-cli querying of records and built-in tracking for other popular plugins (like JetPack, ACF, WooCommerce). For the latter, it having logging of ACF was like, oh oh oh! Especially with what i said in the beginning about my reliance on ACF, it was like, wow, how did i not think to have this integration as a requirement.
As you can see above, Stream out of the box recorded my activity. The bottom record, FYI, was the only setting i edited/added before taking this screenshot: it alerts me if any user updates a page in any way. There are other triggers for notifications. I’ve yet to fully go through them all, but i did notice ACF and CPT granular options.
I’ve only been using this for about an hour and only on one local dev site, but it’s been great insight to see my own activity as i update the site. Going to push it to staging version so i can monitor the other users’ activity of the same project today. If it goes as well as i think it will with this one, i’ll look to integrate it into all of my WordPress projects. I’m excited. Great when there’s a plugin out there that is lightweight and does what you need. It can be time-consuming to craft your own functions or plugins to achieve this functionality.
All right. Hopefully others will find this plugin useful. Cheers!