Everything you need to ship tenant sites
SpiderPublish is a runtime — not a generic CMS. Three layers: Store for data, Serve on Cloudflare's edge, Manage via Dashboard, MCP, CLI, or Extension.
Multi-Tenant Runtime
Not a CMS bolted onto a server. Three distinct layers — persistent storage, edge delivery, and management — each tenant-isolated by design.
Store
PostgreSQLFastAPI backend. Every page, post, component, form, and setting lives in a tenant-isolated row. Nothing is on disk.
Serve
WorkersCloudflare Workers read templates from per-tenant KV and fetch content from Store at request time. 280+ edge POPs.
Manage
4 surfacesDashboard, MCP (87 or 134+ tools), CLI, and VSCode Extension. All four call the same Store API — pick by ergonomics.
Component Marketplace
Every component renders inside Shadow DOM — scoped CSS, no style leaks, theme tokens flow per-tenant.
Shadow DOM Isolation
ScopedCSS in the dedicated css field, never inline. Theme tokens (var(--*)) flow per-tenant. No style collisions.
CRO Components
ConversionUrgency bars, scarcity counters, social proof, capture popups, sticky bars, countdown timers, and GEO primitives.
Propagation
One-shotUpdate header or footer once, propagate site-wide with component_update_and_propagate. One-click rollback.
Forms & Booking
Conversational forms with 25 field types, conditional logic, and variables. Calendar booking powered by cal.com.
SpiderForms
25 typesText, email, rating, NPS, opinion scale, picture choice, file upload, and more. Conditional logic + variables. 6 theme presets.
cal.com Booking
CalendarStaff connect calendars via OAuth-by-invite link. Slot resolution, ICS invites, qualifying questions before booking.
Embed Anywhere
3 modesInline, popup, or standalone URL at /f/
Content Engine
Pages, posts, docs, dynamic pages — all stored as structured blocks. 15 block types with strict field validation.
15 Block Types
StructuredHero, features grid, pricing table, comparison table, testimonials, FAQ, rich text, video embed, code example, stats bar, and more.
Dynamic Pages
SEOdynamic_list and dynamic_item templates. Merge-tag variables. Programmatic SEO via IDAP directory listings.
Liquid Templates
14 filters14 Liquid filters, 4 custom tags. Live-preview iteration. Full page versioning with one-click restore to any version.
Deploy Pipeline
Nothing reaches end users until you deploy. Two-phase confirm flow with five-lock tenant defense.
Five-Lock Defense
SecurityToken → URL → session → confirm_token → SQL WHERE. Five independent checks — breaking one requires compromising a different layer.
Two-Phase Deploy
Safedry_run → preview on *.sites.spideriq.ai → confirm_token. Single-use, snapshot-bound tokens. 5-min TTL.
Readiness Check
Pre-flightcontent_deploy_readiness surfaces missing settings, domains, and templates before you spend a confirm token.
Agent Tooling
Two MCP packages, a full CLI, and an agent skill with 60+ recipes across 10 categories.
MCP Tools
87 / 134+@spideriq/mcp-publish — 87 atomic tools for 128-tool ceiling hosts. @spideriq/mcp — 134+ kitchen-sink for IDE-class hosts.
CLI
Spideriq@spideriq/cli. 1:1 mapping to MCP tools. Interactive prompts gate destructive ops. Auth, content, deploy, skills — all from terminal.
Agent Skills
60+ recipesContent, components, booking, marketplace, media, clone, audit, deploy, directory, integrations — install with one command.
Integrations
Vendor-seeded recipes connect SpiderPublish to your existing stack.
Airtable
DirectorySync an Airtable view directly to directory listings for programmatic SEO pages.
Stripe
PricingMirror your Stripe price catalog to pricing_table blocks — auto-synced.
HubSpot
FormsMirror a HubSpot form to a SpiderForms flow with webhook back to your CRM.
cal.com
BookingWire cal.com event types to SpiderPublish booking flows. Staff calendar OAuth built in.
Cloudflare
DomainsConnect custom domains via Cloudflare for SaaS — end-to-end SSL, DNS verification, and edge routing.
Media & Cloning
SpiderMedia for asset management, SpiderClone for importing any site, and curated starter templates.
SpiderMedia
R2Cloudflare R2-backed. Bulk upload, URL import, orphan detection, budget sweep. Video transcoding with status tracking.
SpiderClone
ImportClone any public URL into a Liquid template. Import Tailwind sites — config + HTML → theme + components.
Site Templates
StarterCurated starter sites. Browse, preview, apply with one command. Every template is tenant-isolated from day one.
Press & Newsroom
A full press room on your own domain — and the only one an agent can write to. Releases, contacts, boilerplates and media kits are all reachable over MCP, the CLI or plain HTTP.
Embargoes
ExpiringHold a release until its moment. Every journalist gets their own preview link that expires on its own.
Scheduled Publish
AutomaticQueue a release for 9am Tuesday. It goes live on time without anyone pressing a button.
Machine Readable
GEONewsArticle structured data with a dateline, a .md mirror for AI crawlers, plus RSS, Atom and JSON feeds.
Custom Collections
Define a content type the blog was never meant to hold — case studies, the team page, a product range — then fill it and let every record render as its own page with its own URL and SEO.
Nine Field Types
No migrationText, number, bool, select, date, rich text, media, relationship and blocks. The schema lives in JSON, so a new field never touches your rows.
100 In One Go
AtomicBulk-import a whole catalogue in a single transaction. Every record lands, or none do — no half-imported list to clean up.
Confirm To Publish
Two-stepDrafts save instantly; going public does not. You get a preview and a single-use token before anything reaches a visitor.
Folder-driven Navigation
Point a menu item at a page folder once and it tracks that folder from then on — in the order you arranged your pages, and published pages only. Hand-typed links and bound items live side by side in the same menu.
Drafts Stay Out
SafetyA bound menu lists published pages only. The query that builds it cannot return a draft page, so an unfinished page never reaches your header.
Self-healing Landing
FoldersA folder points at its first published page, or one you pin. Unpublish the pinned page and it quietly falls back instead of dangling.
Agent Drivable
MCP / CLICreate folders, move pages and bind a menu from an agent. You edit the binding, never the expansion it produces.
Docs as an MCP Server
Publish a docs tree and it is addressable by AI agents the same day — one JSON-RPC endpoint, scoped to your domain by a header, serving your published pages only. There is no sidecar to run, no SDK to install and no per-site deploy: the endpoint exists because your docs do.
Search and Read
FreeFull-text search returns ranked titles, paths and snippets; a second call fetches any one of those pages back as Markdown. Neither costs you anything.
Published Only
ScopedDrafts are excluded before the search runs and every tool resolves against the domain in the header, so an agent sees your site and nothing else.
Nothing to Operate
HostedNo process to keep up, no container to patch, no index that drifts from the page. You maintain the documentation you were maintaining anyway.
A Live AI Agent on Your Page
Hire an agent and mount it on your site, or on a site you host yourself. It renders in your own DOM rather than an iframe, so your stylesheet restyles it and your JavaScript can drive it.
In Your DOM
Shadow DOMA web component in an open shadow root, not an iframe in a box. Your design system wins and your code can reach it.
No Secret to Paste
Origin-boundThe session token stays in the component's closure. What you paste, or hand a client, carries a flow id and nothing else.
Streams As It Writes
LiveThe reply arrives as it is composed rather than in one lump, so the conversation feels answered instead of loaded.
Site Members and the Login Wall
Make the visibility of a page a property of the page. Choose which pages are public, which need an account and which need a particular group — then let members sign in with an email, a magic link, a one-time code, or an identity provider you register. The check runs at the edge, before the page is rendered.
Three Access Levels
Public by defaultPublic, signed in, or a named group. Turning members on gates nothing you have not gated yourself.
Groups and Rules
DynamicA group can be a list you maintain or a condition evaluated at check time, so access follows what is true about a member.
Yours, Not Ours
IsolatedA member of your site never becomes a dashboard user, and a session issued for one project is rejected on any other.
Docs You Author Like Code
Push Markdown into your documentation and pull the same Markdown back out unchanged, drop a live component straight into a doc body instead of a screenshot of one, and build a full API reference from an OpenAPI spec. Your source of truth can stay in the repository your code lives in.
Round Trip
LosslessExport a doc, edit it in your own editor, import it back. The two directions are inverses, so nothing drifts on the way through.
Components In Docs
LiveOne line in Markdown becomes the real component in the published page, rendered through the same path your marketing pages use.
Dynamic Landing Pages
Author one landing page and let the URL carry the prospect. The identifier in a /lp/ link resolves to a real business record at request time, so one page serves every account on your list.
Ten Identifier Keys
Any ListA place id, a domain, a VayaPin pin or a registry number such as VAT — address a prospect by the id you already hold.
Forward-Safe
GracefulA link whose identifier no longer resolves still renders a usable page from your own fallback copy, never an error.