# As a condition of accessing this website, you agree to abide by the following # content signals: # (a) If a Content-Signal = yes, you may collect content for the corresponding # use. # (b) If a Content-Signal = no, you may not collect content for the # corresponding use. # (c) If the website operator does not include a Content-Signal for a # corresponding use, the website operator neither grants nor restricts # permission via Content-Signal with respect to the corresponding use. # The content signals and their meanings are: # search: building a search index and providing search results (e.g., returning # hyperlinks and short excerpts from your website's contents). Search does not # include providing AI-generated search summaries. # ai-input: inputting content into one or more AI models (e.g., retrieval # augmented generation, grounding, or other real-time taking of content for # generative AI search answers). # ai-train: training or fine-tuning AI models. # ANY RESTRICTIONS EXPRESSED VIA CONTENT SIGNALS ARE EXPRESS RESERVATIONS OF # RIGHTS UNDER ARTICLE 4 OF THE EUROPEAN UNION DIRECTIVE 2019/790 ON COPYRIGHT # AND RELATED RIGHTS IN THE DIGITAL SINGLE MARKET. # BEGIN Cloudflare Managed content User-agent: * Content-Signal: search=yes,ai-train=no Allow: / User-agent: Amazonbot Disallow: / User-agent: Applebot-Extended Disallow: / User-agent: Bytespider Disallow: / User-agent: CCBot Disallow: / User-agent: ClaudeBot Disallow: / User-agent: CloudflareBrowserRenderingCrawler Disallow: / User-agent: Google-Extended Disallow: / User-agent: GPTBot Disallow: / User-agent: meta-externalagent Disallow: / # END Cloudflare Managed Content WPSignal: Realtime WordPress WebSocket Events

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.

Getting Started

<Simple />

Installation

Download:
WP CLI:
Terminal
wp plugin install wordsocket --activate
Composer:
Terminal
composer require wpackagist-plugin/wordsocket

<Intuitive />

Setup Steps

1. Connect

Click "Connect to WPSignal" in the settings page:
WP Admin > WordSocket > Connect.

WPSignal Disconnected

2. Authorize

Click "Connect to WPSignal" in the settings page: your site registers automatically and credentials are saved.

WPSignal Authorize

3. Verify

Your site is connected to WPSignal and ready to receive events.

WPSignal Authorize

<Capabilities />

Built for WordPress developers

Realtime collaborative editing
without HTTP polling

WordPress 7.0 ships a collaborative block editor built on Yjs.
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.

See the docs
PEER·A STEP·1 UPDATE YJS RELAY WPSignal STEP·2 UPDATE PEER·B

<Code />

Example

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.

See the full guide
wp-content/plugins/{plugin}/plugin.php
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();
});
wp-content/plugins/{plugin}/src/main.js
document.addEventListener('wpsignal:order.status_changed', (e) => {
  const { 
    order_id, 
    new_status, 
    total 
  } = e.detail.data;
  triggerFlashNotification(order_id, new_status, total);
});

<What's next />

On the roadmap

WPSignal is actively developed. Here's what's planned next.

  1. WordPress RTC Integration

    Complete

    WPSignal as a Tier 3 WebSocket sync provider for WordPress collaborative editing, powered by Yjs.

  2. WP Plugin Repository Submission

    Complete

    WordSocket is live on the WordPress.org plugin directory. Install it directly from WP Admin or via WP-CLI.

  3. E2E Encryption

    In progress

    WPSignal currently supports blind-relay encryption, WPSignal only ever sees ciphertext. Soon E2E encryption will be supported.

  4. WPSignal Live Chat Plugin Repository Submission

    In progress

    A separate WordPress plugin providing 1-on-1 direct messaging for logged-in users, powered by WPSignal's bidirectional WebSocket relay.

  5. Hub and Spoke

    Planned

    One primary WordPress site dispatches events; connected child sites consume them. Cross-site event routing without duplication.

  6. Shared Worker (Connection Multiplexing)

    Planned

    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.

Get started freeGetting started guide