№ 02 Three kinds of content change

A word, a picture, a page

Almost every request to change a site is one of these three.

  1. 1

    A word

    A typo, a price, a sentence rewritten. The smallest kind of change, and by far the most common one.

  2. 2

    A picture

    A photo swapped, a logo updated, or an image replaced with a lighter one — along with the alt text a screen reader speaks for it.

  3. 3

    A whole new page

    A page that does not exist yet, added to the site and linked from somewhere a visitor actually reaches.

№ 03 Where content actually lives

By hosting shape

A repository, a database, or an outside service — never all three at once.

  • A static build

    Every word and picture lives in the repository, as a file. Changing one is a change to that file, reviewed the same way as any other line of code. See Repository.

  • A CMS-driven app

    Words and pictures live as rows a database holds, not files in the repository. Changing one is a row update, made through whatever admin screen the app itself provides. See Databases.

  • A headless CMS

    Content sits in an outside service, and the site's build or app fetches it from there rather than holding it. A record lives there permanently, not just passed through on a single call. See Outside services.

A briefed picture, and an uploaded one

A picture you brief into the site is committed with the build. Every hosting shape holds one, Static included. Swapping a hero image needs no disk at all.

The table below answers the other case: a picture a visitor or an editor uploads while the site runs. That one needs a writable disk, which is why Static reads "None". See Files for that case in full.

ShapePlanDiskDetail
StaticStatic StarterNoneA static site has no writable disk. There is nowhere to put an upload.
DedicatedDedicated S40 GB SSDThe instance's own disk, sized into the tier's flat rate. Not a metered add-on.
DedicatedDedicated M60 GB SSDThe instance's own disk, sized into the tier's flat rate. Not a metered add-on.
DedicatedDedicated L80 GB SSDThe instance's own disk, sized into the tier's flat rate. Not a metered add-on.
CustomCustomSized to the workloadDurable storage sized and priced for what you actually keep, the same as any other Custom shape.
№ 04 Who can change what

Who opens it, and who merges it

Your own team decides what goes live. We can review and merge for you, if you ask. See Access for who can touch the rest of a running system.

CapabilityYour teamCustomHostedThe pipelineCodeHerder agent
Open a pull requestAny of your own contributors can.The same as any other contributor, reviewed the same way.It ships a merge. It does not propose one.Only ever on its own branch, never on the branch that ships.
Merge to the main branchThis is your call to make.Only if you have asked us to review and merge for you. Most teams keep this step themselves.It deploys after a merge. It does not decide to merge.Never. A person approves the pull request first.
№ 05 The path a word takes to go live

From a wrong price to a live fix

A content change starts with a person who reads the page. Every step after the brief is the step any other change here takes. CustomLabs builds the first version of a site. CodeHerder iterates on it. CustomHosted runs what ships. See The Loop for the whole arc.

  1. 1

    You notice it

    You

    A wrong price, a typo, a page that is missing. Nothing here watches for this. A person reads the page and sees it.

  2. 2

    You describe it in plain language

    You

    Say what to change and where it appears. No ticket template, and no technical wording — see Brief a change for the five parts of a good one.

  3. 3

    Briefed as a change

    CustomLabs

    Written up the same way any other change request is. The iteration add-on is what covers it.

  4. 4

    An agent opens the pull request

    CodeHerder

    The change lands as a real pull request against the repository, with the test suite run against it.

  5. 5

    A human reviews and merges

    CustomLabs

    Someone reads the diff before it goes anywhere near production — nothing here is auto-applied blind.

  6. 6

    It ships through the same pipeline

    CustomHosted

    The same pipeline that deploys everything else on your stack ships this too — no separate process to babysit.

  7. 7

    You're told it's done

    CustomHosted

    A note confirming what changed and that it merged, in the same shape as every other note on this site.

№ 06 What it takes down

The same downtime picture as any other change

  • Static site

    None — there is no running process to restart.

  • Dedicated instance

    A few seconds while the process restarts. A health check confirms it answers correctly before the window closes.

  • Managed database, minor version

    A brief connection blip during failover — existing connections reconnect on their own.

№ 07 Seeing it before it is live

A private staging copy, and a way back

