JAVASCRIPTseobeginner

Course Schema for Online Learning Platforms

Add Course structured data for Google course rich results with provider, duration, and pricing details

Faisal Yaqoob
#course#schema#seo#structured-data#json-ld#online-learning#education#rich-snippets#google
Share this snippet:

Code

javascript
1const courseSchema = {
2 "@context": "https://schema.org",
3 "@type": "Course",
4 "name": "Complete WordPress Development Masterclass",
5 "description": "Learn WordPress development from scratch. Covers theme development, plugin creation, REST API, Gutenberg blocks, WooCommerce, and deployment. Includes 40+ hours of video content with real-world projects.",
6 "url": "https://yoursite.com/courses/wordpress-masterclass",
7 "image": "https://yoursite.com/images/wp-course-cover.jpg",
8 "provider": {
9 "@type": "Organization",
10 "name": "Your Academy Name",
11 "url": "https://yoursite.com",
12 "sameAs": [
13 "https://www.youtube.com/yourchannel",
14 "https://www.linkedin.com/company/youracademy"
15 ]
16 },
17 "instructor": {
18 "@type": "Person",
19 "name": "Your Name",
20 "description": "Senior Full Stack Developer with 10+ years of WordPress experience.",
21 "url": "https://yoursite.com/about",
22 "image": "https://yoursite.com/images/instructor.jpg"
23 },
24 "courseCode": "WP-DEV-101",
25 "educationalLevel": "Beginner to Advanced",
26 "teaches": "WordPress theme development, plugin development, REST API, WooCommerce, Gutenberg blocks",
27 "inLanguage": "en",
28 "numberOfCredits": 40,
29 "hasCourseInstance": [
30 {
31 "@type": "CourseInstance",
32 "courseMode": "online",
33 "courseWorkload": "PT40H",
34 "instructor": {
35 "@type": "Person",
36 "name": "Your Name"
37 }
38 }
39 ],
40 "offers": {
41 "@type": "Offer",
42 "price": "99.00",
43 "priceCurrency": "USD",
44 "url": "https://yoursite.com/courses/wordpress-masterclass",
45 "availability": "https://schema.org/InStock",
46 "category": "Paid"
47 },
48 "aggregateRating": {
49 "@type": "AggregateRating",
50 "ratingValue": "4.8",
51 "bestRating": "5",
52 "ratingCount": "1250",
53 "reviewCount": "890"
54 }
55};

Course Schema for Online Learning Platforms

Add Course structured data to make your online courses appear in Google's course-specific search results and rich snippets. Google displays course information including provider, duration, cost, and ratings directly in search.

Online Course Schema

const courseSchema = {
  "@context": "https://schema.org",
  "@type": "Course",
  "name": "Complete WordPress Development Masterclass",
  "description": "Learn WordPress development from scratch. Covers theme development, plugin creation, REST API, Gutenberg blocks, WooCommerce, and deployment. Includes 40+ hours of video content with real-world projects.",
  "url": "https://yoursite.com/courses/wordpress-masterclass",
  "image": "https://yoursite.com/images/wp-course-cover.jpg",
  "provider": {
    "@type": "Organization",
    "name": "Your Academy Name",
    "url": "https://yoursite.com",
    "sameAs": [
      "https://www.youtube.com/yourchannel",
      "https://www.linkedin.com/company/youracademy"
    ]
  },
  "instructor": {
    "@type": "Person",
    "name": "Your Name",
    "description": "Senior Full Stack Developer with 10+ years of WordPress experience.",
    "url": "https://yoursite.com/about",
    "image": "https://yoursite.com/images/instructor.jpg"
  },
  "courseCode": "WP-DEV-101",
  "educationalLevel": "Beginner to Advanced",
  "teaches": "WordPress theme development, plugin development, REST API, WooCommerce, Gutenberg blocks",
  "inLanguage": "en",
  "numberOfCredits": 40,
  "hasCourseInstance": [
    {
      "@type": "CourseInstance",
      "courseMode": "online",
      "courseWorkload": "PT40H",
      "instructor": {
        "@type": "Person",
        "name": "Your Name"
      }
    }
  ],
  "offers": {
    "@type": "Offer",
    "price": "99.00",
    "priceCurrency": "USD",
    "url": "https://yoursite.com/courses/wordpress-masterclass",
    "availability": "https://schema.org/InStock",
    "category": "Paid"
  },
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "bestRating": "5",
    "ratingCount": "1250",
    "reviewCount": "890"
  }
};

Free Course Schema

