

The activity log with search, severity and date filters, one row per event.
Shake Connect is the site-side companion to the WPShake dashboard at wpshake.com. Install it on each WordPress site you want to monitor, then add the site to your WPShake account using the connection token shown on the plugin’s settings page. The dashboard then runs daily checks across every connected site without you logging into each one.
/wp-json/wpshake/v1/* that the WPShake dashboard calls to read site state.WP_DEBUG_LOG, backup-plugin detection (UpdraftPlus, BlogVault, BackWPup, Solid Backups, WPvivid, Duplicator), the activity log (plus the WP Activity Log plugin’s table when that plugin is installed), a built-in malware signature scanner, and a broken-link checker.wp wpshake for token rotation and status checks.Shake Connect records who did what on the site and keeps it in its own database tables. Open it from the Activity log menu in the WordPress admin.
wp shake activity commands for WP-CLI.Once the site is connected to WPShake, the dashboard also keeps an off-site copy of the log.
The token is stored as a SHA-256 hash on this site. The dashboard sends the plain token in an Authorization: Bearer header on every request. Every authenticated endpoint validates the header before doing anything.
If you maintain more than a handful of WordPress sites, you already know the work. Shake Connect is the receiver for an agent that handles the daily checks across your fleet: backup verification, plugin and theme update visibility, vulnerability scanning, performance probes, PHP error monitoring, broken link checks, and per-site recommendations on what to update and what to hold.
The WPShake dashboard is a separate paid service. This connector plugin is free and open source under GPL.
Shake Connect supports WordPress multisite. Network-activate the plugin and the connection token is stored at the network level so every subsite shares the same credentials. Enumerate subsites via /network/sites and pass ?blog_id=N to per-site read endpoints (for example /site/info?blog_id=3 or /plugins?blog_id=3) to inspect each subsite. Without blog_id, requests run against the main site. Enumeration is capped at 500 subsites per call.
Shake Connect contacts the services below. Each one is either the WPShake dashboard you connect the site to, or a destination you add yourself.
The site sends activity log events to WPShake so the dashboard keeps an off-site copy of the log. This starts only after you connect the site to your WPShake account and the dashboard sets up the connection with your bearer token. Events are sent at the end of the page request that recorded them, and once a day for any the dashboard hasn’t confirmed. Each event holds its type and severity, the time, the user ID, username and roles, the visitor’s IP address and browser user agent, the affected object’s type, ID and name, the subsite ID and a few event-specific details. Requests go to the WPShake ingest address the dashboard provides (for example https://ingest.example.com/activity) and are signed with a key shared during setup.
Service: wpshake.com. Terms of service, privacy policy.
Under Activity log, Mirrors, you can copy the log to destinations of your own. Nothing is sent until you add one. Each mirror receives the same event fields as above, plus the site address and a readable message. A background job sends new events about once a minute.
logs.example.com:12345). Terms, privacy.https://logs-01.loggly.com/bulk/, with your customer token. Terms, privacy.https://hooks.slack.com/services/T000/B000/XXXX). Terms, privacy.https://logs.<region>.amazonaws.com/ for the region, log group and stream you choose. Terms, privacy.https://hooks.example.com/activity). The terms and privacy policy are those of whoever runs that address.syslog.example.com:514). The terms are those of whoever runs that server.db.example.com:3306). The terms are those of whoever runs that server.When the WPShake dashboard asks for a link check, the site sends a HEAD request (or a GET, if the server refuses HEAD) to each link found in its own content, to read the response status. Only the URL is requested, nothing else is sent. These go to whichever sites your content links to. The Recheck now action in Tools > Broken Links sends the same request for one link when an editor clicks it. Addresses on private or internal networks are never requested.
When an editor dismisses or restores a link in Tools > Broken Links, the site also tells the WPShake dashboard, so both show the same list. The request goes to the WPShake ingest address (the same one as the activity log, with a different path) and is signed with the key shared during setup. It carries the site ID, the link URLs and the editor’s username. It is sent only after the dashboard has set up the connection.
Scheduled activity reports are emailed through this site’s own mail setup.