Private by default. Not linked from anywhere on your live site, not submitted to a search engine, and left out of the sitemap. Reaching it is a matter of knowing the address and being allowed in — access is controlled, not just unlisted.

  • Revert the merge

    The same pipeline that shipped the change redeploys the last known-good version. No data touched, because none was.

  • Promote the previous deploy

    On static hosting, the last deploy is already built and kept. Going back is a request through the usual channel, a straight promotion of it rather than a rebuild.

  • A data problem is a restore, not a rollback

    If the thing that's wrong is data rather than code, that's the other procedure entirely — see Recovery for the backup and point-in-time paths, and where that boundary actually sits.

№ 08 What it costs

A briefed change, not a new project

  • A word or a picture is a briefed change

    Agentic iteration — CodeHerder ($25/mo) covers it, the same as any other small change. Brief a change in plain words. An agent opens a pull request, a person reviews it, and the same pipeline ships it.

  • It draws from the same iteration allowance

    3 changes a month, 2 hours each — the same allowance a config change or a new page draws from.

  • A brief that needs pricing first is quoted flat

    Quoted within one business day if the change itself needs pricing before anyone starts on it.

№ 09 Worked artifact

This site's own content

Every number below is counted from the build, not hand-typed.

  • This site is the worked example. It has 87 routes, 134 glossary terms, and 37 guide sections. Each one is a word or a page, written and shipped the same way a client's would be.
  • 3 of the checks that run on every deploy here guard content directly. One confirms a page's own index still matches its bands. One confirms the machine-readable directory lists every route once. One confirms every route still carries one title, one description, and valid structured data. See Being found.

The checks that guard it

  • check:anchorsEvery hub page's "On this page" index still matches its own numbered bands, in order.
  • check:llmsThe machine-readable site directory lists every route exactly once, and every link actually resolves.
  • check:seoEvery route carries one canonical URL, one title, one description, and valid structured data — and nothing meant to stay out of the index does.
№ 10 Four ways it goes wrong

And the route out of each

  • A picture too heavy for the page budget

    Owner: You, briefed through CodeHerder

    A large image can push a page past its own published weight budget. Resizing it before it ships is part of the same briefed change. See Images.

  • A new page nobody linked to

    Owner: You

    A page that exists but is linked from nowhere is hard for a visitor, and a crawler, to ever find. Brief where it should be linked from, not just the page itself. See Being found.

  • A word changed in one place, and not the other three

    Owner: You

    The same price or the same name printed on more than one page drifts the moment only one copy is updated. Brief every place a word appears, not just the one you noticed. See Brief a change.

  • A change went live before you saw it

    Owner: You

    Merging a pull request is the step that ships it, not opening one. Click the staging link first, the same way any other change gets checked before it merges. See Review.

№ 11 Said plainly

The honest limits

  • No admin screen to log into

    A static build has no dashboard, no login, and no button that edits a live page. Every word or picture ships as a briefed pull request instead.

  • No keyword research or content strategy

    Choosing what to write about, and which words to use, is your call. We keep the technical side clear; we do not plan your content.

  • Nothing merges itself

    There is no setting that lets an agent merge its own pull request. A person approves every change, including when you would prefer that it did not.

  • A redesign

    Changing the visual system before there is anything to react to needs a plan, not a diff. Start that as a build with CustomLabs, then bring the iterations here.

№ 12 Answers

Content questions

A typo or an out-of-date price has been wrong for months. How do we fix it?

Brief it in a sentence — the word or the price to change, and where it appears. An agent opens a pull request, the checks run, and a person approves it before it merges.

There is no login for our site. How do we add a page?

The same way as any other change: brief what the page should say and where it should link from. See the worked artifact above for what that path actually ships.

Is there a content management screen we can log into?

No, on a static build. See the honest limits above — every word or picture ships as a briefed pull request, not a dashboard.

What is a headless CMS, and do you support one?

A service that holds your content and hands it to your site's build or app over its own API, rather than storing it in the repository. See "Where content actually lives" above for how it differs from a static build or a database-backed app.

Does changing a word take the site down?

No. See "What it takes down" above — the same downtime picture as any other change, by hosting shape.

Can I see a content change before it goes live?

Yes. It stands on a private staging copy first — see "Seeing it before it is live" above for the address and how to go back if it is wrong.

What does fixing a typo cost?

Nothing extra on its own — it draws from the same 3-changes-a-month allowance as any other small change, under Agentic iteration — CodeHerder ($25/mo). See "What it costs" above.

Can CodeHerder redesign our site?

No. Changing the visual system before there is anything to react to needs a plan, not a diff. Start that as a build with CustomLabs, then bring the iterations here.

Got a word, a picture, or a page to change?

Brief it, and it comes back as a pull request — one fixed monthly rate, in writing.

Get a quote →