Skip to main content

Organization / LocalBusiness Schema Missing

Issue No: 57

Category: Structured Data & Rich Results

Issue type: Issue

Priority: CRITICAL

Description

The homepage or About page is missing Organization schema, and/or a site with a physical location is missing LocalBusiness schema. Without these, Google cannot recognise the brand as a named entity with a logo, contact details, and social profiles, and local businesses lose eligibility for the local 3-pack, Maps knowledge panels, and voice search results.

How do we capture it

  • Fetch homepage, About page, and Contact page HTML
  • Extract JSON-LD blocks and check for "@type": "Organization", "@type": "LocalBusiness", or a recognised subtype (Corporation, Restaurant, Store, MedicalClinic, etc.)
  • Detect visible physical address or phone number on any page
  • If Organization absent on homepage/About → trigger Organization rule
  • If physical address/phone detected but LocalBusiness absent → trigger LocalBusiness rule

What to store

StructuredDataAudit record with schemaType = Organization or schemaType = LocalBusiness, issueNumber = 57, plus StructuredDataField rows:

FieldTypeComment
has_logobooleanlogo property with an image URL present
has_same_asbooleansameAs array linking to social profiles
has_contact_pointbooleancontactPoint with phone or email present
has_founding_datebooleanfoundingDate declared
has_addressbooleanaddress with PostalAddress present
has_phonebooleantelephone present
has_opening_hoursbooleanopeningHoursSpecification present
has_geobooleangeo with lat/long coordinates present
detected_subtypestringSpecific LocalBusiness subtype detected

Core audit fields used: isPresent, hasName, hasUrl, hasId, hasImage, isServerSide, rawJson

Condition for trigger

Organization

  • Trigger Rule 1: Organization schema absent

    • Target Field: isPresent
    • Evaluation Logic: isPresent = false for Organization on homepage/About
    • Severity: CRITICAL
    • Diagnostic Message: "No Organization schema block found on homepage or About page."
  • Trigger Rule 2: Name missing

    • Target Field: hasName
    • Evaluation Logic: hasName = false
    • Diagnostic Message: "No Organization schema block found on homepage or About page."
  • Trigger Rule 2: Name missing

    • Target Field: hasName
    • Evaluation Logic: hasName = false
    • Severity: CRITICAL
    • Diagnostic Message: "Organization schema block exists but the name property is absent."
  • Trigger Rule 3: URL missing

    • Target Field: hasUrl
    • Evaluation Logic: hasUrl = false
    • Severity: IMPORTANT
    • Diagnostic Message: "Organization schema block exists but the url property is absent."
  • Trigger Rule 4: Logo missing

    • Target Field: has_logo
    • Evaluation Logic: has_logo = false
    • Severity: IMPORTANT
    • Diagnostic Message: "Organization schema has no logo property — prevents Knowledge Panel logo from appearing."

LocalBusiness

  • Trigger Rule 5: LocalBusiness schema absent on local site

    • Target Field: isPresent
    • Evaluation Logic: isPresent = false AND physical address is detectable on any page
    • Severity: CRITICAL
    • Diagnostic Message: "Physical address detected on page but no LocalBusiness schema found."
  • Trigger Rule 6: Address missing

    • Target Field: has_address
    • Evaluation Logic: has_address = false
    • Severity: IMPORTANT
    • Diagnostic Message: "LocalBusiness schema present but no PostalAddress declared."
  • Trigger Rule 7: Phone missing

    • Target Field: has_phone
    • Evaluation Logic: has_phone = false
    • Severity: STANDARD
    • Diagnostic Message: "LocalBusiness schema present but telephone is not declared."

Sources

Long description

Organization

Organization defines a company or brand as a formal entity. It powers Google's Knowledge Graph panel — the information box appearing to the right of branded search results showing logo, description, social links, and contact info.

The sameAs property links your schema entity to your LinkedIn, Twitter, Facebook, and other profiles, telling Google all these accounts belong to the same brand.

Full example:

{
"@context": "https://schema.org",
"@type": "Organization",
"@id": "https://www.example.com/#organization",
"name": "Example Corp",
"url": "https://www.example.com",
"logo": "https://www.example.com/logo.png",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-555-0100",
"contactType": "customer support"
},
"sameAs": [
"https://linkedin.com/company/example",
"https://twitter.com/example"
"@type": "Organization",
"@id": "https://www.example.com/#organization",
"name": "Example Corp",
"url": "https://www.example.com",
"logo": "https://www.example.com/logo.png",
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+1-800-555-0100",
"contactType": "customer support"
},
"sameAs": [
"https://linkedin.com/company/example",
"https://twitter.com/example"
]
}

Without it: No Knowledge Panel, no logo in SERPs, weaker brand entity for AI systems.

LocalBusiness

LocalBusiness extends Organization with physical location context. It is the foundation for local SEO, directly influencing the local 3-pack, Google Maps knowledge panel, and voice search ("find a coffee shop near me").

Common subtypes: Restaurant, Store, MedicalClinic, LegalService, Hotel, AutomotiveBusiness, FinancialService, EducationalOrganization.

Example:

{
"@context": "https://schema.org",
"@type": "Restaurant",
"name": "The Example Bistro",
"url": "https://www.example.com",
"image": "https://www.example.com/photo.jpg",
"telephone": "+1-800-555-0199",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Austin",
"addressRegion": "TX",
"postalCode": "78701",
"addressCountry": "US"
},
"geo": { "@type": "GeoCoordinates", "latitude": 30.2672, "longitude": -97.7431 },
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday"],
"opens": "11:00",
"closes": "22:00"
}
],
"sameAs": ["https://maps.google.com/?cid=YOUR_ID", "https://www.yelp.com/biz/example"]
}

How to Fix

  1. Add Organization JSON-LD to the homepage <head> for all sites
  2. For sites with a physical location, use the most specific LocalBusiness subtype (e.g. Restaurant, not generic LocalBusiness)
  3. Include logo as an absolute URL to a real, accessible image
  4. Add sameAs with all official social profiles and directories
  5. Use @id to make the entity referenceable from Article and other schema types
  6. For LocalBusiness: add full PostalAddress, telephone, openingHoursSpecification, and geo coordinates
  7. Keep openingHoursSpecification current — stale hours are worse than none
  8. Validate at Rich Results Test