Bird
Raised Fist0
SEO Fundamentalsknowledge~30 mins

Structured data and schema markup in SEO Fundamentals - Mini Project: Build & Apply

Choose your learning style10 modes available
Structured Data and Schema Markup Basics
📖 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

  1. Step 1: Understand structured data's role

    Structured data provides extra information about the content to search engines.
  2. Step 2: Identify the main benefit

    This helps search engines display richer results, improving visibility.
  3. Final Answer:

    To help search engines understand the content better -> Option C
  4. 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

  1. Step 1: Identify correct script tag for JSON-LD

    JSON-LD uses a script tag with type "application/ld+json" to embed structured data.
  2. Step 2: Compare options

    <script type="application/ld+json"> matches the correct syntax; others are for different purposes.
  3. Final Answer:

    <script type="application/ld+json"> -> Option B
  4. 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?
{
  "@context": "https://schema.org",
  "@type": "Person",
  "name": "Alice Smith",
  "jobTitle": "Software Engineer"
}
medium
A. An organization
B. A product
C. An event
D. A person

Solution

  1. Step 1: Check the @type property

    The @type is "Person", indicating the entity is a person.
  2. Step 2: Confirm with other properties

    Properties like "name" and "jobTitle" support that this describes a person.
  3. Final Answer:

    A person -> Option D
  4. Quick Check:

    @type "Person" means entity is a person [OK]
Hint: Look for @type value to identify entity type [OK]
Common Mistakes:
  • Confusing 'Person' with 'Organization'
  • Ignoring the @type field
  • Assuming jobTitle means product
4. Identify the error in this schema markup snippet:
{
  "@context": "https://schema.org",
  "@type": "Event",
  "name": "Music Concert",
  "startDate": "2023-13-01T20:00"
}
medium
A. Invalid month value in startDate
B. Missing @context property
C. Wrong @type value
D. Missing name property

Solution

  1. Step 1: Check the startDate format

    The date "2023-13-01T20:00" has month "13", which is invalid (months go 01-12).
  2. Step 2: Verify other properties

    @context, @type, and name are present and correct.
  3. Final Answer:

    Invalid month value in startDate -> Option A
  4. 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

  1. Step 1: Identify the content type

    The content is a recipe with ingredients and cooking time, which matches the "Recipe" schema type.
  2. 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.
  3. Final Answer:

    Recipe -> Option A
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard