Chapter 64: Structured Data & Schema.org

Organization & LocalBusiness Schema

Establish brand authority in Google Knowledge Panels and dominate Google Maps Local 3-Pack results with Schema.org Organization and LocalBusiness schemas.

LEARNING OBJECTIVES
  • Understand the inheritance and distinctions between global Organization and location-specific LocalBusiness.
  • Implement strict NAP (Name, Address, Phone) consistency across structured data and Google Business Profile.
  • Model precise physical locations using PostalAddress and GeoCoordinates (latitude and longitude).
  • Structure multi-shift business hours with OpeningHoursSpecification.
  • Link social profiles, corporate entities, and Wikidata entries using sameAs arrays.
🎬 INTERACTIVE VISUAL PIPELINE Core Architecture Simulation
🌐
1. Input
Directives & Tags
⚙️
2. Parse
Tokenizer & AST
🌳
3. Layout
Box Model & Flow
🎨
4. Render
GPU Paint & Composite
PHASE 1: INPUT & DIRECTIVES
Browser receives declarative markup stream, parsing tag tokens and initializing component state.

📖 The Mental Model & Story (Intuitive Foundation)

Imagine an international corporation like Nike, Inc. versus a local franchise store: Nike San Francisco on Post Street.

  • The Global Corporation (Organization): Has a global headquarters, a CEO, thousands of employees, a stock ticker symbol, and verified social media accounts. But it doesn't have a single set of "doors that open at 9:00 AM on Saturday" for customers to walk in.
  • The Local Store (LocalBusiness): Is a physical storefront with GPS coordinates on the earth's surface. It has a front door, a local telephone line, physical parking, and specific opening and closing hours.
+-------------------------------------------------------------------------------+
|                       GOOGLE KNOWLEDGE PANEL & LOCAL CARD                     |
|                                                                               |
|  +------------------------+  Apex Coffee Roasters                             |
|  |                        |  Coffee shop in Seattle, Washington               |
|  |     [Photo of Shop]    |  ------------------------------------------------ |
|  |                        |  Address: 1200 Pike St, Seattle, WA 98101         |
|  +------------------------+  Hours: Open ⋅ Closes 6:00 PM                     |
|                              Phone: +1 206-555-0142                           |
|  [ Website ]  [ Directions ] [ Save ]                                         |
+-------------------------------------------------------------------------------+

If you operate a global enterprise or SaaS platform, you implement Organization. If you operate a physical venue, clinic, restaurant, or retail store, you implement LocalBusiness.


Technical Deep Dive & Specifications

Schema.org Organization vs LocalBusiness Hierarchy

LocalBusiness is a specialized child of both Organization and Place.

Thing
 ├── Organization
 │    ├── Corporation
 │    ├── EducationalOrganization
 │    └── LocalBusiness (Inherits from both Organization & Place)
 │         ├── FoodEstablishment -> Restaurant, CafeOrCoffeeShop
 │         ├── MedicalBusiness   -> Physician, Dentist
 │         ├── Store             -> AutoPartsStore, ClothingStore
 │         └── ProfessionalService
 └── Place
      └── LocalBusiness

Technical Property Matrix

