A Learning Resource is a single piece of teaching material, like a lesson, a video, an exercise or a quiz. Marking it up tells search engines what the page teaches, how long it takes, what kind of resource it is, and which course it belongs to. Use it on lesson pages. The course that holds the lessons gets the Course Content Type on its own page.
- Log into your Joomla backend.
- Go to Components → Google Structured Data → Items.
- Click New.
- Enter a Title. It's for your own reference, so anything works.
- Select Learning Resource in the Content Type dropdown.
- Select the Integration of the component that holds your lessons.
- Click Save.

Once the page reloads, a new section called Learning Resource appears, where you map each property to page data.

To read more about how the mapping works, visit the respective section of the How to Add Structured Data to Pages guide.
| Name |
Description |
| Title |
The name of the lesson. |
| Description |
A description of the lesson. |
| URL |
The URL of the lesson page. |
| Image |
An image that represents the lesson. |
| Resource Type |
The kind of resource the page is, such as Lesson, Video or Quiz. It defaults to the Learning Resource Type option. |
| Time Required |
How long the lesson takes, in minutes. The markup turns it into an ISO 8601 duration, so 45 becomes PT45M. A value that's already a duration, such as PT1H, is kept as it is. It defaults to the Length in Minutes option. |
| Learning Outcomes |
What the visitor can do after the lesson. Separate multiple outcomes with a comma, or read them from the page with a CSS Selector (see below). |
| Subjects |
The subjects the lesson covers, separated by a comma. It defaults to the Tags option. |
| Educational Level |
The level the lesson is aimed at, such as Beginner. |
| Date Published |
The date the lesson was published. |
| Date Created |
The date the lesson was created. |
| Date Modified |
The date the lesson was last modified. |
The Title, Description and URL properties are required. The rest are optional.
The Resource Type, Time Required and Subjects defaults are options of the OSCampus Integration. With any other Integration, map these properties yourself, or pick Custom Value and type a fixed value, such as Lesson.
Always mark up content that visitors can see on the page. Markup that describes hidden content can lead to a spammy structured markup penalty.
Lesson pages often show their outcomes as a bulleted list. Point a CSS Selector at the list items and each one becomes a separate outcome.
- Wrap the list in an element with a class of your own, such as
my-outcomes.
- Set Learning Outcomes to CSS Selector.
- Enter
.my-outcomes li as the selector.
- Keep Return Node Text in the dropdown next to it.
- Click Save.
Keep the li in the selector. Without it the selector matches the list as a whole, and every outcome ends up in one long string.
A lesson makes more sense inside its course. The Learning Resource points at the course it belongs to, and at the module inside that course, through its isPartOf property.
There's no field to map for this. The Integration supplies it, so it appears only with an Integration that knows the course of each lesson, such as the OSCampus Integration. With any other Integration, the markup describes the lesson on its own.
This section controls the pages where your Learning Resource item runs. Every Integration comes with its own publishing rules, so the options depend on the Integration you picked. With OSCampus, you can target lessons by learning path, by course, or one by one.
Leave all options Disabled to apply the schema on every page the selected Integration covers.
To learn more about the Publishing Rules section, visit the How to Add Structured Data to Pages guide.
The Schema Markup Validator checks every schema.org type, including this one.
- Visit the Schema Markup Validator.
- Enter the URL of your lesson page and click RUN TEST.
- Check that the LearningResource item is detected and that it has no errors.
No. Map the properties to page data and one item covers every lesson page that its Publishing Rules target.
Any text works, and schema.org keeps no fixed list. Pick words that describe the page plainly, like Lesson, Video, Quiz or Exercise. The OSCampus Integration fills it from the lesson type for you.
Use Learning Resource when the page is part of a course, so the lesson keeps its link to the course. Use the Video Content Type when the video stands on its own.