const freeCourse = {
  "@context": "https://schema.org",
  "@type": "Course",
  "name": "Introduction to Schema Markup for SEO",
  "description": "Free beginner course on implementing Schema.org structured data. Learn JSON-LD, rich results, and how to validate your markup for Google Search.",
  "url": "https://yoursite.com/courses/schema-markup-intro",
  "image": "https://yoursite.com/images/schema-course.jpg",
  "provider": {
    "@type": "Organization",
    "name": "Your Academy",
    "url": "https://yoursite.com"
  },
  "instructor": {
    "@type": "Person",
    "name": "Your Name"
  },
  "isAccessibleForFree": true,
  "hasCourseInstance": {
    "@type": "CourseInstance",
    "courseMode": "online",
    "courseWorkload": "PT5H"
  },
  "offers": {
    "@type": "Offer",
    "price": "0",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock",
    "category": "Free"
  },
  "educationalLevel": "Beginner",
  "teaches": "JSON-LD, Schema.org markup, Google Rich Results, structured data testing"
};

Course with Curriculum (Modules)

const courseWithModules = {
  "@context": "https://schema.org",
  "@type": "Course",
  "name": "Shopify Theme Development Bootcamp",
  "description": "Build professional Shopify themes from scratch using Liquid, JavaScript, and the Shopify CLI.",
  "url": "https://yoursite.com/courses/shopify-bootcamp",
  "provider": {
    "@type": "Organization",
    "name": "Your Academy",
    "url": "https://yoursite.com"
  },
  "hasCourseInstance": {
    "@type": "CourseInstance",
    "courseMode": "online",
    "courseWorkload": "PT25H"
  },
  "syllabusSections": [
    {
      "@type": "Syllabus",
      "name": "Module 1: Shopify Fundamentals",
      "description": "Understanding Shopify architecture, Liquid templating, and theme structure."
    },
    {
      "@type": "Syllabus",
      "name": "Module 2: Liquid Templating Deep Dive",
      "description": "Objects, tags, filters, and advanced Liquid patterns."
    },
    {
      "@type": "Syllabus",
      "name": "Module 3: JavaScript & AJAX",
      "description": "Cart API, dynamic sections, and modern JavaScript in Shopify themes."
    },
    {
      "@type": "Syllabus",
      "name": "Module 4: Theme Architecture",
      "description": "Building Shopify 2.0 themes with sections and blocks."
    },
    {
      "@type": "Syllabus",
      "name": "Module 5: Deployment & Optimization",
      "description": "Theme performance, Shopify CLI workflow, and publishing to Theme Store."
    }
  ],
  "offers": {
    "@type": "Offer",
    "price": "149.00",
    "priceCurrency": "USD",
    "availability": "https://schema.org/InStock"
  }
};

Course List / Catalog Schema

// For course catalog or listing pages
const courseCatalog = {
  "@context": "https://schema.org",
  "@type": "ItemList",
  "name": "Web Development Courses",
  "description": "Browse our catalog of web development courses covering WordPress, Shopify, React, and more.",
  "url": "https://yoursite.com/courses",
  "numberOfItems": 5,
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "item": {
        "@type": "Course",
        "name": "WordPress Development Masterclass",
        "url": "https://yoursite.com/courses/wordpress-masterclass",
        "description": "Complete WordPress development from beginner to advanced.",
        "provider": { "@type": "Organization", "name": "Your Academy" }
      }
    },
    {
      "@type": "ListItem",
      "position": 2,
      "item": {
        "@type": "Course",
        "name": "Shopify Theme Development",
        "url": "https://yoursite.com/courses/shopify-themes",
        "description": "Build professional Shopify themes with Liquid.",
        "provider": { "@type": "Organization", "name": "Your Academy" }
      }
    },
    {
      "@type": "ListItem",
      "position": 3,
      "item": {
        "@type": "Course",
        "name": "React & Next.js for Beginners",
        "url": "https://yoursite.com/courses/react-nextjs",
        "description": "Modern frontend development with React and Next.js.",
        "provider": { "@type": "Organization", "name": "Your Academy" }
      }
    }
  ]
};

Best Practices

  • Include provider — required for course rich results eligibility
  • Add offers with price — even free courses should specify "price": "0"
  • Set courseWorkload in ISO 8601 duration (e.g., PT40H for 40 hours)
  • Include aggregateRating — course ratings increase click-through rates
  • Specify educationalLevel — helps Google match courses to search intent
  • Add instructor with credentials — builds trust and authority
  • Use ItemList for course catalog pages

Features

  • Course Rich Results: Display course details directly in Google search
  • Pricing Display: Show free or paid pricing in search results
  • Rating Stars: Display student ratings in search
  • Duration Info: Show total course hours to searchers
  • Course Catalog: ItemList schema for course listing pages
  • Instructor Profile: Highlight instructor credentials

Related Snippets