LEARNING OBJECTIVES ⌵
- Understand the inheritance and distinctions between global
Organizationand location-specificLocalBusiness. - Implement strict NAP (Name, Address, Phone) consistency across structured data and Google Business Profile.
- Model precise physical locations using
PostalAddressandGeoCoordinates(latitude and longitude). - Structure multi-shift business hours with
OpeningHoursSpecification. - Link social profiles, corporate entities, and Wikidata entries using
sameAsarrays.
🎬 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 underFoodEstablishment/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 structuredPostalAddressobject 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
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:
- Create a
<script type="application/ld+json">for a global cloud software company named"Vanguard Systems". - Use
@type: "Corporation". - 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:Personnamed"Dr. Raymond Vance"foundingDate:"2018-04-15"contactPoint: AContactPointwithtelephone:"+1-888-555-0900",contactType:"customer service", andavailableLanguage:["English", "Spanish"].sameAs: Array linking to official LinkedIn and GitHub URLs.
🏁 Starter Code Sandbox
⚠️ Common Pitfalls
- 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.
- 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.
- Using LocalBusiness on Purely Virtual Companies: Adding fake addresses or coworking spaces as
LocalBusinessfor a 100% remote software startup. If you do not meet customers in person at that location, useOrganizationorCorporation.
💡 Pro Tips
- 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. - Connect Knowledge Graph via Wikidata
sameAs: Add your company's Wikidata URL (https://www.wikidata.org/wiki/Q...) and Crunchbase profile to thesameAsarray. Google uses Wikidata as an authoritative primary source for Knowledge Graph node creation.
📌 Key Takeaways
- Use
Organization(orCorporation) for digital companies, brands, and parent entities. - Use
LocalBusiness(or specific subtypes likeRestaurant) 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.OpeningHoursSpecificationmodels complex, multi-shift operating hours.sameAsbinds social media, Wikipedia, and Wikidata profiles directly to your Knowledge Graph node.- --
Question 1 / 3
What is the international standard format recommended for telephone numbers in structured data?
Topic: HTML Fundamentals
Question 2 / 3
Which Schema.org type should be used for a 100% remote, cloud-only SaaS company with no physical storefront?
Topic: HTML Fundamentals
Question 3 / 3
What is the primary function of the sameAs property in Organization schema?
Topic: HTML Fundamentals