Use YYYY-MM-DD for handler version
A payment handler version is not in YYYY-MM-DD format.
Why it matters
Handler versions follow the same date-based format as everything else in UCP.
Show fix
"version": "2026-08-25"
UCP conformance score, top priorities, impact & effort matrix, and copy-paste fixes for every issue.
Solid UCP setup on centuryrides.pages.dev with a few gaps left to close.
UCP Conformance is solid (97/100).
Use YYYY-MM-DD for handler version → Publish Organization schema (JSON-LD) on the homepage → Add Open Graph meta tags to the homepage
A payment handler version is not in YYYY-MM-DD format.
No Organization-typed JSON-LD detected on your homepage.
OG tags missing or incomplete on your homepage.
Prioritised recommendations by expected impact and implementation effort
High impact, low effort
High impact, high effort
Medium impact & effort
Lower priority
Response time benchmarked against 106 Customs we monitor.
All improvements ranked by priority, with evidence and actionable fixes.
A payment handler version is not in YYYY-MM-DD format.
Handler versions follow the same date-based format as everything else in UCP.
"version": "2026-08-25"
No Organization-typed JSON-LD detected on your homepage.
Organization schema gives agents a structured representation of your brand identity — name, logo, social profiles, contact info, founding date. Agents use this to verify you are who you claim to be and to link your manifest data to a recognizable entity.
Drop into <head> or end of <body>. Use OnlineStore (more specific) when the entire site is an ecommerce store; Organization is the generic fallback.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "OnlineStore",
"name": "Yourstore",
"url": "https://yourstore.com",
"logo": "https://yourstore.com/logo.png",
"sameAs": [
"https://twitter.com/yourstore",
"https://www.instagram.com/yourstore"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-000-0000",
"contactType": "Customer Service"
}
}
</script>
OG tags missing or incomplete on your homepage.
OG tags give agents and link unfurlers (Slack, iMessage, ChatGPT) a clean title, description, and image to represent your store. Without them, shares show garbled fallback text.
Add inside <head>. og:title and og:type are the minimum; og:url, og:description, and og:image are strongly recommended.
<meta property="og:title" content="Yourstore — short tagline">
<meta property="og:type" content="website">
<meta property="og:url" content="https://yourstore.com/">
<meta property="og:description" content="One-sentence description of what you sell.">
<meta property="og:image" content="https://yourstore.com/og-cover.jpg">
<meta property="og:site_name" content="Yourstore">
Every signal we evaluate, grouped by category.
Can AI agents find your store and its UCP manifest?
Manifest served over a secure connection.
Manifest URL uses https://
Agents reject non-HTTPS endpoints outright. Signed payloads over HTTP are meaningless because the channel itself is tamperable.
Manifest fetched OK from /.well-known/ucp.
HTTP 200
Agents start every session by fetching this URL. If it 404s or times out, the store is invisible to agent commerce.
robots.txt allows agent crawlers to fetch the manifest.
robots.txt allows /.well-known/ucp
Agents respect robots.txt. Even a published manifest gets ignored if the file is disallowed for known agent user-agents.
Hand-written brief at /llms.txt for AI agents.
Found at /llms.txt
Emerging convention (analogous to robots.txt). Recommendation/discovery agents read it for brand context, return policy, and crawl preferences.
XML sitemap published at /sitemap.xml.
Found at /sitemap.xml
Tells agents which pages are canonical and how often they change. Without it, agents fall back to following internal links.
OG meta tags on the homepage.
Missing or incomplete on homepage
OG tags drive how your store unfurls in agent surfaces, Slack, iMessage, and ChatGPT shares.
Schema.org Organization (or OnlineStore) JSON-LD on homepage.
Missing or incomplete on homepage
Gives agents a structured representation of your brand identity — used to verify you are who your manifest claims you are.
Viewport meta tag for mobile rendering.
<meta name="viewport"> present
Mobile agent sessions render in browser sandboxes that respect this. Without it, screenshots taken by agents are unreadable.
Does your manifest meet the published spec?
Manifest structure conforms to the published UCP spec.
No structural errors
Strict UCP agents reject manifests with structural errors. The error code in the diagnostic shows which field failed.
ucp.version follows YYYY-MM-DD format.
Version: 2026-08-25
UCP versions are dates, not semver. Agents pick the closest matching schema based on this string.
Root-level keys array (canonical since 2026-07-12; legacy signing_keys also accepted) for response verification.
signing_keys present
Required for tokenized payment flows in v2026-04-08+. Stores using checkout-link redirects (e.g. WooCommerce native) often skip this safely.
Manifest passes structural and field-level rules.
1 warning
Each warning is a strict-spec deviation — the recommendations section above lists them with copy-code fixes.
What operations can agents actually perform?
Number of agent-readable capabilities under ucp.capabilities.
1 capability detected
Capabilities tell agents what operations to attempt. More coverage = more sessions complete end-to-end without falling back to scraping.
Store declares a checkout-namespaced capability.
No checkout capability
Without a checkout capability, agents can browse but can't complete a purchase end-to-end.
Service transports (REST/MCP/A2A/Embedded) declared on services.
REST
Transports tell agents how to actually call your endpoints. MCP and REST are the most widely supported today.
Tokenized payment handlers registered for in-conversation checkout.
2 handlers registered
Tokenized payment lets agents complete purchases without redirecting the buyer to a hosted checkout. Empty by design is valid for WooCommerce-style native checkouts.
The plain-text brief this store publishes to AI agents. Captured on the most recent check.
# CenturyRides.org
> The authoritative open directory of 100-mile / 100-kilometer (century/metric century) cycling events, alpine challenges, and gravel endurance rides across North America (United States, Canada, and Mexico).
## Overview
CenturyRides.org provides programmatic and human access to organized century rides across North America. Each entry contains verified geographical location, sub-region, calendar month, official destination URL, terrain tags, and route elevation details.
## Machine Readable Interfaces
- Universal Commerce Protocol (UCP): `/.well-known/ucp`
- OpenAPI 3.1 Specification: `/.well-known/openapi.yaml`
- Extended Agent Specification: `/.well-known/agent.json`, `/llms-full.txt`
- Query & Search API: `/api/rides` (GET - x402 Micropayment enabled for automated queries)
- Free Preview Discovery Tier: `/api/rides/summary` (GET)
- Submission Ingestion: `/api/rides` (POST)
- Model Context Protocol (MCP) Server: Available in the `/mcp-server` repository directory for local agent installation (Stdio).
## Programmatic SEO Directory
- Programmatic Hub Directory: `/century-rides/` (Complete North American index)
- 50 US State Guides: `/century-rides/<state-slug>/` (e.g. `/century-rides/california/`, `/century-rides/indiana/`, `/century-rides/colorado/`)
- 12 Month Seasonal Calendars: `/century-rides/<month-slug>/` (e.g. `/century-rides/september/`, `/century-rides/june/`)
## Key Resources
- Demo Mode (Clean UI): `/demo.html`
- 12-Week Century Training Guide: `/guide.html` (Comprehensive endurance, pacing, and fueling protocol for a 100-mile ride)
- Brand Assets & Logos: `/brand.html`
- Frequently Asked Questions: `/faq.html` (Differences between metric/imperial, training, pacing, and fueling guidelines)
## Key Entities
- **Century Ride (100 Miles)**: Single-day or multi-day bicycle event with a sanctioned 100-mile route.
- **Regions**: Indexed sub-state zones (e.g., Blue Ridge, Driftless Area, Suwannee River, Flint Hills).
- **Surface Disciplines**: Road, Alpine / Mountain Pass, Gravel / Mixed-Surface, Rail-Trail, Urban.
| Catalog Search ✓ Bound | 2026-08-25 |
| UCP Status | Verified |
| Endpoint | https://centuryrides.pages.dev/.well-known/ucp |
| HTTP Status | 200 |
| UCP Version | 2026-08-25 |
| Transports | REST |
| Last Observed | |
| Last Full Index |
Drop the live grade into your README, status page, or marketing site. The badge auto-updates as your score changes.
[](https://ucpchecker.com/score/centuryrides.pages.dev)<a href="https://ucpchecker.com/score/centuryrides.pages.dev"><img src="https://ucpchecker.com/score/centuryrides.pages.dev/badge.svg" alt="UCP Score for centuryrides.pages.dev"></a>This score reflects data from the most recent crawl. Run a fresh check to update, or read the methodology to see how each signal is scored.
Track centuryrides.pages.dev's UCP score over time. We'll re-run the full check weekly and email you if the score drops, a capability regresses, or status flips.
Free. One email when something changes — no marketing. Privacy.