Team

{% comment %} XDreamKidz — Team Grid (with SEO + JSON-LD) — FIXED - Uses canonical_url instead of request.origin - Safe comma handling in JSON-LD loops {% endcomment %}

{%- comment -%} Lightweight SEO meta {%- endcomment -%} {% if section.settings.seo_title != blank %} {% endif %} {% if section.settings.seo_description != blank %} {% endif %} {% if section.settings.og_image != blank %} {% endif %}
{% if section.settings.heading != blank %}

{{ section.settings.heading }}

{% endif %} {% if section.settings.intro != blank %}
{{ section.settings.intro }}
{% endif %}
{% for block in section.blocks %} {% if block.type == 'rider' %}
{% if block.settings.image != blank %} {{ block.settings.image_alt | escape | default: block.settings.name | escape }} {% else %} {% endif %} {% if block.settings.badge != blank %} {{ block.settings.badge }} {% endif %}

{{ block.settings.name }}

{% if block.settings.subtitle != blank %}
{{ block.settings.subtitle }}
{% endif %} {% if block.settings.bio != blank %}

{{ block.settings.bio }}

{% endif %}
{% if block.settings.bike != blank %}
Race Bike
{{ block.settings.bike }}
{% endif %} {% if block.settings.trainer != blank %}
Trainer
{{ block.settings.trainer }}
{% endif %} {% if block.settings.champs != blank %}
Championships
{{ block.settings.champs }}
{% endif %} {% if block.settings.goal != blank %}
Goal
{{ block.settings.goal }}
{% endif %}
{% if block.settings.link_url != blank %} View profile {% endif %}
{% endif %} {% endfor %}
{%- comment -%} JSON-LD: SportsTeam + ItemList + Person/Athlete entries {%- endcomment -%} {% assign rider_total = 0 %} {% for b in section.blocks %}{% if b.type == 'rider' %}{% assign rider_total = rider_total | plus: 1 %}{% endif %}{% endfor %} {% capture json_graph %} { "@context":"https://schema.org", "@graph":[ { "@type":"SportsTeam", "@id":"{{ canonical_url }}#team", "name":"{{ section.settings.team_name | default: shop.name | escape }}", "sport":"Motocross", {% if section.settings.team_logo != blank %}"logo":"{{ section.settings.team_logo | image_url: width: 512 }}",{% endif %} "url":"{{ canonical_url }}", {% assign sameas_list = '' %} {% if section.settings.site_url != blank %}{% assign sameas_list = sameas_list | append: section.settings.site_url | append: ',' %}{% endif %} {% if section.settings.ig_url != blank %}{% assign sameas_list = sameas_list | append: section.settings.ig_url | append: ',' %}{% endif %} {% if section.settings.tt_url != blank %}{% assign sameas_list = sameas_list | append: section.settings.tt_url | append: ',' %}{% endif %} {% if section.settings.yt_url != blank %}{% assign sameas_list = sameas_list | append: section.settings.yt_url | append: ',' %}{% endif %} {% if section.settings.fb_url != blank %}{% assign sameas_list = sameas_list | append: section.settings.fb_url | append: ',' %}{% endif %} {% if sameas_list != '' %} "sameAs":[ {% assign arr = sameas_list | split: ',' %} {% assign out = '' %} {% for u in arr %}{% if u != '' %}{% assign out = out | append: '"' | append: u | append: '"' %}{% unless forloop.last %}{% assign out = out | append: ',' %}{% endunless %}{% endif %}{% endfor %} {{ out }} ], {% endif %} "member":[ {% assign i = 0 %} {% for block in section.blocks %} {% if block.type == 'rider' %} {% assign i = i | plus: 1 %} { "@id":"{{ canonical_url }}#{{ block.id }}" }{% if i < rider_total %},{% endif %} {% endif %} {% endfor %} ] }, { "@type":"ItemList", "@id":"{{ canonical_url }}#list", "itemListOrder":"http://schema.org/ItemListOrderAscending", "itemListElement":[ {% assign i = 0 %} {% for block in section.blocks %} {% if block.type == 'rider' %} {% assign i = i | plus: 1 %} { "@type":"ListItem", "position": {{ i }}, "url": "{{ canonical_url }}#{{ block.id }}", "item": { "@id":"{{ canonical_url }}#{{ block.id }}" } }{% if i < rider_total %},{% endif %} {% endif %} {% endfor %} ] } {% for block in section.blocks %} {% if block.type == 'rider' %} ,{ "@type":["Person","Athlete"], "@id":"{{ canonical_url }}#{{ block.id }}", "name":"{{ block.settings.name | escape }}", {% if block.settings.image != blank %}"image":"{{ block.settings.image | image_url: width: 800 }}",{% endif %} {% if block.settings.link_url != blank %}"url":"{{ block.settings.link_url | escape }}",{% endif %} "sport":"Motocross", {% if block.settings.champs != blank %}"award":"{{ block.settings.champs | strip_html | escape }}",{% endif %} "memberOf":{"@id":"{{ canonical_url }}#team"}, "description":"{{ block.settings.bio | strip_html | truncate: 280 | escape }}" } {% endif %} {% endfor %} ] } {% endcapture %}

