Why description is required here specifically#
Across most schema types on this site — Article, Product, Event — a description is a soft recommendation, flagged with a warning if missing but not blocking the schema from generating. Course is a deliberate exception: Google's structured data guidelines list description as a required field for Course specifically, and omitting it can mean the schema does not qualify for Course rich results at all. This tool treats it as a hard requirement rather than the usual warning, to match that specific rule rather than applying the same soft default everywhere.
Why the provider is a nested Organization, not a plain string#
A course always belongs to some issuing body — a university, a bootcamp, an individual instructor — and schema.org models that as a full Organization object nested inside the course, with its own name and, optionally, a sameAs link back to the provider's own official site or profile. A flat "provider" string would tell a reader who offers the course but give a search engine nothing structured to connect it to.
The same rating honesty rule as Product schema#
Course ratings follow the identical logic to this site's Product Schema Generator: aggregateRating has to reflect genuine, verifiable reviews, never a number invented to show stars in search results. Rating value and review count are required together specifically so a single, unaccompanied made-up number cannot slip through — if there are no real reviews yet, the honest move is leaving both fields empty.