Cookies & analytics

    We use cookies for analytics and to serve ads. Accept to enable Google Analytics and AdSense. You can decline to stay opt-out.

    SwiftSchema Logo

    SwiftSchema

    Intuitive Schema Generation at Your Fingertips

    AboutLearnContact
      Stack

      Course Pathway / Track Stack

      Learning tracks listing multiple courses and instances with FAQs and breadcrumb navigation.

      Open generatorValidate in Rich Results Test

      When to use this stack

      • Learning pathways or tracks made up of multiple courses
      • Education program pages that show upcoming course instances
      • Pages where FAQs clarify prerequisites, pacing, and delivery formats

      What's included

      • Represents the ordered pathway of courses.

      • Identifies each course in the pathway.

      • Course Instance
        Open generator

        Provides schedule/location for a visible course offering.

      • Frequently Asked Questions
        Open generator

        Answers prerequisites, pacing, and certification questions.

      • Breadcrumb
        Open generator

        Provides navigation context to the pathway page.

      Required properties (stack union)

      Ensure every applicable required property is present in your implementation. Nested props reference their parent objects (for example, `offers.priceCurrency`).

      courseMode
      description
      itemListElement[].@type=ListItem
      itemListElement[].item.@id
      itemListElement[].name
      location.name
      mainEntity[].@type=Question
      mainEntity[].acceptedAnswer.text
      name
      startDate

      Recommended properties (stack union)

      courseCode
      endDate
      instructor.name
      itemListElement[].item
      itemListElement[].item.@type=Course
      itemListElement[].item.description
      itemListElement[].item.name
      itemListElement[].position
      mainEntity[].acceptedAnswer.text
      mainEntity[].author.name
      mainEntity[].name
      provider.name
      url

      Combined JSON-LD

      Paste as a single script tag. Keep product details, offer data, shipping/returns, and FAQ answers in sync with the page.

      Validate
      [
        {
          "@context": "https://schema.org",
          "@type": "ItemList",
          "@id": "https://www.example.com/learning/tracks/backend-engineering#list",
          "name": "Backend Engineering Track",
          "itemListElement": [
            {
              "@type": "ListItem",
              "position": 1,
              "item": { "@id": "https://www.example.com/learning/courses/intro-sql#course" }
            },
            {
              "@type": "ListItem",
              "position": 2,
              "item": { "@id": "https://www.example.com/learning/courses/build-apis#course" }
            }
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "Course",
          "@id": "https://www.example.com/learning/courses/intro-sql#course",
          "name": "Intro to SQL",
          "description": "Fundamentals of querying, joins, and performance basics.",
          "provider": { "@type": "Organization", "name": "Example Learning" },
          "courseCode": "SQL-101",
          "url": "https://www.example.com/learning/courses/intro-sql"
        },
        {
          "@context": "https://schema.org",
          "@type": "CourseInstance",
          "courseMode": "online",
          "startDate": "2025-03-10",
          "endDate": "2025-04-07",
          "location": { "@type": "Place", "name": "Online" },
          "instructor": { "@type": "Person", "name": "Jamie Lee" },
          "url": "https://www.example.com/learning/courses/intro-sql#spring-cohort"
        },
        {
          "@context": "https://schema.org",
          "@type": "Course",
          "@id": "https://www.example.com/learning/courses/build-apis#course",
          "name": "Building APIs",
          "description": "Design and build production-ready APIs with authentication and observability.",
          "provider": { "@type": "Organization", "name": "Example Learning" },
          "courseCode": "API-201",
          "url": "https://www.example.com/learning/courses/build-apis"
        },
        {
          "@context": "https://schema.org",
          "@type": "CourseInstance",
          "courseMode": "hybrid",
          "startDate": "2025-04-15",
          "location": { "@type": "Place", "name": "New York Campus" },
          "instructor": { "@type": "Person", "name": "Riley Chen" },
          "url": "https://www.example.com/learning/courses/build-apis#may-cohort"
        },
        {
          "@context": "https://schema.org",
          "@type": "FAQPage",
          "mainEntity": [
            {
              "@type": "Question",
              "name": "Do I need prior experience?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Complete Intro to SQL or have equivalent experience before starting Building APIs."
              }
            },
            {
              "@type": "Question",
              "name": "Is the track self-paced?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Courses are instructor-led with weekly live sessions. Replays are available for all cohorts."
              }
            },
            {
              "@type": "Question",
              "name": "Do you offer certificates?",
              "acceptedAnswer": {
                "@type": "Answer",
                "text": "Yes. Certificates are issued after completing all courses in the track and passing assessments."
              }
            }
          ]
        },
        {
          "@context": "https://schema.org",
          "@type": "BreadcrumbList",
          "itemListElement": [
            { "@type": "ListItem", "position": 1, "name": "Home", "item": "https://www.example.com" },
            { "@type": "ListItem", "position": 2, "name": "Learning Tracks", "item": "https://www.example.com/learning/tracks" },
            { "@type": "ListItem", "position": 3, "name": "Backend Engineering", "item": "https://www.example.com/learning/tracks/backend-engineering" }
          ]
        }
      ]

      Implementation steps

      1. Start from your live product detail page content; ensure titles, prices, and availability match the page.
      2. Embed one JSON-LD script in the head or just before the closing body tag using the combined example as a template.
      3. Fill shipping details for each region you serve and keep them aligned with on-page shipping tables.
      4. Attach your canonical MerchantReturnPolicy URL and keep the policy text in sync with Merchant Center.
      5. Add 3–6 FAQs that address purchase blockers (shipping, returns, compatibility) and keep answers consistent with visible content.
      6. Validate in the Rich Results Test and revalidate after price/availability/policy changes.

      Common errors and fixes

      FAQs

      How many courses should I include?

      Include one Course per course visible in the track. If you show multiple course instances, include a CourseInstance for each visible cohort.

      Do I need CourseInstance for every course?

      Only if the page shows schedules/cohorts. Otherwise, you can omit CourseInstance and keep Course + ItemList + FAQ + Breadcrumb.

      References