Realtime WordPress events.
Zero polling.
Push WordPress events, post updates, comment counts, and order status changes to browsers instantly via WebSocket. One PHP call. No infrastructure to manage.
Event lifecycle
Hook fires.
Browser knows.
Every WordPress action hook is a potential signal. WPSignal captures
the event at the moment it fires, signs it, and relays it through a
persistent connection straight to the browser as a native
CustomEvent.
The round trip from publish to DOM event takes milliseconds. No polling interval, no stale state.
3 steps
How it works
Three steps from installation to live events in the browser.
Install the plugin
Install WordSocket, the WordPress plugin. Click 'Connect to WPSignal' in the settings page: your site registers automatically and credentials are saved.
Events fire automatically
The plugin publishes 'post.updated' events on every save. Register custom triggers with one line of PHP for any WordPress action.
Browser receives events
Logged-in users get a WebSocket connection (SSE fallback). Every event fires a native 'CustomEvent' on 'document' — no framework required.
Always connected
One signal.
Infinite reach.
A persistent WebSocket connection between your WordPress site and every browser. Events arrive the instant they fire, no polling, no delay, no infrastructure to babysit.
Capabilities
Built for WordPress developers
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 — channel, payload, condition — all in one call.
Cross-origin ready
CORS-enabled for SSE connections. Works from any domain without proxy configuration.
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.
One line of PHP.
Live in the browser.
Register custom triggers on any WordPress action hook using the fluent builder API. Add a condition, custom channel, or transform the payload: all optional.
The browser client auto-connects and dispatches native
CustomEvents, listen with plain JavaScript or integrate with any frontend
framework.
// Publish when a WooCommerce order status changes
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();
}); // Listen for the order status change event
document.addEventListener('wpsignal:order.status_changed', (e) => {
const { order_id, new_status, total } = e.detail.data;
updateOrderUI(order_id, new_status, total);
}); Demo
Bidirectional chat.
Built on WPSignal.
The WPSignal Chat plugin is a reference implementation demonstrating real-time private messaging between logged-in WordPress users, built entirely on the WPSignal infrastructure, with no additional WebSocket connections or third-party services.
-
Shared connection
Hooks into
window.WPS: the connection opened by the core plugin. Zero additional WebSocket connections. -
Private channels
Each user subscribes to their own
chat.user.{id}channel. Messages route exclusively to the intended recipient. -
Live typing indicators
chat.typingevents throttled to 2 seconds, auto-cleared after 3 seconds of inactivity. -
Optimistic UI
Messages appear instantly. Server confirmation via
chat.message.sentreconciles state silently in the background. -
REST + realtime hybrid
Message history loads from the WordPress REST API with cursor pagination. Real-time events layer on top: no polling required.
What's next
On the roadmap
WPSignal is actively developed. Here's what's planned next.
WP Plugin Repository Submission
WordSocket is live on the WordPress.org plugin directory. Install it directly from WP Admin or via WP-CLI.
E2E Encryption
WPSignal currently supports blind-relay encryption, WPSignal only ever sees ciphertext. Soon E2E encryption will be supported.
WordPress RTC Integration
WPSignal as a Tier 3 WebSocket sync provider for WordPress collaborative editing, powered by Yjs.
Hub and Spoke
One primary WordPress site dispatches events; connected child sites consume them. Cross-site event routing without duplication.
Ready to go realtime?
Free during beta. No credit card required. Sign up, connect your site, and push your first event in minutes.