WordPress Plugin · Version 0.2.3

Publish on your own site. Participate in the open social web.

Open Social Updates turns WordPress into a simple self-hosted microblog. Publish short updates on your own domain, federate them through ActivityPub, and syndicate them to Bluesky through AT Protocol.

Features

Designed to keep WordPress as the canonical home for your short-form social publishing.

Native WordPress Updates

A dedicated, titleless social_update post type with drafts, scheduling, revisions, media, comments, and Gutenberg editing.

Fediverse Publishing

Publishes Updates as ActivityStreams Note objects using the official WordPress ActivityPub plugin.

Bluesky / AT Protocol

Connect a Bluesky account and publish text, tags, and up to four WordPress images with alt text.

Platform Toggles

Enable or pause Fediverse and Bluesky publishing globally, while keeping per-Update publishing controls.

WordPress Tags → Hashtags

Use native WordPress tags locally and send them as hashtag metadata to supported social platforms.

Inbound Fediverse Replies

Replies from compatible ActivityPub services can return to WordPress as comments beneath the original Update.

Block Theme Support

Uses WordPress block templates so Updates inherit your theme header, footer, global styles, spacing, and comments presentation.

Retry-Safe Bluesky Sync

Transient failures retry automatically without creating duplicate Bluesky posts, while permanent auth errors fail cleanly.

Security Hardened

Admin-only connection settings, encrypted Bluesky refresh tokens, media permission checks, capability enforcement, safe HTTP requests, and ActivityPub version gating.

How it works

Write once in WordPress, then let each connected network handle its own publishing path.

WordPress Update │ ├── Your website │ └── /updates/ │ ├── ActivityPub │ └── Mastodon / compatible Fediverse services │ └── AT Protocol └── Bluesky
WordPress remains canonicalYour original content lives on your own domain.
Independent platform controlsPause one network without affecting the others.
Non-destructive pauseTurning a network off stops future sync without deleting existing remote posts.

Changelog

Release highlights from 0.1.0 through the current 0.2.3 build.

Latest

0.2.3

  • Added site-wide master publishing toggles for Fediverse and Bluesky.
  • Per-Update publishing settings now respect the global platform state.
  • Globally disabling a platform pauses future publishing without deleting existing remote posts.
  • Queued Bluesky jobs stop safely when Bluesky publishing is globally paused.
  • Existing installations default both master switches to enabled.

0.2.2

  • Added dedicated Bluesky publishing capability and administrator-only default access.
  • Added background-job permission enforcement.
  • Added image ownership/access checks before Bluesky uploads.
  • Restricted Bluesky media uploads to supported raster image formats.
  • Disabled authenticated AT Protocol redirects and capped API response sizes.
  • Sanitized internal error reporting.
  • Raised the minimum supported ActivityPub version to 9.3.1.

0.2.1

  • Added automatic Bluesky retries for transient network errors.
  • Made first-time Bluesky publishing retry-safe and duplicate-resistant.
  • Added idempotent Bluesky delete handling.
  • Kept Bluesky failures isolated from WordPress and ActivityPub publishing.

0.2.0

  • Added native Bluesky / AT Protocol publishing.
  • Added Updates → Connections for Bluesky account setup.
  • Added per-Update Bluesky publishing control.
  • Added text, WordPress tags, image uploads, alt text, edit sync, and delete sync.
  • Added Bluesky post status and remote post links.

0.1.8

  • Added native WordPress Tags to Updates.
  • Added the standard Tags panel to Gutenberg.
  • Converted WordPress tags into ActivityPub hashtag metadata.
  • Displayed linked hashtags beneath Updates.
  • Tag-only edits now participate correctly in federation change detection.

0.1.7

  • Added security hardening for ActivityPub integration and inbound URL resolution.
  • Added a minimum ActivityPub security floor.
  • Added plugin update-hijack protection with Update URI: false.
  • Hardened migrations and normalized ZIP permissions.
  • Changed plugin author to Goldstein Media and ChatGPT.
  • Simplified archive pagination to Previous / Next navigation.

0.1.6

  • Made Updates truly titleless in WordPress storage.
  • Removed generated titles from existing Updates.
  • Prevented ActivityPub clients from receiving unwanted social-post titles.

0.1.5

  • Added WordPress block-template support.
  • Added Ollie theme integration using native header, footer, global styles, and comments patterns.
  • Made Update templates customizable through the Site Editor.

0.1.4

  • Fixed 404 errors when replying to inbound Fediverse comments.
  • Added threaded-comment JavaScript on Update pages.
  • Improved outbound ActivityPub delivery timing on low-traffic sites.

0.1.3

  • Reworked duplicate ActivityPub protection to preserve initial Create activities.
  • Removed redundant no-op ActivityPub Update activities.

0.1.2

  • Added inbound URL normalization for Fediverse replies.
  • Simplified integration by relying on ActivityPub's native transformer.
  • Improved duplicate outbound federation handling.

0.1.1

  • Improved ActivityPub compatibility with Gutenberg's REST save lifecycle.
  • Added additional integration smoke tests.

0.1.0

  • Initial release.
  • Added titleless Updates, /updates/, individual Update URLs, scheduling, media, comments, content warnings, and ActivityPub federation.
  • Added graceful local-only behavior when ActivityPub is unavailable.

Own your social publishing.

Keep WordPress at the center and syndicate outward to the networks you choose.

Download v0.2.3