The half of search we own
Search visibility splits in two. This half is ours, and every piece of it has a receipt.
What we own, what stays yours
Said first, so nothing below reads as more than it is.
We own
The address
One canonical URL per page, so a search engine never has to guess which copy of a page counts.
The map
A sitemap and a robots file, both rebuilt on every deploy.
The read
Real HTML, structured data, and a page fast enough to fetch without a wait.
You own
The words
What a page says, and which words it uses to say it.
The links
Whether other sites choose to link to yours, and why.
The rank
Where a page lands in a result. Nobody outside a search engine's own algorithm controls that.
Every site here gets these, with no request needed
No plan upgrade, no add-on — this is the standing foundation.
One canonical address per page
Every page states its own permanent URL in its own markup, so a crawler never has to pick between two copies of the same page.
A sitemap, rebuilt every deploy
A machine-readable list of every route — 87 of them today — regenerates fresh on every build, never a copy left over from an old one.
A robots file naming the sitemap
The first file a crawler checks allows the whole site and points straight at the sitemap above.
A title and a description sized for the results page
Every page keeps its title to 60 characters or fewer and its description between 110 and 160, so a result is not cut off mid-sentence. The build fails when a page breaks these numbers. A short snippet is not a ranking promise, and a search engine may still rewrite it.
A page fast enough to fetch
80 of those 87 routes ship no JavaScript at all, and every route stays inside a measured, enforced page-weight budget — see Performance for the receipt.
From robots.txt to an indexed page
The same hop order a crawler actually follows.
- 1
robots.txt
The first file a crawler checks. It allows the whole site and names where the sitemap lives.
- 2
Sitemap
A list of every page, fetched next and rebuilt fresh on every deploy.
- 3
Fetch
The crawler requests a page the same way a browser does, at the address the sitemap named.
- 4
HTML
The page arrives as real markup — a title, a description, and the content itself, not a blank shell waiting on a script.
- 5
Index
A search engine or an answer engine stores what it found, against the one canonical address the page itself named.
Two of the address rules that keep that trail intact:
- Permanent redirect (301)
- Tells a browser and a search engine that a page has moved for good. Both update where they point. Use this when the old address is never coming back.
- A real 404
- A page that genuinely doesn't exist returns your own not-found page, with a real 404 status code attached — not a blank error document from somewhere else.
What a crawler actually meets, by shape
Static, dedicated, or a custom stack — the answer changes.
Static sites
Every page is already built. A crawler reads the exact HTML a visitor gets, served straight from the edge.
Dedicated instances
Your app renders the page before it leaves the instance, so a crawler still meets finished HTML rather than a template.
Custom stacks
An app that draws its own text in the browser, after the page loads, is a different case. A crawler that does not run that script meets an empty page — that is your code's problem to solve, not a hosting one.
Carrying rankings across a cutover
The redirect map is the load-bearing piece. Everything else is timing.
A redirect map for a move, so old links keep their rankings
Points a batch of old addresses at their new ones after a move. Without it, pages a search engine already ranked start returning nothing.
Priced as a briefed change: an agent opens the pull request, a human merges it, and the same pipeline redeploys and clears the cache.
- 1
TTLs lowered ahead of time
Shortens how long resolvers hold onto the old answer, before anything about the records themselves actually changes.
- 2
Rehearsed against the standing copy
Checked against a working copy of the site or app first — the switch itself isn't the first time it's been tried.
- 3
The old host keeps serving through the window
Nothing is torn down until traffic has actually moved — a visitor whose resolver is slow to catch up still reaches a working site, just from wherever it was before.
- 4
Rollback is the same move, reversed
Pointing the records back is not a special procedure — it is this same change, run the other direction, on the same propagation timeline.
Making the content already here machine-readable
An answer engine, not a chat bot — no new feature added for this page.
| Type | Where it appears | What it does |
|---|---|---|
| Organization | Every page | Names who runs the site and how it connects to its parent company. |
| Service | Every page | Describes what is actually on offer, in a form a machine reader can parse rather than infer from prose. |
| WebSite, with a SearchAction | Every page | Tells a search engine this site carries its own search box, and how to use it directly from a result. |
| BreadcrumbList | Every page with a breadcrumb trail | States a page's place in the site, matching the same trail a visitor already sees. |
| FAQPage | Every page with an answers section | Marks up each question and answer so a result, or an answer engine, can quote them directly. |
A machine-readable site directory
A plain list of every one of the 87 routes on this site, in the shape an answer engine expects to read — not a bot bolted onto the page.
A feed for the long-form guides
The Field Manual publishes as a feed, so a reader or an aggregator picks up a new guide the moment it ships.
A social card per page
Sharing a link renders its own title and image, drawn from that page's own copy rather than one generic placeholder.
A plain-text copy of every page
Every one of the 86 pages on this site has a Markdown copy at its own address plus ".md" — no HTML to parse, and nothing rendered. The whole site is also available as one file, at llms-full.txt. This does not promise a better ranking or a spot in any answer — it only removes the parsing work.
Named plainly, one owner each
Every row below quotes the page that already owns the fact behind it.
A staging copy gets indexed
CustomHosted
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.
A move ships with no redirect map
CodeHerder
Points a batch of old addresses at their new ones after a move. Without it, pages a search engine already ranked start returning nothing.
A page is too slow to finish fetching
You, briefed through CodeHerder
A crawler gives up on a page the same way a visitor does. See Performance for what makes a page slow and the measured budget every route here stays inside.
The text needs JavaScript to appear
You
A crawler that doesn't run your app's script meets an empty page — see "By hosting shape" above for which shapes this actually affects.
This site's own head, checked on every deploy
Every claim above is verifiable in this page's own source.
The 17 checks that run against this build, including this page's own:
check:anchors
Every hub page's "On this page" index still matches its own numbered bands, in order.
check:a11y
Every route is crawled for accessibility faults, at two sizes, in both themes.
check:ledger
The public build-history page still matches what this repository's own history says.
check:llms
The machine-readable site directory lists every route exactly once, and every link actually resolves.
check:perf
Every route stays inside its own published page-weight budget.
check:security-txt
The security-contact file is present, and not expired.
check:supply-chain
The dependency-safety rules — locked versions, no install scripts, a release cooldown — are still in place.
check:seo
Every route carries one canonical URL, one title, one description, and valid structured data — and nothing meant to stay out of the index does.
check:forms
The form page's own field caps, its POST-only check, its honeypot field, and its log retention still match the real contact-form terraform.
check:images
Every image stays under its published weight ceiling, and every picture carries alt text, its dimensions, and a loading value.
check:limits
Every module that publishes a limits array is collected on /limits, and its published count matches what the page actually renders.
check:logins
No password input exists anywhere on the site, every form carries a known id with no off-site action, and /logins' own worked artifact still renders.
check:compliance
No affirmative compliance or certification claim appears anywhere on the site, and /your-data's residency and deletion bands still render.
check:spacing
No run-together word slipped past a stripped space next to a link or other inline element, on any route.
check:reveal
Every section that fades in on scroll actually appears, on a phone-sized screen as well as a desktop one.
check:twins
Every route's Markdown twin exists, starts with the page's real heading, carries no stray HTML, and is linked from the page exactly once.
check:quotes
No published quote bills an add-on its plan already includes, and the estimator prices only through the same code as the quote form.
A title, a description, or a redirect map is a briefed change
The same loop as any other change on this site — never a separate SEO retainer.
A title, a description, or a redirect map is a briefed change
Fixing a page's title, its description, or the old-URL map behind a move goes through the same loop as any other change — the Agentic iteration — CodeHerder add-on ($25/mo). Brief a change in plain words. An agent opens a pull request, a person reviews it, and the same pipeline ships it.
Writing the content itself is not a priced line here
What a page actually says stays yours to write. We ship the change once you brief it; we do not write the copy for you.
A metadata fix travels the same path as any other briefed change — the one Patching already walks through for a flagged dependency:
- 1
A routine scan flags a dependency
The same kind of check that watches the infrastructure layers above, run against your application’s own dependency list.
CustomHosted
- 2
It's triaged as application-level, not infrastructure
A library your own code imports isn't ours to patch silently — it can change how the app behaves.
CustomHosted
- 3
Briefed as a change
Written up the same way any other change request is — this is what the Agentic iteration — CodeHerder add-on covers.
CustomLabs
- 4
An agent opens the pull request
The upgrade lands as a real pull request against the repository, with the test suite run against it.
CodeHerder
- 5
A human reviews and merges
Someone reads the diff before it goes anywhere near production — nothing here is auto-applied blind.
CustomLabs
- 6
It ships through the same pipeline
The same pipeline that deploys everything else on your stack ships this too — no separate process to babysit.
CustomHosted
- 7
You're told it's done
A note confirming what changed and that it merged, in the same shape as every other note on this site.
CustomHosted
The honest limits
No ranking promise, no keyword research, no backlinks. Said plainly, not buried.
No ranking, position, or traffic promise
A crawlable, fast, correctly marked-up site is what we can prove. Where it ranks depends on your content, your market, and a search engine's own algorithm — none of which we run.
Field Core Web Vitals
The numbers above are a lab measurement of the build itself — bytes over the wire, not what a real visitor's device and connection actually experienced. We don't run the traffic yet to publish that honestly.
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.
No backlink building
Earning links from other sites is an outreach effort, not a hosting one. We do not run that campaign for you.
Being-found questions
What people ask once "does hosting help my SEO?" needs a real answer.
01Will hosting here improve my search ranking?
We can't promise that, and won't. What we can prove: a crawlable, fast, correctly marked-up site with nothing broken in its way. Where it ranks depends on your content, your market, and a search engine's own algorithm.
02Do you do SEO?
Not as a service. We own the technical foundation — the address, the sitemap, crawlability, structured data, and speed. Content, keywords, and backlinks are yours to run, or to brief someone else for.
03Can a search engine find my staging site?
No. 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. See Environments for the standing staging environment in full.
04Will I lose rankings when I move my site here?
Not if the redirect map ships with the move. Points a batch of old addresses at their new ones after a move. Without it, pages a search engine already ranked start returning nothing. See Delivery for the full rule set and Migrations for the cutover itself.
05What about Core Web Vitals?
The numbers above are a lab measurement of the build itself — bytes over the wire, not what a real visitor's device and connection actually experienced. We don't run the traffic yet to publish that honestly.
06My app renders its own text in the browser. Is that a problem?
It can be. A crawler that doesn't run your app's script meets an empty page on that shape — see "By hosting shape" above for which ones this actually affects.
07What does fixing a title tag or a meta description cost?
Nothing on its own if it's part of a wider briefed change — a metadata fix goes through the same loop as any other change, under Agentic iteration — CodeHerder ($25/mo).
08Can I see this page proving its own claims?
Yes. Every claim above is checked against this exact page's own built output — see "Worked artifact" above for the 17 checks that run on every deploy.
What being found connects to
- Delivery
The request rules this page's address section reuses whole — a permanent redirect, a real 404, the cache, and the response headers.
- Performance
The measured page-weight budget behind "a page fast enough to fetch" above, and the honest reason no field Core Web Vitals number is published.
- Environments
The standing staging environment this page's "kept out of the index" row is quoted from.
- Migrations
The cutover itself — this page only names the propagation window it opens.
- Domains
The record sheet and the propagation window reused in "Through a move" above.
- Analytics
What you can see after a visit happens — the half of "did it work" this page does not own.
- Deploys
What ships a metadata fix once it is briefed — the mechanics behind "When you want one changed" above.
- The Loop
The commercial arc behind every briefed change this page points at.
- Content
The words themselves — this page owns whether a machine reader can find a page, not what it says.
Have a metadata fix or a redirect map to brief?
Send it through the same quote channel as any other request — see Billing for how the number is priced.