Track Who’s Doing What On Your WordPress Site With Stream

In a recent episode of Apply Filters, Pippin and Brad were speaking with Frankie Jarrett and Japh Thomson, developers from X-Team and they were discussing their latest project, Stream which, up until now, I was unaware of.

I have worked with activity logging plugins before, but they usually target a specific set of actions (such as logins), or aren’t too well-thought out, or are really cluttered.

Stream is a fresh and exciting new plugin in this arena. It tracks everything that happens on your WordPress site and records it. This can be useful for many reasons, the main one in my opinion being that you can troubleshoot how issues arise, particularly on client’s sites.

For example, (and this may be very familiar to other WordPress developers), you may get an email from a client saying that something has gone wrong with their site and they don’t know happened. They’re probably being truthful in that, either they did something and aren’t aware that it broke something, or another user on their site did something, malicious or benign, that caused the problem.

Nonetheless, you’re now faced with the task of trying to figure out what might be causing the problem. That could include a bit of Q&A with the client to establish what was done recently, what plugins might have been installed, and what they may have been trying to change lately. Then it might require looking at the site and using your expertise to interpret what you’re seeing with what might be causing it.

This is all well and good, and for good developers, it should be enough to solve the issue, but a lot of this trouble can be bypassed with the help of Stream. As I alluded to, Stream logs everything that happens on your site, whether by a logged-in user or by a plugin, so at a quick glance, you can see exactly what has changed recently (or further into the past if the problem has existed for a while). Here’s a rundown of the kinds of things that Stream tracks:

  • Posts
  • Pages
  • Custom Post Types
  • Users
  • Themes
  • Plugins
  • Tags
  • Categories
  • Custom Taxonomies
  • Settings
  • Custom Backgrounds
  • Custom Headers
  • Menus
  • Media Library
  • Widgets
  • Comments
  • Theme Editor
  • WordPress Core Updates

So, everything then!

Using Stream

Now that you know all the useful information that it can track, you might want to know how it stores and presents that information. Luckily, the UI is gorgeous: one of the best I’ve seen.

Stream View

Stream provides both a dashboard widget for a quick glance at what’s been happening recently, and its own admin screen, where you can dig in a little deeper. In the admin screen, you have the ability to filter by time, user, and the category, or specific action performed. In this manner, you can quickly see what’s been happening during a particular timeframe, by a particular user, or who’s been taking specific actions, like modifying widgets, or creating deleting pages.

Settings

In the plugin’s settings, there’s a few useful tools, like the ability to exclude certain items from being recorded. For instance, I may want to ignore everything that my user account does (because I know me and I trust what I do). Or you may want to ignore information that doesn’t matter to you, like logins and logouts.

Another handy feature is the ability to restrict how long Stream keeps its data for. The default setting is 90 days, which is perfect in my opinion: long enough to keep a record of potentially relevant information, but not too long that you’ll have massive database bloat by keeping unnecessary information around.

Stream Plugin Extensions

Cherry-Pick

This extension allows you to go through all of your Stream records and delete ones that are not important, either individually, or in bulk.

Data Exporter

If you need to export your data to a CSV, JSON or XML file, you’re in luck. Just narrow down which dates, authors, connectors, contexts or actions you want data from, or go nuts and export everything!

Notifications

You know that pesky user who keeps messing around with your widgets? With this extension, you can set up extremely customizable rules that will send you a notification when something specific occurs on your site. Better yet, you can get the notifications by email, or as a push notification to your smartphone (Android and iOS supported, through the free Pushover application).

Reports

Create responsive and interactive reports that let you analyze your data in an easy-to-read format. Great for seeing who’s been writing the most, or who’s been responding to comments.

WooCommerce Connector

This extension joins Stream with the popular e-commerce platform, WooCommerce, enabling you to track all activity related to orders, coupons, products or settings.

I think that the extensions are really reasonably priced: for 1 site, you get all of the extensions for just $5, and if you’re a developer, you can have up to 25 sites for just $49.

Conclusion

It’s nice to know that the plugin has been developed with the best in coding standards. The developers at X-Team are extremely competent, and Pippin mentioned in the Apply Filters episode that he had tried it on a larger site, and it had zero impact on performance. And so long as plugins and themes are using the right hooks and filters to make changes to your site, Stream can record everything that they do, without a performance hit. Awesome!

Post Author: Dave Clements

Dave started out building websites for friends and family and it has evolved into a profitable side business, which also spawned his latest venture, The WP Butler. He enjoys photography, logic, Wheat Thins, spending time with his wife, friends and family, exploring the world, efficiency and sushi. Given the chance, he'd love to work with WordPress full time.

Disclosure: This page contains external affiliate links that may result in us receiving a comission if you choose to purchase said product. The opinions on this page are our own. We do not receive payment for positive reviews.
Got something to say? Join the discussion.
  1. Pam says:
    Is there a setting to have logs emailed to me? WordPress was hacked and the fixer freelancer wiped every file, no idea why. No backup. If I knew by daily logs ..l
    • Kyla says:
      Kyla
      Hmm, I'm not sure about the daily logs but according to their support page you can enable email notifications for every Stream alert. Perhaps this would work? If not try opening a new topic on their support page asking for this feature - if enough people are interested they might add it in the next update :-)
      Admin

Leave a Reply