📖 Scenario: You are creating a simple webpage for a local bakery. You want search engines to understand important details about your bakery, like its name, address, and opening hours, so your site appears better in search results.
🎯 Goal: Build a basic JSON-LD structured data snippet using schema.org vocabulary to describe the bakery's key information.
📋 What You'll Learn
Create a JSON object with bakery details using schema.org vocabulary
Add a context and type to the JSON-LD data
Include bakery name, address, and opening hours
Complete the JSON-LD script tag for embedding in HTML
💡 Why This Matters
🌍 Real World
Structured data helps search engines understand your website content better, improving how your site appears in search results with rich snippets.
💼 Career
SEO specialists and web developers use schema markup to boost website visibility and user engagement by enhancing search listings.
Progress0 / 4 steps
1
Create the bakery information object
Create a variable called bakery_info that is a dictionary with these exact entries: "name": "Sweet Treats Bakery", "address": "123 Cookie Lane, Candy City", and "openingHours": "Mo-Fr 08:00-18:00".
SEO Fundamentals
Hint
Use a dictionary with keys exactly as "name", "address", and "openingHours".
2
Add JSON-LD context and type
Create a variable called structured_data that is a dictionary containing "@context" set to "https://schema.org" and "@type" set to "Bakery". Also include all entries from bakery_info inside this dictionary.
SEO Fundamentals
Hint
Use keys "@context" and "@type" exactly, and copy values from bakery_info.
3
Convert structured data to JSON string
Import the json module and create a variable called json_ld by converting structured_data to a JSON string using json.dumps().
SEO Fundamentals
Hint
Use import json and json.dumps() to convert the dictionary to a JSON string.
4
Create the final JSON-LD script tag
Create a variable called script_tag that is a string containing a <script> tag with type="application/ld+json" and the JSON-LD data inside it using the json_ld variable.
SEO Fundamentals
Hint
Use an f-string to embed json_ld inside the script tag string.
Practice
(1/5)
1. What is the main purpose of using structured data on a webpage?
easy
A. To hide content from visitors
B. To change the website's background color
C. To help search engines understand the content better
D. To make the website load faster
Solution
Step 1: Understand structured data's role
Structured data provides extra information about the content to search engines.
Step 2: Identify the main benefit
This helps search engines display richer results, improving visibility.
Final Answer:
To help search engines understand the content better -> Option C
Quick Check:
Structured data = better search understanding [OK]
Hint: Structured data helps search engines, not design [OK]
Common Mistakes:
Confusing structured data with website design
Thinking it speeds up the website
Believing it hides content
2. Which of the following is the correct way to start a JSON-LD script for schema markup in HTML?
easy
A. <script type="text/javascript">
B. <script type="application/ld+json">
C. <style type="application/ld+json">
D. <link rel="schema">
Solution
Step 1: Identify correct script tag for JSON-LD
JSON-LD uses a script tag with type "application/ld+json" to embed structured data.
Step 2: Compare options
<script type="application/ld+json"> matches the correct syntax; others are for different purposes.
Final Answer:
<script type="application/ld+json"> -> Option B
Quick Check:
JSON-LD script tag = <script type="application/ld+json"> [OK]
Hint: JSON-LD always uses script with type application/ld+json [OK]
Common Mistakes:
Using text/javascript instead of application/ld+json
Using style or link tags incorrectly
Missing quotes around type attribute
3. Given this JSON-LD snippet, what type of entity is being described?
The date "2023-13-01T20:00" has month "13", which is invalid (months go 01-12).
Step 2: Verify other properties
@context, @type, and name are present and correct.
Final Answer:
Invalid month value in startDate -> Option A
Quick Check:
Month must be 01-12 in dates [OK]
Hint: Check date values carefully for valid month/day [OK]
Common Mistakes:
Ignoring invalid date formats
Assuming @context or name is missing
Confusing @type values
5. You want to add structured data for a recipe that includes a name, ingredients, and cooking time. Which schema type should you use to best represent this information?
hard
A. Recipe
B. Product
C. Article
D. Event
Solution
Step 1: Identify the content type
The content is a recipe with ingredients and cooking time, which matches the "Recipe" schema type.
Step 2: Match schema type to content
"Product" is for items sold, "Article" is for written content, and "Event" is for happenings, so they don't fit.
Final Answer:
Recipe -> Option A
Quick Check:
Recipe schema = recipe content [OK]
Hint: Use schema type matching your content topic [OK]
Common Mistakes:
Using Product or Event schema for recipes
Confusing Article with Recipe schema
Not including cooking time in Recipe schema
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.