About this project
Signal & Noise Tools is a WordPress companion plugin to the Signal & Noise theme. It holds operational tooling that the README says does not belong in a presentation theme — SEO, security, analytics, admin screens and AI-assisted editorial helpers — so the theme stays focused on design while the plugin owns behaviour. It is built on WordPress 7.0's Abilities API and AI Client, registering the site's capabilities for AI agents and shipping in-editor helpers that call the site owner's configured model provider.
Modules described in the README:
- SEO: meta descriptions, canonical handling, Open Graph cards, sitemaps plus IndexNow, a redirect manager with a 404 capture log, and cache excludes; presented as a replacement for a third-party SEO plugin.
- Security: WordPress hardening (Permissions-Policy, REST user-enumeration lock, XML-RPC off), a custom login slug, and a read-only login-defense panel over an edge login-guard Worker's decisions. Five Cloudflare edge headers are drift-probed by a health check rather than duplicated in PHP.
- Analytics: first-party, cookieless edge analytics — a Cloudflare Worker collects pageviews into Cloudflare Analytics Engine, server-side SQL rollups aggregate them into durable tables, and a server-rendered dashboard plus two home-dashboard widgets read them, with AI insights and narration derived from the same rollups.
- Content health: an 18-check scan (missing alt text, orphaned media, broken internal and rotted external links, stale posts, time-phrase and colour drift, unlinked mentions, link opportunities, edge security-header drift, edge-Worker reachability, analytics integrity, a provenance integrity sweep, a rights-signals drift probe, the public ledger's CI, ML cousins, publishing cadence and a rights-signal anchoring gap), run from Measurement → Health or via the run-health-scan ability.
- Provenance: Ed25519-signed, content-hashed and Bitcoin-anchored (OpenTimestamps) records for Notes, mirrored to a public git ledger. Readers get a byline verification chip and an expandable record panel, and a public /verify page allows independent verification, including word-level diffs between signed versions. Backed by a dedicated sn-provenance Cloudflare Worker.
- Edge cache: automatic Cloudflare purge on save and on theme update.
- Music / discography: a daily sync mirrors Muso.AI producer credits and Spotify album media into a cached store, exposed to the theme's /music page via filters.
- Admin UI: eight tabs (Dashboard, Site, Content, Connections, Measurement, AI, Security, Tools) plus the analytics dashboard, a command palette, cron dashboard, audit log, and deploy/health views, in native wp-admin styling.
- AI-assisted editorial: alt text, meta description, excerpt, OG title, brand-voice alignment and content-opportunity suggestions, each an opt-in suggest-and-apply surface.
- Agent surface: 67 plugin-registered Abilities (alongside the theme's 15), reachable via wp ability run and the Abilities REST route, plus a native MCP JSON-RPC server with a read-only door at signal-noise/v1/mcp (37 slugs) and a read-write door at signal-noise/v1/mcp-rw (36 slugs) gated by a kill switch, a bound application password, a per-minute rate limit and its own audit log.
- Self-updater: a GitHub-poll updater wired into WordPress's native update system.
The plugin coordinates with the theme through WordPress hooks rather than shared code; the README lists contracts such as sn_purge_all_caches_result, sn_clear_template_overrides_result, sn_gh_latest_theme_tag_result, sn_discography_entries, sn_music_featured, sn_websub_hub, the identity.availability setting and sn_note_provenance.
Requirements are WordPress 7.0+ and PHP 8.0+, together with the Signal & Noise theme at v8.2.0 or newer (an older theme triggers an admin notice rather than a fatal error). It is distributed via GitHub releases and installed or updated through wp-admin → Dashboard → Updates, using the plugin's own self-updater. Licensed GPL-2.0-or-later. Releases are cut deliberately with tools/cut-release.sh, with older changelog entries kept under docs/changelog/.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.