Educational websites have a structural SEO advantage over most content sites: the content is genuinely unique (interactive simulations are hard to scrape), and the topics map perfectly onto informational search intent. But search engines can only index what they understand. Structured data tells Google exactly what type of content you have, who it's for, and how it relates to other pages.
This project went from essentially zero structured data to four Schema.org types across 619 pages. Here's what we used and why.
The Four Schema Types That Matter Most
1. SoftwareApplication
Each simulation is a piece of interactive software that runs in the
browser.
SoftwareApplication unlocks rich results including a
Google Knowledge Panel-style snippet with rating stars, price (free),
and OS compatibility. It signals to Google that this isn't a blog post
— it's a tool.
{
"@context": "https://schema.org",
"@type": "SoftwareApplication",
"name": "3D Boids Flocking Simulation",
"applicationCategory": "EducationalApplication",
"operatingSystem": "Any (Web Browser)",
"offers": { "@type": "Offer", "price": "0", "priceCurrency": "USD" },
"description": "Reynolds flocking rules with 500+ agents in real-time 3D.",
"url": "https://www.mysimulator.uk/boids/"
}
2. BreadcrumbList
Breadcrumbs appear in Google search results under the page title,
replacing the raw URL. For deep pages like
/categories/quantum/ or /uk/boids/, this is
often the difference between a confusing URL and a trustworthy result
snippet that users click.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{ "@type": "ListItem", "position": 1, "name": "Home",
"item": "https://www.mysimulator.uk/" },
{ "@type": "ListItem", "position": 2, "name": "Categories",
"item": "https://www.mysimulator.uk/categories/" },
{ "@type": "ListItem", "position": 3, "name": "Quantum Physics",
"item": "https://www.mysimulator.uk/categories/quantum/" }
]
}
3. FAQPage
Category pages on this site include a "Frequently Asked Questions"
section. Marking it up as FAQPage can generate expanded
FAQ accordions directly in search results — a significant
click-through boost for long-tail queries like "how does quantum
tunnelling work simulation."
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "What is quantum tunnelling?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Quantum tunnelling is the phenomenon where a particle passes through..."
}
}
]
}
4. CollectionPage
Category index pages are logically a CollectionPage —
they list related items (simulations). Adding
hasPart entries links the individual simulations back to
the category in Google's understanding of the site structure. This
strengthens topical authority signals.
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"name": "Quantum Physics Simulations",
"url": "https://www.mysimulator.uk/categories/quantum/",
"hasPart": [
{ "@type": "SoftwareApplication", "name": "Quantum Tunnelling",
"url": "https://www.mysimulator.uk/quantum-tunnelling/" },
{ "@type": "SoftwareApplication", "name": "Bloch Sphere / Qubit",
"url": "https://www.mysimulator.uk/qubit/" }
]
}
What Actually Moved the Needle
After rolling out BreadcrumbList and
SoftwareApplication
across all 225 simulation pages, Google Search Console showed:
- Breadcrumb rich results appeared in ~85% of indexed simulation pages within 3 weeks
- Average CTR from search improved from 2.1% to 4.8% for category pages
- Hreflang errors dropped to zero after canonical + hreflang audit
The FAQPage markup on category pages is the biggest
pending opportunity — FAQ accordions in results are rare in our niche,
so the click-through uplift could be significant. Watch that space.
Common Mistakes to Avoid
-
Putting multiple JSON-LD blocks on one page with conflicting
types.
Each page should have one primary type and one supporting
BreadcrumbList. Don't put both
BlogPostingandSoftwareApplicationon the same simulation page. -
Self-referential og:url that doesn't match canonical.
If
og:url,canonical, and the JSON-LDurlfield all differ, Google picks one — often the wrong one. - Marking up content that isn't visible on the page. Google's guidelines are explicit: don't add FAQ markup for questions that don't appear in the HTML. That triggers a manual penalty.
- Forgetting hreflang for multilingual pages. Without the reciprocal hreflang pair (EN links to UK, UK links back to EN), both versions compete for the same keywords. Always add both directions.
Validate everything with Google's Rich Results Test and Schema.org Validator before deploying. Both run free and catch 95% of errors.