The 44 controls / TS01

TS01 · HTTP and availability

The final page returns an actionable HTTP status code.

Protocol wording · 0.1.0-draft.28 · Documentation view; no website assessment.

Control rule version : 0.1.0-draft.28

Reading guide: start with applicability and required evidence, then read expectations together with their limitations. Understand C, NC, NT and NA outcomes · Prepare a dossier

Expectations and evidence

Required inputs (protocol identifiers)
http, intent
When it applies
Public pages designated as canonical.
How to check
Send a GET request, follow redirects and record the final status code.
Expectation
Each GET reaches a final 200 response for the expected resource; retain timestamp and redirect chain.
Evidence to retain
Intent, complete GET trace and retained body; reasoned findings for A01–A02.
Non-applicability
No public canonical page in the declared scope.
Limitations
A test from one IP does not prove the response received by Googlebot.
Outcome clarification
C requires all expectations across the declared scope. NC requires evidenced contradiction; otherwise NT. NA requires evidence of non-applicability. TSEP note: the criterion is a final 200; the permanent title inherited from grid 1.1 is broader.
Reference scope
Technical reference; the TSEP acceptance rule remains an editorial proposal.

Atomic rules

TS01-A01 — Final GET returns 200
Required inputs (protocol identifiers)
http, intent
When it applies
Each public page designated canonical, in the declared request context.
How to check
Perform a GET without conditional caching; record every hop and final response. Declare agent, headers, cookies/authentication, network, time and time/size/redirect bounds.
Expectation
A complete final 200 response is observed. An observed final 204, 206, 4xx or 5xx contradicts this expectation; HEAD alone or 304 without a representation is insufficient.
Evidence to retain
Intent per URL; command and tool version; dated GET trace, URLs and statuses of every hop, final headers and truncation indicators.
Assumptions
Request context and bounds are declared before the test; 200 is a TSEP requirement for this population.
Inconclusive outcome
Timeout, DNS/TLS failure, interrupted chain, reached bound, incomplete capture, HEAD only or 304 without a retained body: inconclusive, without an inferred SEO fault.
Non-applicability
No atomic exemption when the control applies.
Limitations
Neither continuous availability nor an actual Googlebot response. An observed chain does not validate TS02.
TS01-A02 — Expected final resource
Required inputs (protocol identifiers)
http, intent
When it applies
Each final response whose content can be compared to intent.
How to check
First compare final URL with expected_final_url, then complete-body SHA-256 with expected_body_sha256. Fix references, any stable policy and markers before measurement. The changed non-stable body branch uses the historical reader unless prior identity_reader: html-tree-markers-v1 selects two whole-document static hypotheses, byte-attributed parsed segments and literal criteria. Hashing still covers the unchanged complete body.
Expectation
Different final URL: fail. At the same URL, identical digest: pass. Otherwise, representation: stable requires fail. Otherwise, under the historical reader, valid markers yield fail if any required marker is missing or any forbidden marker is present. Pass requires at least one required marker, all required markers present and all forbidden markers absent. Forbidden-only markers all absent: inconclusive. Without markers or declared stability: inconclusive. HTTP status does not replace this comparison. Under html-tree-markers-v1, each complete reading compares all markers; both pass gives pass, both fail gives fail, every other pair is inconclusive. URL, hash and stability precedence remains unchanged.
Evidence to retain
HTTP trace, complete body and dated prior intent with URL, reference digest and any markers/stability policy; extraction, computed values and tool/version. Hash after transfer and content decoding, before any transformation. Literal case-sensitive markers within each decoded HTML source-text segment: character references resolved; comments, script/style, tags and attributes excluded; segments never concatenated across markup. For text/plain, the entire decoded body. No whitespace normalization or regular expressions. The distinct parsed profile normalizes source CRLF/CR to LF before reference expansion without changing criteria; retain both projections, contexts, positions, reported errors, results and tools. Identical contexts are referenced without removing segments; trees can be reconstructed from the body and exact tools.
Assumptions
The owner fixes a reference representation before collection; its business relevance remains their responsibility. Comparison is automatic; defining intent is not. Any selected profile and its criteria are declared in new intent before capture; no silent selection or conversion of historical intents.
Inconclusive outcome
Missing/truncated capture, unknown decoding, missing/invalid reference URL or subsequent intent: inconclusive. At an identical URL, missing/invalid reference digest: inconclusive. When digests differ without stability, absent, empty, malformed or contradictory markers, unresolved extraction, or forbidden-only markers all absent: inconclusive. A different URL remains fail even without a reference digest. For the parsed profile: divergent hypotheses, reported parse5 errors, nonblank foreign text outside exclusions, unsupported frames/contexts, unattributable spans, unavailable runtime or exceeded bound remain inconclusive without fallback.
Non-applicability
No atomic exemption when the control applies.
Limitations
A changed digest alone does not prove wrong content. Source-text extraction measures neither CSS/DOM visibility nor semantic similarity; title and CSS-hidden text may count. Appropriate markers and a correct reference remain the owner’s responsibility. Wrong intent can validate wrong content. No engine soft-404 classification, indexing or undeclared routes. The new profile retains title/textarea/options/hidden text, excludes HTML/SVG scripts/styles and inactive templates; its contract specifies refusals. No browser behavior, complete HTML validity or new Edikka assessment follows.

Control references