Realtime WordPress events. Zero polling.
WPSignal serves as a WebSocket relay for your WordPress site. In combination with the WordSocket plugin, you can trigger events for any WordPress action hook. Dispatch events from your PHP code to all browsers connected to your site.
Download:
WP CLI:
wp plugin install wordsocket --activate Composer:
composer require wpackagist-plugin/wordsocket 1. Connect
Click "Connect to WPSignal" in the settings page:WP Admin > WordSocket > Connect.
2. Authorize
Click "Connect to WPSignal" in the settings page: your site registers automatically and credentials are saved.
3. Verify
Your site is connected to WPSignal and ready to receive events.
-
WebSocket-first
Persistent WebSocket connections with Server-Sent Events as automatic fallback. Keepalive pings every 20 seconds.
-
HMAC-signed publishes
Every event is signed with SHA-256 HMAC. Timestamp replay protection and per-site rate limiting built in.
-
Fluent trigger API
Attach events to any WordPress action hook with a builder API: channel, payload, condition and more, all in one call.
-
Blind relay encryption
When using WordSocket, all events are AES-256-GCM encrypted before leaving WordPress. WPSignal only ever sees ciphertext.
-
Multi-site support
Each WordPress site gets its own site_key and publish secret. Tenant isolation is enforced at the channel level.
-
Explorer
Built-in admin page showing connection status, live event log, publish form, and token inspector for instant debugging.
Realtime collaborative editing
without HTTP polling
WordPress will ship real-time collaborative editing in a future version release.
The default transport is HTTP polling. WordSocket registers as a WebSocket-based Yjs sync provider, replacing polling with a persistent low-latency connection using the same relay your events already run on. No extra configuration required.
Readable, developer focused API
on any WordPress action hook using the fluent builder API. Add a condition, custom channel, or transform the payload: all optional.
Listen for events
The browser client auto-connects and dispatches native
CustomEvents, listen with plain JavaScript or integrate with any frontend
framework.
add_action('wpsignal_loaded', function () {
WPS::trigger('order.status_changed')
->on('woocommerce_order_status_changed', 10, 3)
->channel('events')
->data(
fn ($order_id, $old_status, $new_status) => [
'order_id' => $order_id,
'old_status' => $old_status,
'new_status' => $new_status,
'total' => $order->get_total(),
])
->register();
}); document.addEventListener('wpsignal:order.status_changed', (e) => {
const {
order_id,
new_status,
total
} = e.detail.data;
triggerFlashNotification(order_id, new_status, total);
}); -
WPSignal as a Tier 3 WebSocket sync provider for WordPress collaborative editing, powered by Yjs.
-
WordSocket is live on the WordPress.org plugin directory. Install it directly from WP Admin or via WP-CLI.
-
WPSignal currently supports blind-relay encryption, WPSignal only ever sees ciphertext. Soon E2E encryption will be supported.
-
A separate WordPress plugin providing 1-on-1 direct messaging for logged-in users, powered by WPSignal's bidirectional WebSocket relay.
-
One primary WordPress site dispatches events; connected child sites consume them. Cross-site event routing without duplication.
-
Allow multiple single user connections to be multiplexed through a single shared worker.
Ready to go realtime?
Free during beta. No credit card required. Sign up, connect your site, and push your first event in minutes.