Optimization Guide
Shopify Bicycle & Cycling Equipment Schema — Frame Size, Drivetrain, Wheel Size & Brake Type Structured Data
AI shopping agents handling queries like "road bike 54cm Shimano Ultegra hydraulic disc," "29er full-suspension mountain bike 140mm travel SRAM Eagle 12-speed," "women's hybrid bike medium frame 700c," or "beginner gravel bike under $2000 hydraulic brakes" need machine-readable frame sizes, wheel specifications, drivetrain groupsets, and brake types to match those requests to your catalog. Bicycles are among the highest-consideration purchases in sporting goods — most buyers arrive knowing exactly what drivetrain and wheel size they want but rely on AI agents to surface compatible frame sizes for their height. This guide covers the complete schema.org pattern for road, mountain, and gravel bikes: ProductGroup frame-size variants, additionalProperty for wheel diameter and drivetrain, hasCertification for safety and quality standards, and a bicycle.* metafield Liquid template for the Dawn theme.
ProductGroup with variesBy: "size". Each frame size is a child Product with a SizeSpecification (numeric CM + S/M/L label). Wheel diameter goes in additionalProperty propertyID: "wheelDiameter" with the ISO bead-seat diameter in parentheses (700c = ISO 622mm, 27.5" = ISO 584mm, 29" = ISO 622mm). Drivetrain: propertyID: "drivetrainGroupset" with the full manufacturer+line+generation name (never just "Shimano" — always "Shimano Ultegra R8000"). Brake type: propertyID: "brakeType" with controlled vocabulary "Hydraulic Disc" / "Mechanical Disc" / "Rim Brake (Caliper)". Suspension: propertyID: "frontSuspensionTravel" in mm. Drive all 15 fields from a bicycle.* metafield namespace in Liquid.
Why Bicycle Listings Are Invisible to AI Filter Queries
Bicycles have the most specific filter vocabulary of any sporting goods category. A road cyclist searches for "56cm Shimano 105 Di2 hydraulic disc road bike" — five distinct filters (frame size, groupset brand, groupset model, drivetrain actuation, brake type) that must all resolve to the same product. A mountain biker searches for "120mm hardtail 29er 12-speed 1x" — four filters (suspension travel, suspension type, wheel size, drivetrain configuration). Neither query appears in a bicycle product's JSON-LD as currently emitted by Shopify.
Shopify's default Product structured data emits name, price, availability, and image. Frame size is stored as a variant option string ("54cm" or "Large") — a value that appears in the variant title but not in any structured property. Wheel size appears nowhere except the product description prose. The drivetrain groupset is typically mentioned in the product description but not in any machine-readable field. Brake type may appear in a spec table that is not emitted as structured data.
The consequence: AI agents receive a query for "SRAM GX Eagle 12-speed 27.5 enduro hardtail" and find zero results from your catalog — not because you don't sell it, but because the three critical filter signals (groupset, wheel size, suspension type) exist only in unindexed prose. Structured data closes this gap entirely.
Bicycle AI query types requiring structured data
| Query type | Example query | Required schema signal | Missing from Shopify default |
|---|---|---|---|
| Frame size filter | "road bike 54cm" / "medium mountain bike" | SizeSpecification name: "54" + additionalProperty frameSizeLabel: "Medium" |
Yes — variant option string only |
| Wheel size filter | "29er mountain bike" / "700c gravel bike" | additionalProperty wheelDiameter: "29-inch (ISO 622mm)" |
Yes — prose only |
| Drivetrain groupset | "Shimano Ultegra road bike" | additionalProperty drivetrainGroupset: "Shimano Ultegra R8000" |
Yes — prose only |
| Brake type | "hydraulic disc brake road bike" | additionalProperty brakeType: "Hydraulic Disc" |
Yes — not in default JSON-LD |
| Suspension travel | "140mm travel full-suspension mountain bike" | additionalProperty frontSuspensionTravel: 140 (MMT) |
Yes — prose only |
| Gear count | "1x12 speed gravel bike" | additionalProperty drivetrainType: "1x12-speed" |
Yes — not in default JSON-LD |
Section 1: Road Bike ProductGroup with Frame Size Variants
The canonical pattern for a road bike with multiple frame sizes: a ProductGroup declaring variesBy: "https://schema.org/size", each frame size as a child Product with a SizeSpecification. The additionalProperty array on the group-level Product carries all non-varying attributes: wheel diameter, drivetrain, brake system, frame material, and weight — since these do not change across frame sizes on most bicycle models.
Frame size in centimeters is the universal road bike sizing standard across all brands. S/M/L labels vary significantly by brand — a "medium" Specialized Allez is 54cm while a "medium" Trek Émonda is 52cm. AI agents querying by centimeter are more precise than those querying by label. Include both to serve both query patterns.
{
"@context": "https://schema.org",
"@type": "ProductGroup",
"name": "Veloce Strada Pro Road Bike — Shimano 105 R7100 Di2 12-Speed Hydraulic Disc",
"description": "Endurance road bike with aluminum frame, carbon fork, Shimano 105 R7100 Di2 12-speed electronic groupset, hydraulic disc brakes. Available in 5 frame sizes (49cm–58cm).",
"brand": {
"@type": "Brand",
"name": "Veloce"
},
"productGroupID": "STRADA-PRO-2026",
"variesBy": ["https://schema.org/size"],
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "wheelDiameter",
"name": "Wheel Diameter",
"value": "700c (ISO 622mm)",
"description": "Industry standard road/gravel wheel diameter. 700c is a marketing designation; the authoritative ISO bead-seat diameter is 622mm."
},
{
"@type": "PropertyValue",
"propertyID": "drivetrainGroupset",
"name": "Drivetrain Groupset",
"value": "Shimano 105 R7100 Di2",
"description": "12-speed electronic groupset. Di2 = Dura-Ace-series electronic actuation on a 105-level component spec. Includes rear derailleur, shifters, front derailleur."
},
{
"@type": "PropertyValue",
"propertyID": "drivetrainType",
"name": "Drivetrain Configuration",
"value": "2x12-speed",
"description": "2 chainrings × 12-speed cassette = 24 gear combinations. Stock gearing: 50/34T compact crankset, 11-34T cassette."
},
{
"@type": "PropertyValue",
"propertyID": "drivetrainActuation",
"name": "Drivetrain Actuation",
"value": "Electronic (Di2)",
"description": "Electronic shifting — battery-powered servo motors actuate both derailleurs. No cable stretch or manual indexing adjustment required."
},
{
"@type": "PropertyValue",
"propertyID": "brakeType",
"name": "Brake Type",
"value": "Hydraulic Disc",
"description": "Hydraulic disc brakes: closed-loop mineral oil hydraulic system. More consistent modulation than mechanical disc in wet conditions. Rotor size: 160mm front / 140mm rear."
},
{
"@type": "PropertyValue",
"propertyID": "brakeCaliper",
"name": "Brake Caliper Model",
"value": "Shimano 105 R7170 Hydraulic",
"description": "4-piston hydraulic caliper, flat-mount standard. Compatible with 140mm and 160mm rotors."
},
{
"@type": "PropertyValue",
"propertyID": "rotorDiameter",
"name": "Rotor Diameter",
"value": "160mm front / 140mm rear",
"unitCode": "MMT",
"description": "Standard road endurance rotor sizing. 160mm front provides greater modulation on descents; 140mm rear is sufficient for road braking forces."
},
{
"@type": "PropertyValue",
"propertyID": "frameMaterial",
"name": "Frame Material",
"value": "Aluminum (6061-T6 hydroformed)",
"description": "Triple-butted 6061-T6 hydroformed aluminum main triangle with carbon fiber fork. Aluminum provides durability and stiffness; carbon fork reduces road vibration."
},
{
"@type": "PropertyValue",
"propertyID": "forkMaterial",
"name": "Fork Material",
"value": "Carbon Fiber (UD monocoque)",
"description": "Unidirectional carbon fiber monocoque fork with 1-1/8 inch straight steerer. Reduces vibration transmission from road surface."
},
{
"@type": "PropertyValue",
"propertyID": "suspensionType",
"name": "Suspension Type",
"value": "Rigid",
"description": "No suspension — road bikes use rigid fork and frame for maximum power transfer. Comfort comes from tire compliance (28-32mm road tires recommended for endurance geometry)."
},
{
"@type": "PropertyValue",
"propertyID": "bottomBracketStandard",
"name": "Bottom Bracket Standard",
"value": "BSA 68mm Threaded",
"description": "Traditional British Standard (BSA) threaded bottom bracket shell, 68mm wide. Compatible with standard threaded BSA bottom brackets. No press-fit tools required."
},
{
"@type": "PropertyValue",
"propertyID": "bikeCategory",
"name": "Bike Category",
"value": "Road — Endurance",
"description": "Endurance geometry road bike: longer wheelbase, higher stack, shorter reach compared to race geometry. Optimized for comfort on long rides rather than maximum aerodynamic efficiency."
},
{
"@type": "PropertyValue",
"propertyID": "riderHeightRange",
"name": "Rider Height Range (all sizes)",
"value": "155cm–190cm",
"description": "Full model range (49cm–58cm) accommodates riders 155cm to 190cm tall. Frame size selection guide available on product page."
}
],
"hasCertification": [
{
"@type": "Certification",
"name": "EN 14781",
"description": "European safety standard for racing bicycles — frame, fork, and component structural integrity.",
"issuedBy": {
"@type": "Organization",
"name": "European Committee for Standardization (CEN)"
},
"certificationStatus": "https://schema.org/CertificationActive"
},
{
"@type": "Certification",
"name": "CPSC 16 CFR 1512",
"description": "US Consumer Product Safety Commission bicycle safety standard — reflectors, braking performance, handlebar strength.",
"issuedBy": {
"@type": "Organization",
"name": "Consumer Product Safety Commission (CPSC)"
},
"certificationStatus": "https://schema.org/CertificationActive"
}
],
"hasVariant": [
{
"@type": "Product",
"name": "Veloce Strada Pro — 49cm (XS)",
"sku": "STRADA-PRO-49",
"size": {
"@type": "SizeSpecification",
"name": "49",
"sizeSystem": "https://schema.org/WearableSizeSystemContinental",
"sizeGroup": "https://schema.org/WearableSizeGroupWomens"
},
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "frameSizeCM",
"name": "Frame Size (cm)",
"value": 49,
"unitCode": "CMT"
},
{
"@type": "PropertyValue",
"propertyID": "frameSizeLabel",
"name": "Frame Size Label",
"value": "XS",
"description": "Extra Small — fits riders approximately 155cm–162cm (5'1\"–5'4\")"
}
],
"offers": {
"@type": "Offer",
"price": "2499.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/strada-pro?size=49cm"
}
},
{
"@type": "Product",
"name": "Veloce Strada Pro — 52cm (S)",
"sku": "STRADA-PRO-52",
"size": {
"@type": "SizeSpecification",
"name": "52",
"sizeSystem": "https://schema.org/WearableSizeSystemContinental"
},
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "frameSizeCM",
"name": "Frame Size (cm)",
"value": 52,
"unitCode": "CMT"
},
{
"@type": "PropertyValue",
"propertyID": "frameSizeLabel",
"name": "Frame Size Label",
"value": "S",
"description": "Small — fits riders approximately 162cm–168cm (5'4\"–5'6\")"
}
],
"offers": {
"@type": "Offer",
"price": "2499.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/strada-pro?size=52cm"
}
},
{
"@type": "Product",
"name": "Veloce Strada Pro — 54cm (M)",
"sku": "STRADA-PRO-54",
"size": {
"@type": "SizeSpecification",
"name": "54",
"sizeSystem": "https://schema.org/WearableSizeSystemContinental"
},
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "frameSizeCM",
"name": "Frame Size (cm)",
"value": 54,
"unitCode": "CMT"
},
{
"@type": "PropertyValue",
"propertyID": "frameSizeLabel",
"name": "Frame Size Label",
"value": "M",
"description": "Medium — fits riders approximately 168cm–175cm (5'6\"–5'9\")"
}
],
"offers": {
"@type": "Offer",
"price": "2499.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"url": "https://example.com/strada-pro?size=54cm"
}
}
]
}
Section 2: Mountain Bike with Suspension Travel and Wheel Size
Mountain bikes require additional schema signals for suspension travel, wheel diameter (27.5" vs 29"), and drivetrain configuration (1x vs 2x). The 27.5" vs 29" distinction is the most common AI filter query in mountain biking — these two wheel sizes have different ISO bead-seat diameters (584mm vs 622mm) and are not interchangeable. The schema must encode the ISO measurement alongside the marketing designation to support both query forms.
Suspension travel is the primary categorization dimension for MTB: XC race bikes run 80-100mm; trail bikes 120-140mm; enduro bikes 150-170mm; downhill bikes 180-200mm. This range is what separates a "trail bike" from an "enduro bike" in AI agent classification, not the category label in the product title.
{
"@context": "https://schema.org",
"@type": "Product",
"name": "Pinnacle Shredder Elite Mountain Bike — 29er Full-Suspension 140mm SRAM GX Eagle",
"description": "Trail full-suspension mountain bike. 140mm front / 130mm rear travel. 29-inch wheels. SRAM GX Eagle 1x12-speed groupset. SRAM G2 RS 4-piston hydraulic disc brakes.",
"brand": {
"@type": "Brand",
"name": "Pinnacle"
},
"sku": "SHREDDER-ELITE-29-M",
"additionalProperty": [
{
"@type": "PropertyValue",
"propertyID": "wheelDiameter",
"name": "Wheel Diameter",
"value": "29-inch (ISO 622mm)",
"description": "29er = 29-inch marketing diameter; ISO bead-seat diameter is 622mm — same rim diameter as 700c road wheels but with wider, higher-volume mountain tires (2.35\" stock). Not compatible with 27.5-inch (ISO 584mm) frames."
},
{
"@type": "PropertyValue",
"propertyID": "tireWidth",
"name": "Stock Tire Width",
"value": "2.35 inches (59.7mm)",
"description": "Maxxis Aggressor 29×2.35 rear / Maxxis Minion DHF 29×2.5 front. Tubeless-ready. Max tire width for this frame: 2.6 inches."
},
{
"@type": "PropertyValue",
"propertyID": "tubelessReady",
"name": "Tubeless Ready",
"value": "Yes",
"description": "Tubeless-ready rims and tires. Requires tubeless sealant (not included). Running tubeless eliminates pinch flats and allows 10-15 PSI lower tire pressure for improved traction."
},
{
"@type": "PropertyValue",
"propertyID": "suspensionType",
"name": "Suspension Type",
"value": "Full-Suspension",
"description": "Both front fork and rear shock absorb trail impacts. Full-suspension improves traction and comfort on technical terrain versus hardtail."
},
{
"@type": "PropertyValue",
"propertyID": "frontSuspensionTravel",
"name": "Front Suspension Travel",
"value": 140,
"unitCode": "MMT",
"description": "RockShox Pike Select 140mm travel fork. Trail-category suspension. XC = 80-100mm; Trail = 120-140mm; Enduro = 150-170mm; DH = 180-200mm."
},
{
"@type": "PropertyValue",
"propertyID": "rearSuspensionTravel",
"name": "Rear Suspension Travel",
"value": 130,
"unitCode": "MMT",
"description": "RockShox Deluxe Select rear shock, 130mm rear wheel travel. 10mm less than front travel is typical for trail bikes — slightly more supportive feel on climbs."
},
{
"@type": "PropertyValue",
"propertyID": "frontForkModel",
"name": "Front Fork",
"value": "RockShox Pike Select 140mm",
"description": "Charger 3 damper, DebonAir+ air spring, Lyrik arch shape. 15mm Maxle Stealth axle. Rebound and low-speed compression adjustment."
},
{
"@type": "PropertyValue",
"propertyID": "rearShockModel",
"name": "Rear Shock",
"value": "RockShox Deluxe Select 210×52.5mm",
"description": "DebonAir air spring. Three-position damper (Open/Medium/Firm). 210×52.5mm eye-to-eye × stroke dimensions."
},
{
"@type": "PropertyValue",
"propertyID": "drivetrainGroupset",
"name": "Drivetrain Groupset",
"value": "SRAM GX Eagle",
"description": "SRAM Eagle 12-speed 1x groupset at GX (mid-range) spec level. GX Eagle: trigger shifter, carbon fiber pull tab, aluminum derailleur cage. Cassette: SRAM PG-1230 10-52T. Crankset: SRAM SX Eagle 32T."
},
{
"@type": "PropertyValue",
"propertyID": "drivetrainType",
"name": "Drivetrain Configuration",
"value": "1x12-speed",
"description": "Single chainring × 12-speed cassette (10-52T). 1x eliminates front derailleur and simplifies shifting — the dominant configuration for mountain biking since 2018."
},
{
"@type": "PropertyValue",
"propertyID": "brakeType",
"name": "Brake Type",
"value": "Hydraulic Disc",
"description": "4-piston hydraulic disc brakes — provides maximum stopping power for mountain biking. Hydraulic self-adjusts for pad wear; mechanical requires manual cable adjustment."
},
{
"@type": "PropertyValue",
"propertyID": "brakeCaliper",
"name": "Brake Caliper",
"value": "SRAM G2 RS 4-Piston Hydraulic",
"description": "4-piston caliper with SwingLink technology for consistent feel through pad-wear range. DOT 5.1 brake fluid. Lever reach and contact point adjustment."
},
{
"@type": "PropertyValue",
"propertyID": "rotorDiameter",
"name": "Rotor Diameter",
"value": "200mm front / 180mm rear",
"unitCode": "MMT",
"description": "Larger rotors for trail/enduro MTB — greater heat dissipation on extended descents. 160mm is road standard; 180-203mm is trail/enduro; 200-223mm is downhill."
},
{
"@type": "PropertyValue",
"propertyID": "frameMaterial",
"name": "Frame Material",
"value": "Aluminum (6061-T6 hydroformed)",
"description": "6061-T6 hydroformed aluminum main triangle. Dedicated aluminum full-suspension platform with proprietary linkage system."
},
{
"@type": "PropertyValue",
"propertyID": "frameSizeCM",
"name": "Frame Size",
"value": "Medium (M)",
"description": "Medium frame fits riders approximately 170cm–178cm (5'7\"–5'10\"). Uses reach (470mm) and stack (607mm) measurements for precise fit."
},
{
"@type": "PropertyValue",
"propertyID": "headTubeAngle",
"name": "Head Tube Angle",
"value": "65.5 degrees",
"description": "Trail-category head angle. 65-66° is trail; 63-64° is enduro; 62-63° is downhill. Slacker angle = more stable at speed; steeper angle = more nimble/efficient climbing."
},
{
"@type": "PropertyValue",
"propertyID": "bikeCategory",
"name": "Bike Category",
"value": "Mountain — Trail Full-Suspension",
"description": "Trail MTB: optimized for mixed terrain. Climbs efficiently with 130mm rear travel; descends confidently with 140mm fork. Mid-point between XC and enduro."
},
{
"@type": "PropertyValue",
"propertyID": "bikeWeight",
"name": "Bike Weight",
"value": "14.2",
"unitCode": "KGM",
"description": "Weight with pedals (not included in sale). Size Medium. Lighter builds available with carbon frame upgrade."
}
],
"hasCertification": [
{
"@type": "Certification",
"name": "EN 14766",
"description": "European safety standard for mountain bicycles — structural integrity under trail/off-road fatigue loading.",
"issuedBy": {
"@type": "Organization",
"name": "European Committee for Standardization (CEN)"
},
"certificationStatus": "https://schema.org/CertificationActive"
}
],
"offers": {
"@type": "Offer",
"price": "3299.00",
"priceCurrency": "USD",
"availability": "https://schema.org/InStock",
"itemCondition": "https://schema.org/NewCondition"
}
}
Section 3: Frame Size Reference Table
Frame size labeling varies significantly across bike categories and manufacturers. The table below covers the most common mapping between rider height, centimeter frame size, and S/M/L label — for use in additionalProperty description fields and size guides.
| Frame Size (cm) | Size Label | Rider Height | Inseam |
|---|---|---|---|
| 47–49 cm | XS | 155–162 cm (5'1"–5'4") | 73–77 cm |
| 50–52 cm | S | 162–168 cm (5'4"–5'6") | 77–81 cm |
| 53–55 cm | M | 168–175 cm (5'6"–5'9") | 81–84 cm |
| 56–58 cm | L | 175–183 cm (5'9"–6'0") | 84–88 cm |
| 59–61 cm | XL | 183–190 cm (6'0"–6'3") | 88–92 cm |
| 62–64 cm | XXL | 190+ cm (6'3"+) | 92+ cm |
| Marketing Name | ISO BSD (mm) | Typical Tire Width | Category |
|---|---|---|---|
| 700c | 622mm | 23–45mm | Road / Gravel / CX |
| 29-inch (29er) | 622mm | 2.1"–2.6" | Mountain (XC/Trail/Enduro) |
| 27.5-inch (650b) | 584mm | 2.25"–2.8" | Mountain (Trail/Enduro) |
| 26-inch | 559mm | 1.75"–2.5" | Legacy MTB / Kids |
| 650b / 27.5c | 584mm | 38–50mm | Road Plus / Gravel |
| 24-inch | 507mm | 1.5"–2.0" | Kids (8–12 years) |
| 20-inch | 406mm | 1.5"–2.125" | Kids / BMX |
| Travel Range | Category | Terrain | Typical Fork Model |
|---|---|---|---|
| 60–100mm | XC (Cross-Country) | Smooth trails, racing | RockShox SID, Fox 32 Step-Cast |
| 100–120mm | XC / Light Trail | Varied terrain, efficiency-focused | RockShox Reba, Fox 32 |
| 120–140mm | Trail | Mixed technical terrain | RockShox Pike, Fox 34 |
| 150–170mm | Enduro / All-Mountain | Aggressive technical descents | RockShox Lyrik, Fox 36 |
| 180–200mm | Downhill | Bike park, freeride | RockShox Boxxer, Fox 40 |
Section 4: Dawn Theme Liquid Template (bicycle.* Metafield Namespace)
Drive all 15 bicycle schema fields from a bicycle.* metafield namespace. This keeps structured data in sync with your product catalog and allows bulk updates without touching theme code for each product.
{% comment %} bicycle schema — bicycle.* metafield namespace {% endcomment %}
{% assign bike = product.metafields.bicycle %}
{% if bike %}
{
"@context": "https://schema.org",
"@type": "Product",
"name": {{ product.title | json }},
"description": {{ product.description | strip_html | truncate: 500 | json }},
"brand": { "@type": "Brand", "name": {{ product.vendor | json }} },
"sku": {{ product.selected_or_first_available_variant.sku | json }},
"image": {{ product.featured_image.src | img_url: '1200x' | prepend: 'https:' | json }},
"additionalProperty": [
{% if bike.wheel_diameter %}
{
"@type": "PropertyValue",
"propertyID": "wheelDiameter",
"name": "Wheel Diameter",
"value": {{ bike.wheel_diameter | json }}
},
{% endif %}
{% if bike.drivetrain_groupset %}
{
"@type": "PropertyValue",
"propertyID": "drivetrainGroupset",
"name": "Drivetrain Groupset",
"value": {{ bike.drivetrain_groupset | json }}
},
{% endif %}
{% if bike.drivetrain_type %}
{
"@type": "PropertyValue",
"propertyID": "drivetrainType",
"name": "Drivetrain Configuration",
"value": {{ bike.drivetrain_type | json }}
},
{% endif %}
{% if bike.brake_type %}
{
"@type": "PropertyValue",
"propertyID": "brakeType",
"name": "Brake Type",
"value": {{ bike.brake_type | json }}
},
{% endif %}
{% if bike.rotor_diameter %}
{
"@type": "PropertyValue",
"propertyID": "rotorDiameter",
"name": "Rotor Diameter",
"value": {{ bike.rotor_diameter | json }},
"unitCode": "MMT"
},
{% endif %}
{% if bike.frame_material %}
{
"@type": "PropertyValue",
"propertyID": "frameMaterial",
"name": "Frame Material",
"value": {{ bike.frame_material | json }}
},
{% endif %}
{% if bike.suspension_type %}
{
"@type": "PropertyValue",
"propertyID": "suspensionType",
"name": "Suspension Type",
"value": {{ bike.suspension_type | json }}
},
{% endif %}
{% if bike.front_suspension_travel %}
{
"@type": "PropertyValue",
"propertyID": "frontSuspensionTravel",
"name": "Front Suspension Travel",
"value": {{ bike.front_suspension_travel | json }},
"unitCode": "MMT"
},
{% endif %}
{% if bike.rear_suspension_travel %}
{
"@type": "PropertyValue",
"propertyID": "rearSuspensionTravel",
"name": "Rear Suspension Travel",
"value": {{ bike.rear_suspension_travel | json }},
"unitCode": "MMT"
},
{% endif %}
{% if bike.tubeless_ready %}
{
"@type": "PropertyValue",
"propertyID": "tubelessReady",
"name": "Tubeless Ready",
"value": {{ bike.tubeless_ready | json }}
},
{% endif %}
{% if bike.bike_category %}
{
"@type": "PropertyValue",
"propertyID": "bikeCategory",
"name": "Bike Category",
"value": {{ bike.bike_category | json }}
},
{% endif %}
{% if bike.bike_weight %}
{
"@type": "PropertyValue",
"propertyID": "bikeWeight",
"name": "Bike Weight",
"value": {{ bike.bike_weight | json }},
"unitCode": "KGM"
},
{% endif %}
{% if bike.head_tube_angle %}
{
"@type": "PropertyValue",
"propertyID": "headTubeAngle",
"name": "Head Tube Angle",
"value": {{ bike.head_tube_angle | json }},
"description": "degrees — slacker = more stable descending; steeper = more efficient climbing"
},
{% endif %}
{% if bike.bottom_bracket_standard %}
{
"@type": "PropertyValue",
"propertyID": "bottomBracketStandard",
"name": "Bottom Bracket Standard",
"value": {{ bike.bottom_bracket_standard | json }}
},
{% endif %}
{
"@type": "PropertyValue",
"propertyID": "bikeType",
"name": "Bike Type",
"value": {{ bike.bike_type | default: product.type | json }}
}
],
"offers": {
"@type": "Offer",
"price": {{ product.price | money_without_currency | json }},
"priceCurrency": {{ shop.currency | json }},
"availability": {% if product.available %}"https://schema.org/InStock"{% else %}"https://schema.org/OutOfStock"{% endif %},
"itemCondition": "https://schema.org/NewCondition",
"url": {{ canonical_url | json }}
}
}
{% endif %}
bicycle.* metafield namespace reference
| Metafield key | Type | Example value | Notes |
|---|---|---|---|
| bicycle.wheel_diameter | single_line_text | 29-inch (ISO 622mm) | Always include ISO mm in parentheses |
| bicycle.drivetrain_groupset | single_line_text | Shimano 105 R7100 Di2 | Full manufacturer+line+generation string |
| bicycle.drivetrain_type | single_line_text | 1x12-speed | Use "NxM-speed" format |
| bicycle.drivetrain_actuation | single_line_text | Electronic (Di2) | Electronic / Mechanical / Cable |
| bicycle.brake_type | single_line_text | Hydraulic Disc | Controlled vocab (see above) |
| bicycle.brake_caliper | single_line_text | SRAM G2 RS 4-Piston | Full manufacturer+model+spec |
| bicycle.rotor_diameter | single_line_text | 200mm front / 180mm rear | Front/rear split if different |
| bicycle.frame_material | single_line_text | Aluminum (6061-T6) | Include alloy grade for aluminum |
| bicycle.suspension_type | single_line_text | Full-Suspension | Rigid / Hardtail / Full-Suspension |
| bicycle.front_suspension_travel | number_integer | 140 | mm — front fork travel |
| bicycle.rear_suspension_travel | number_integer | 130 | mm — rear wheel travel (full-sus only) |
| bicycle.tubeless_ready | boolean | true | Both rim and tire must be tubeless-ready |
| bicycle.bike_category | single_line_text | Mountain — Trail Full-Suspension | Category — Subcategory format |
| bicycle.bike_weight | number_decimal | 14.2 | kg — with pedals if applicable |
| bicycle.head_tube_angle | number_decimal | 65.5 | degrees — critical for category classification |
Common Mistakes
- Groupset name without generation: "Shimano Ultegra" is ambiguous across 5+ generations (R8000, R8050 Di2, R8100, R8150 Di2). Always include the generation code: "Shimano Ultegra R8100 12-speed."
- 700c and 29-inch treated as different wheel sizes: Both have ISO bead-seat diameter 622mm. They are the same rim size. The difference is tire width range. Include the ISO measurement in both to allow AI agents to correctly classify them as compatible.
- Suspension travel listed for hardtails: Hardtail and rigid bikes should list
suspensionType: "Hardtail"or"Rigid"and omit rear suspension travel. Do not set rear travel to 0 — omit the field entirely. AI agents treat "0mm rear travel" as full-suspension with broken data. - Brake fluid type omitted: Hydraulic disc brakes use either mineral oil (Shimano, Magura) or DOT fluid (SRAM, Avid, TRP). These are incompatible — using DOT fluid in a mineral oil system destroys seals. Include the fluid type in the
brakeCaliperdescription field. - Frame size as S/M/L only: S/M/L labels vary significantly by brand. A Specialized "Medium" is 54cm; a Trek "Medium" is typically 52cm. Always include the centimeter measurement as a separate
additionalProperty. Use S/M/L as a supplementary label, not the primary size identifier.
Internal Links
- Outdoor & Sporting Goods Schema — IPX Rating, Activity Type & UIAA Certification
- ProductGroup Variant Schema — hasVariant, variesBy & per-variant Availability
- Product Specifications Schema — additionalProperty, UN/CEFACT Unit Codes & AI Filter Queries
- Vehicle Parts Fitment Schema — Year/Make/Model Compatibility & compatibleWith