MSP-1 Specification
canonical
The canonical term identifies the preferred authoritative URL representation of a resource when multiple URLs, copies, mirrors, variants, or representations may exist.
1. Purpose
Many web resources appear in multiple locations, copies, mirrors, formats, or variants. The MSP-1 canonical declaration resolves ambiguity by identifying the preferred authoritative URL representation. It allows systems to:
- Resolve ambiguity when more than one representation of a resource exists.
- Consolidate references around a preferred authoritative URL representation.
- Distinguish canonical representation from ordinary resource location.
- Support stable citation, retrieval, and reference consolidation.
2. Normative definition
A canonical declaration is an object identifying the preferred authoritative URL representation of a resource. A valid canonical declaration should:
- Include a url — the canonical, authoritative URL for the resource.
- Be stable — the canonical URL should remain stable unless the preferred representation changes.
- Be unambiguous — conflicting canonical declarations for the same resource should be avoided.
- Represent primacy — canonical identifies the preferred representation, not a trust or verification level.
Canonical is not the same as url, id, authority, or trust. It identifies the preferred authoritative URL representation when such a distinction is needed.
3. Required fields
An MSP-1 canonical object should include:
- url — required; the canonical, authoritative URL for the resource.
Recommended fields include:
- reason — optional explanation for why this URL is considered canonical.
- lastReviewed — optional date when the canonical designation was last reviewed or confirmed.
- authority — optional identifier for the authority declaring the canonical URL.
Additional fields are permitted only when defined by the active canonical schema. Fields such as scope or version should not be emitted unless they are added to an active schema or profile.
4. AI interpretation rules
- AI agents should treat
canonical.urlas the preferred authoritative URL representation when consolidating references. - Agents should not treat canonical status as a trust guarantee, verification claim, or compliance claim.
- Multiple conflicting canonical declarations for the same resource should be treated as a non-ideal ambiguity condition.
- Legacy flat-string canonical usage may receive an advisory warning during the v1.0.1 transition when graceful degradation is appropriate.
- Canonical declarations should be interpreted alongside
url,id,provenance, andtrustwhere those terms are present.
Canonical helps agents resolve representation ambiguity without converting that representation signal into a broader claim of reliability or authority.
5. Relationship to related MSP-1 terms
- url — identifies the resource location;
canonicalidentifies the preferred authoritative URL representation when applicable. - id — identifies the resource or entity;
canonicalidentifies a preferred URL representation. - parent — may help resolve structural context when canonical representations exist within larger site hierarchies.
- revision and version — may provide lifecycle context for the resource but are not substitutes for
canonical.url. - provenance — may describe lineage or source relationships relative to a canonical representation.
- trust — may describe confidence or reliability signals, but canonical status itself is not a trust guarantee.
Do not confuse canonical with url, id, authority, or trust. canonical identifies the preferred authoritative URL representation; url identifies the resource location; id identifies the resource or entity; authority identifies a declaring or responsible source; trust concerns confidence or reliability.
The former compliance term is sunset/deprecated compatibility only and should not be emitted in new MSP-1 v1.0.1 declarations.
6. Examples
Canonical declaration:
{
"canonical": {
"url": "https://msp-1.org/spec/canonical/"
}
}
Canonical declaration with reason:
{
"canonical": {
"url": "https://photographyselect.com/lighting-guide/",
"reason": "This is the officially maintained and updated version."
}
}
Canonical declaration with review date:
{
"canonical": {
"url": "https://msp-1.org/spec/canonical/",
"reason": "Primary publisher-maintained version.",
"lastReviewed": "2026-06-24"
}
}
7. Conformance
A resource conforms to the MSP-1 canonical specification when:
- It expresses
canonicalas an object. - It includes a valid
urlfield. - It avoids conflicting canonical declarations for the same resource.
- It does not treat canonical status as a trust, verification, authority, or compliance claim.
- It includes only fields allowed by the active canonical schema.