Property Schema Type Technical Specifications & Standards
name Text Official trading or corporate legal name.
url URL Canonical homepage URL (https://example.com).
logo ImageObject / URL High-res brand logo (min 112x112px, vector SVG or transparent PNG/JPG).
telephone Text E.164 international phone standard (+1-206-555-0100).
address PostalAddress Nested streetAddress, addressLocality, addressRegion, postalCode, addressCountry (ISO 3166-1 alpha-2).
geo GeoCoordinates WGS 84 GPS coordinates: latitude (Float) and longitude (Float).
openingHoursSpecification OpeningHoursSpecification Structured days (Monday, Tuesday) and 24-hour times (08:00, 18:00).
sameAs Array<URL> Official social profiles (LinkedIn, X, GitHub, YouTube), Wikipedia, Wikidata URLs.
priceRange Text Relative pricing indicator ($, $$, $$$, $$$$).

Modeling Opening Hours Specifications

Using the structured OpeningHoursSpecification allows defining split shifts (e.g., open for lunch, closed in afternoon, open for dinner):

+-------------------------------------------------------------------------------+
|                       OPENING HOURS SHIFT MODELING                            |
|                                                                               |
|   Monday - Friday:                                                            |
|   Shift 1: 08:00 - 14:00 (Lunch)                                              |
|   Shift 2: 17:00 - 22:00 (Dinner)                                             |
|                                                                               |
|   Saturday:                                                                   |
|   Shift 1: 09:00 - 23:00                                                      |
+-------------------------------------------------------------------------------+

💻 Interactive Code Playground

Starter Code

Line-by-Line Code Breakdown

  • Line 8 ("@type": "CafeOrCoffeeShop"): Uses the most specific subtype under FoodEstablishment / LocalBusiness.
  • Line 9 ("@id"): Provides a globally unique URI identifier for this specific store node in the entity graph.
  • Line 15 ("telephone"): Formatted according to E.164 international notation (+1-206-555-0142).
  • Line 19–26 ("address"): Fully structured PostalAddress object using ISO 3166-1 two-letter country code ("US").
  • Line 27–31 ("geo"): Precise GPS latitude and longitude numbers for Google Maps pinning.
  • Line 32–53 ("openingHoursSpecification"): Two distinct schedule objects mapping weekday early mornings and weekend hours.
  • Line 54–58 ("sameAs"): Social media profile links connecting the local entity to official social accounts.

Expected Browser Render Output


SYS: ACTIVE
HULL: 98%
CORE: STABLE
NET: ONLINE
HTML STARSHIP CODE TERMINAL playground.html
LIVE RENDER & DIAGNOSTICS CORE TEMP: 45°C
INSPECTING DOM: VALID
TAGS: SCANNING...
Apex Coffee Roasters
Artisan specialty coffee roasted on-site in Capitol Hill.

1200 Pike Street
Seattle, WA 98101
Phone: +1 (206) 555-0142

Hours of Operation
• Mon – Fri: 6:30 AM – 6:00 PM
• Sat – Sun: 7:30 AM – 7:00 PM

🏋️ Hands-On Exercise

🎯 The Challenge: Build a Global SaaS Organization Schema

Instructions:

  1. Create a <script type="application/ld+json"> for a global cloud software company named "Vanguard Systems".
  2. Use @type: "Corporation".
  3. Include the following properties:
    • name: "Vanguard Systems Inc."
    • legalName: "Vanguard Systems Technologies, Inc."
    • url: "https://www.vanguardsystems.example"
    • logo: "https://www.vanguardsystems.example/assets/vanguard-logo.png"
    • founder: Person named "Dr. Raymond Vance"
    • foundingDate: "2018-04-15"
    • contactPoint: A ContactPoint with telephone: "+1-888-555-0900", contactType: "customer service", and availableLanguage: ["English", "Spanish"].
    • sameAs: Array linking to official LinkedIn and GitHub URLs.

🏁 Starter Code Sandbox

SYS: ACTIVE
HULL: 98%
CORE: STABLE
NET: ONLINE
STARTER CODE SANDBOX exercise.html
LIVE RENDER & DIAGNOSTICS CORE TEMP: 45°C
INSPECTING DOM: VALID
TAGS: SCANNING...

⚠️ Common Pitfalls

  1. NAP (Name, Address, Phone) Inconsistencies: Discrepancies between your JSON-LD address/phone and what is registered in your Google Business Profile (e.g., using "Suite 400" in Google Business Profile but "Ste #4" in schema). NAP must match character-for-character to maximize local ranking signals.
  2. Inverted Latitude and Longitude: Mixing up GPS coordinates (e.g., putting longitude into latitude). Ensure latitude is between -90 and +90, and longitude between -180 and +180.
  3. Using LocalBusiness on Purely Virtual Companies: Adding fake addresses or coworking spaces as LocalBusiness for a 100% remote software startup. If you do not meet customers in person at that location, use Organization or Corporation.

💡 Pro Tips

  1. Use Specific Schema Subtypes: Never stop at generic @type: "LocalBusiness" or "Organization" when a more specific class exists (e.g., Dentist, AutoRepair, RealEstateAgent, Corporation). Specific subtypes unlock specialized rich attributes.
  2. Connect Knowledge Graph via Wikidata sameAs: Add your company's Wikidata URL (https://www.wikidata.org/wiki/Q...) and Crunchbase profile to the sameAs array. Google uses Wikidata as an authoritative primary source for Knowledge Graph node creation.

📌 Key Takeaways

  • Use Organization (or Corporation) for digital companies, brands, and parent entities.
  • Use LocalBusiness (or specific subtypes like Restaurant) for physical brick-and-mortar storefronts.
  • Strict NAP consistency (Name, Address, Phone in E.164 format) is vital for Local 3-Pack rankings.
  • GeoCoordinates (latitude, longitude) pinpoint exact Google Maps coordinates.
  • OpeningHoursSpecification models complex, multi-shift operating hours.
  • sameAs binds social media, Wikipedia, and Wikidata profiles directly to your Knowledge Graph node.
  • --
⭐ LEARN: HTML 🌟 ⚔️ QUIZ BATTLE ARENA // ACTIVE
3x
STREAK!
BONUS ACTIVE
COMBO
? Question 1 / 3

What is the international standard format recommended for telephone numbers in structured data?

Question 1 / 3 Topic: HTML Fundamentals
00:45 REMAINING
XP REWARD
+250 XP
3x
STREAK!
BONUS ACTIVE
COMBO
? Question 2 / 3

Which Schema.org type should be used for a 100% remote, cloud-only SaaS company with no physical storefront?

Question 2 / 3 Topic: HTML Fundamentals
00:45 REMAINING
XP REWARD
+250 XP
3x
STREAK!
BONUS ACTIVE
COMBO
? Question 3 / 3

What is the primary function of the sameAs property in Organization schema?

Question 3 / 3 Topic: HTML Fundamentals
00:45 REMAINING
XP REWARD
+250 XP