Realtime collaboration.
Without HTTP polling.

Real-time collaborative editing is available today through the Gutenberg plugin, built on Yjs. The default transport is HTTP polling. WordSocket registers as a WebSocket sync provider, replacing polling with a persistent low-latency connection the moment you connect.

< The editor />

Two authors, one document

Each author's caret carries their name, and every keystroke reaches the other browser over the same connection your events use.

An illustration, not a recording. The editor is Gutenberg's; WordSocket only changes how the keystrokes travel.

What Gutenberg ships

The Gutenberg plugin introduces a collaborative block editor powered by the Yjs CRDT library. Multiple authors can edit the same post simultaneously and changes merge automatically without conflicts.

Out of the box, editor state is synchronised over HTTP: the browser polls a REST endpoint on a short interval to exchange Yjs document updates. It works, but adds latency proportional to the poll interval and generates constant background traffic even when no one is typing.

What WordSocket adds

Gutenberg exposes a sync.providers filter that lets plugins register an alternative transport. WordSocket hooks into this filter and registers itself as a WebSocket-based Yjs sync provider.

Yjs document updates flow as binary WebSocket frames over the same connection already open for realtime events. No second connection, no extra configuration. The switch happens automatically when you connect your site to WPSignal.

< What you get />

A transport swap, not a rewrite

The editor, the merge behaviour and the post format are all Gutenberg's. WordSocket only changes how the updates travel.

< Setup />

Running in under a minute

No server to configure. No Yjs infrastructure to manage.

  1. 1. Install WordSocket

    Install from the WordPress plugin directory or via WP CLI. Collaborative editing also requires the Gutenberg plugin with its real-time collaboration experiment enabled.

  2. 2. Connect to WPSignal

    Go to WP Admin > WordSocket, open the Connect tab and click Connect. Your site registers automatically and the Yjs provider is enabled by default.

  3. 3. Open the block editor

    Open any post with a second user. The editor switches to the WebSocket transport automatically. No configuration required.

Common questions

Does this require the Gutenberg plugin?

Yes, for now. Real-time collaboration was removed from WordPress core before the 7.0 release and currently ships with the Gutenberg plugin. WordSocket detects when collaboration is available and enabled, shows a Gutenberg detected badge in its settings, and skips provider registration otherwise.

Does it use a separate WebSocket connection?

No. Yjs document updates are relayed over the same persistent WebSocket connection already open for realtime events. There is no second connection.

What happens when WebSocket is unavailable?

Collaborative editing needs WebSocket, because SSE is receive-only. If the editor opens while the client is on SSE, collaboration stays off for that editor until the page is reloaded with WebSocket available. You can also disable the provider from the WordSocket Settings tab to use Gutenberg's own HTTP polling instead.

Are Yjs document updates encrypted?

Yjs updates are relayed as binary frames and are not covered by the AES-256-GCM event encryption, which applies to JSON event payloads only. The relay forwards the binary diffs by channel and never parses or stores them.

Can I disable collaborative editing without deactivating the plugin?

Yes. The WordSocket Settings tab has a toggle to disable the Yjs provider and restore Gutenberg's HTTP polling for all editors. Site owners can also turn collaboration off globally under Gutenberg > Experiments.

Available today via Gutenberg

Switch from polling today

Install Gutenberg and WordSocket, connect to WPSignal, and your block editor uses WebSocket sync automatically.

Create an account Install WordSocket