Static Web Publisher turns your WordPress site into a publisher on the Reader’s Web (also called the Static Web or Web 1.1) — a new part of the browsable web where content is separated from presentation and pages can form visible connections with each other.
Reader’s Web is a Web where authors provide content and readers control presentation. Pages from different websites look and feel the same, which improves readability and makes navigation consistent across sites. Standardized pages also enable features previously unavailable on the Web, like visible connections between passages of text in different documents.
The Reader’s Web is not the first system where authors provide content without controlling presentation. Social networks already work this way. The difference is that social networks transfer control from authors to platform owners. The Reader’s Web transfers control to readers instead.
The plugin can serve your WordPress content in three new document formats and can also host a full Reader UI directly on your site so visitors without a compatible app still get the full experience.
Document types:
Display modes (configurable globally in Settings, overridable per-post in the editor):
When a post or page is set to Reader UI mode, the plugin replaces your WordPress theme with a built-in reader interface. This is the same interface used by the Visible Connections browser extension, so the experience is consistent regardless of whether the visitor has the extension installed.
Comments on HDOC documents are served as JSON at /json-comments/?post=ID, supporting pagination and ordering. A minimal comment submission form is available at /sw-comment-form/?post=ID and supports replies. This allows compatible reader apps to display and post comments without loading the full WordPress comment system.
When displaying connected documents, the Reader UI fetches pages from other sites through a server-side proxy at /sw-proxy/. This proxy is safe to use: before making any request to an external URL, the plugin verifies that the URL is explicitly listed as a connection of the current post. Arbitrary external URLs cannot be fetched through the proxy.
You can also place standalone .hdoc, .cdoc, and .condoc files directly in a static-documents folder in your WordPress site root. They are served inline (not as downloads) at URLs like https://yoursite.com/static/filename.hdoc, which lets compatible apps intercept and render them.
Standard WordPress analytics tools work normally on Embedded HDOC and Reader UI pages. When the Visible Connections extension is active and replaces the page UI, existing analytics scripts continue to run: page view events are already sent before the extension takes over, and session-level tracking continues uninterrupted.
For analytics code that needs to run after the Reader UI is fully initialized, the plugin dispatches a swpReaderReady event on document. You can listen for it in any custom script:
document.addEventListener('swpReaderReady', function(e) {
// e.detail.url is the current document URL
gtag('event', 'reader_view', { page_location: e.detail.url });
});
The event is fired at most once per page load regardless of whether the reader was initialized by the plugin or the extension.
Visitors without any compatible app will see your content normally on Embedded HDOC pages, or through the built-in Reader UI if you enable Reader UI mode.
The Reader’s Web is inspired by Ted Nelson’s long-standing vision of hypertext. You can read more about the project at reinventingtheweb.com.