WordSocket
WordSocket

WordSocket

5/5 (1 ratings) — active installs Updated Sep 25, 2026
Connect tab (Automatic): one-click connection flow. Log in to your WPSignal dashboard and authorize the site with a single button.

Connect tab (Automatic): one-click connection flow. Log in to your WPSignal dashboard and authorize the site with a single button.

WordSocket sends realtime events from your WordPress site to connected browsers.
When content changes: a post is published, a comment is approved, an option is updated: the plugin pushes the event to subscribers instantly via WebSocket (with SSE fallback).

When real-time collaboration is available (currently through the Gutenberg plugin), WordSocket also registers as a WebSocket-based Yjs sync provider for realtime collaborative editing in the block editor, replacing the default HTTP polling transport with a low-latency WebSocket connection.

WPSignal is an independent service and is not affiliated with or endorsed by the WordPress project.

Features:

  • One-click automatic connection via the WPSignal dashboard (no API key required)
  • Manual connection via API key for advanced setups
  • Disconnect button with inline confirmation: the site is archived on the server, its usage history is kept, and reconnecting the same URL restores it
  • WebSocket-first with automatic SSE fallback
  • Per-site JWT signing secrets: each site’s connection tokens are cryptographically isolated
  • AES-256-GCM encrypted event payloads: the WPSignal relay never has access to their plaintext
  • Admin toggle to disable the collaboration provider and fall back to Gutenberg’s HTTP polling
  • Built-in triggers for post updates and custom post types
  • Custom trigger builder: map any WordPress action hook to a realtime event
  • Public JavaScript API (window.WPS) for themes and plugins to share the connection
  • Extensible connection token: wpsignal_token_channels and wpsignal_token_channel_prefixes filters let other plugins add channels and namespace permissions to the JWT without modifying core
  • Admin explorer page with live event log, publish form, and token inspector
  • Short-lived JWTs (5 min) with automatic refresh

How it works:

  1. Install the plugin and connect to the WPSignal service.
  2. When content changes in WordPress, the plugin encrypts and publishes an HMAC-signed event to the WPSignal server.
  3. The server pushes the ciphertext to all browsers subscribed to that channel.
  4. The browser decrypts the payload and dispatches wpsignal:* DOM events. The relay never sees the payload’s plaintext.
  5. When real-time collaboration is available on the site, the block editor uses the same WebSocket connection for collaborative editing with no extra configuration.

Real-Time Collaboration

WordSocket ships a WebSocket sync provider for the block editor’s real-time collaboration feature. Three things need to be true for it to activate:

  1. The Gutenberg plugin is active. Real-time collaboration was removed from WordPress core before the 7.0 release and is only available through the Gutenberg plugin.
  2. Real-time collaboration is enabled under Gutenberg > Experiments > Enable real-time collaboration (Gutenberg 23.8 and later; earlier versions used Settings > Writing).
  3. The site is connected to WPSignal, since the provider shares the plugin’s WebSocket connection.

The WordSocket Settings tab shows a “Gutenberg detected” badge when the feature is available on your site. Once active, everything collaboration syncs travels over the WebSocket instead of HTTP polling: document updates, cursors and presence, and collaborative notes. If the connection drops, the provider reconnects with increasing delays; after repeated failures the editor shows its standard “connection lost” dialog, and documents re-sync when the connection returns. If a site’s credentials are revoked, the editor reports an authentication error instead of retrying forever. The site editor does not use sync providers (core disables collaboration there). Disabling the provider from the Settings tab restores Gutenberg’s HTTP polling for all editors.

Third-Party Service

This plugin connects to the WPSignal service at api.wpsignal.io for the following operations:

  • Site registration: when you connect in the admin (via the automatic one-click flow or by entering an API key manually), the plugin registers your site with the server and receives credentials.
  • Event publishing: when a trigger fires (e.g. a post is saved), the plugin sends an encrypted, HMAC-signed HTTP request to the server.
  • Realtime connections: logged-in users’ browsers connect to the server via WebSocket or SSE to receive events.
  • Collaborative editing: when real-time collaboration is enabled through the Gutenberg plugin, editors’ browsers relay Yjs document updates (binary diffs of the post being edited), cursors and presence to each other through the server, over the same WebSocket.

Event payloads are AES-256-GCM encrypted before leaving WordPress, so the WPSignal server relays ciphertext and never has access to their plaintext. Collaborative editing updates are not encrypted: the server could read them, though it only forwards them and never parses or stores them. Data is delivered in realtime and is not persisted on the server.

Setup

Showcase

Below are a few examples showcasing the possibilities with WP Signal + WordSocket. Repository https://github.com/wpsignal/wordsocket-examples

Living Posts – Interactivity API

Source code: https://github.com/wpsignal/wordsocket-examples

Bidirectional Realtime Chat Plugin

Realtime Poker Plugin

Open Source

https://github.com/wpsignal/wordsocket

Third-party libraries

The browser client bundles @noble/ciphers (MIT, audited) for AES-256-GCM decryption on plain HTTP pages, where browsers do not offer SubtleCrypto. It is compiled into build/client.js by npm run build.