{% schema %} { "name": "XDK • Team Grid (SEO + JSON-LD)", "settings": [ { "type":"text", "id":"heading", "label":"Heading", "default":"XDreamKidz Team" }, { "type":"richtext", "id":"intro", "label":"Intro text", "default":"

Meet the riders of the XDreamKidz Team—driven, creative, and unstoppable.

" }, { "type":"text", "id":"seo_title", "label":"SEO Title (override)", "default":"XDreamKidz Team — Meet Our Riders" }, { "type":"textarea", "id":"seo_description", "label":"SEO Description (override)", "default":"Meet the XDreamKidz motocross team. Follow their training, championships, and road to Loretta Lynn’s while supporting up-and-coming athletes." }, { "type":"image_picker", "id":"og_image", "label":"Social share image (Open Graph/Twitter)" }, { "type":"text", "id":"team_name", "label":"Team name", "default":"XDreamKidz Team" }, { "type":"image_picker", "id":"team_logo", "label":"Team logo (for JSON-LD)" }, { "type":"text", "id":"site_url", "label":"Website URL (sameAs)", "default":"https://xdreamkidz.com" }, { "type":"text", "id":"ig_url", "label":"Instagram URL (sameAs)", "default":"https://instagram.com/XDreamKidz" }, { "type":"text", "id":"tt_url", "label":"TikTok URL (sameAs)", "default":"https://tiktok.com/@XDreamKidz" }, { "type":"text", "id":"yt_url", "label":"YouTube URL (sameAs)" }, { "type":"text", "id":"fb_url", "label":"Facebook URL (sameAs)" }, { "type":"range", "id":"columns", "label":"Grid columns (≥760px)", "min":2, "max":4, "step":1, "default":3 }, { "type":"color", "id":"bg_color", "label":"Background", "default":"#0b0b0c" }, { "type":"color", "id":"card_color", "label":"Card background", "default":"#111216" }, { "type":"color", "id":"accent_color", "label":"Accent A", "default":"#36f3c7" }, { "type":"color", "id":"accent2_color", "label":"Accent B", "default":"#ff3fb0" } ], "blocks": [ { "type":"rider", "name":"Rider", "settings":[ { "type":"text", "id":"name", "label":"Name", "default":"Ellie" }, { "type":"text", "id":"badge", "label":"Badge", "default":"XDreamKidz Team Rider" }, { "type":"text", "id":"subtitle", "label":"Subtitle", "default":"85cc 2-Stroke • Sigma MX • Pitbike Fan" }, { "type":"image_picker", "id":"image", "label":"Image" }, { "type":"text", "id":"image_alt", "label":"Image alt", "default":"Ellie — XDreamKidz Team Rider" }, { "type":"textarea", "id":"bio", "label":"Short bio", "default":"First-year racer with a love for riding, wrenching, and creating. Won Women’s Beginner and 85cc Girls class championships; now focused on qualifying for Loretta Lynn’s." }, { "type":"text", "id":"bike", "label":"Race bike", "default":"85cc 2-stroke" }, { "type":"text", "id":"trainer", "label":"Trainer", "default":"Altis Powersports Sigma MX" }, { "type":"text", "id":"champs", "label":"Championships", "default":"Women’s Beginner; 85cc Girls (Year 1)" }, { "type":"text", "id":"goal", "label":"Goal", "default":"Qualify for Loretta Lynn’s this coming season" }, { "type":"url", "id":"link_url", "label":"Profile link (optional)" } ] } ], "presets":[{ "name":"XDK • Team Grid", "category":"Custom", "blocks":[{ "type":"rider" }] }] } {% endschema %}