Sites and content
Your Site, its pages and the Content on them, drafted from what ranks, published by one call, and submitted to search engines on every publish.
- System
- Sites and content
- Nouns
- 4
- Verbs
- 8
- Events
- 6
Nouns
| Noun | What it is |
|---|---|
| Site | A Site is a website as a Thing: its pages, navigation, and Brand, served on one or more Domains. |
| Page | A page is an addressable page of a Site, of a named type such as pricing, about one Thing or each member of a Collection. |
| Content | Content is authored material with a draft and a published state, such as a post, an article, or a changelog entry. |
| Domain | A Domain is a hostname that points at a Thing, with a role, a status, and a lifecycle tracked as data. |
Properties
The hub defines each Noun’s core Properties; Sites and content adds the ones a sale needs.
Site
| Property | Type | What it holds | Defined by |
|---|---|---|---|
navigation | json | The menus that link its pages. | The hub |
Page
| Property | Type | What it holds | Defined by |
|---|---|---|---|
path | string | The path under its Site, such as /. | The hub |
kind | string | The page type, such as landing, pricing, or terms. | The hub |
from | string | Lineage: the slot it compiles from, as Hypothesis#<slot>@v<version>. | The hub |
keyword | Keyword | The one term it targets, so two pages never compete. | Sites and content |
claims | json | The facts it states, each resolving to a record before it publishes. | Sites and content |
Content
| Property | Type | What it holds | Defined by |
|---|---|---|---|
title | string | The headline. | The hub |
publishedAt | datetime | When it went live. | The hub |
kind | string | What the Content is, so each System reads its own kind. | The hub |
brief | string | What it is for: the question it answers or the reply it came from. | Sites and content |
voice | Brand | Whose voice it is written in. | Sites and content |
Domain
| Property | Type | What it holds | Defined by |
|---|---|---|---|
hostname | string | The name, such as example.com. | The hub |
role | string | What the Domain does for the Thing it serves; a defensive name takes redirect. | The hub |
acquired | string | One of claimed, purchased, or connected. | The hub |
state | string | Where the Domain stands; verifying, live, degraded, expiring and lapsed are observed, the rest follow an Action. | The hub |
registrant | party | The owner of record: the holding Company while held, or the holder of a self-serve startup’s Stripe account. | The hub |
expiresAt | datetime | When the registration ends, as the registrar reports it; empty for a claimed Domain. | The hub |
autoRenew | boolean | True when renewal runs without a Decision; false sends the Domain through renewal review. | The hub |
renewalPrice | money | What the next renewal costs, which for a premium name differs from the purchase price. | The hub |
transferableAt | datetime | The first moment the registrar allows a transfer out, after any registration, transfer or registrant lock. | The hub |
names | string | How its subdomains are given out: explicit records only, or one-label claims by other startups. | The hub |
publicSuffix | boolean | True once the public suffix list browsers ship carries the Domain; an issuing Domain gives out no label before then. | The hub |
registrarAccount | string | The registrar account that holds the Domain: one per startup, never shared with a sibling. | The hub |
registryLock | boolean | True when the registry refuses transfer, update and delete until a verified out-of-band request lifts it. | The hub |
certificate | json | Certificate state (pending, active, renewing or failed), its expiry, and the failing check with its fix. | The hub |
validation | string | delegated proves control through a CNAME to the platform; serving is for an apex that cannot hold one. | The hub |
walletsEnabled | boolean | True once Stripe lists the Domain as a payment method domain on the startup’s account. | The hub |
carriedIdentity | boolean | True once the Domain received mail, hosted a Mailbox or verified an outside account; it never resets. | The hub |
to | domain | For a redirect: the canonical Domain it forwards to permanently, path and query kept. | The hub |
Verbs
| Verb | What it does | Approval |
|---|---|---|
Content.draft | Writes a page, post or email in your voice from a brief, for your approval, every claim linked to its record. | Runs on its own |
Content.publish | Puts approved Content live on your Site and every Interface once it passes the checks for its kind. | Goes out on its own On each site Bing |
Site.publish | Puts your Site’s current pages live on its Domain, under your Brand. | Goes out on its own |
Page.create | Adds a page to your Site at a path, such as /. | Runs on its own |
Page.update | Changes a page’s content, kind or path. | Runs on its own |
Content.create | Saves a piece of Content as a draft of one kind, such as an article or a newsletter. | Runs on its own |
Content.update | Changes a draft, or a published piece, which keeps its history. | Runs on its own |
Domain.connect | Attaches a domain you already hold and verifies you own it through DNS. | Runs on its own On each site Bing |
Events
| Event | Emitted by |
|---|---|
Content.drafted | Content.draft |
Content.published | Content.publish |
Site.published | Site.publish |
Page.created | Page.create |
Page.updated | Page.update |
Domain.connected | Domain.connect |
A Trigger can start a Workflow on any of them, and a Watch delivers each to your endpoint, signed (Events and webhooks).
Who operates it
| Part | Sites and content |
|---|---|
| Accountable | Content lead |
| Also calls its Verbs | Marketing lead |
| Seat | An agent holds each seat until you seat a person in it. |
| Asks you first | None of its Verbs: each runs within its seat’s Limits |
Integrations
Google Search Console · Bing Webmaster · Google Business Profile
Import and export
| Direction | What | How |
|---|---|---|
| Import | Pages from your current site | Page.create for each path you keep, with a redirect for each you move |
| Export | Your Site, as files | Collection.export of pages and Content |
Example
An answer page, live and submitted.
Content.draftwrites “How do small landlords track rent?” from the 31 problem posts that ask it.- You approve it, and
Content.publishputs it live once its three claims read from live records. Site.publishpushes the Site, and the changed URL goes to Google and Bing through your connected accounts.