Overview

Organization and LocalBusiness describe entities rather than documents: the company behind the site and the physical places where it serves customers. Google uses them for logo and organization details, and for business details alongside local results. This card lists their fields. For document types such as Article, Product, and VideoObject, see schema-org-types; for the broader rules, see structured-data.

LocalBusiness: one block per physical location

Use LocalBusiness for brick-and-mortar businesses. Use a more specific subtype when one fits: Restaurant, Dentist, AutoRepair, etc.

FieldRequiredNotes
@typeyesLocalBusiness or a subtype.
nameyesBusiness name.
addressyesPostalAddress with all fields.
telephonerecommendedE.164 format preferred.
georecommendedGeoCoordinates with latitude, longitude.
openingHoursSpecificationrecommendedArray of OpeningHoursSpecification.
priceRangerecommended$, $$, etc.
imagerequired for some panelsStorefront or logo.
urlyesCanonical URL.

Ship one LocalBusiness block per location page, and keep its name, address, and phone identical to the Google Business Profile listing for that location. See local-seo.

Organization: declare once, reference by @id

Place the site-wide Organization entity once on the home page and reference it elsewhere by @id.

FieldRequiredNotes
@typeyesOrganization or Corporation.
nameyesLegal or operating name.
urlyesCanonical home URL.
logorecommendedSquare or near-square; minimum 112x112.
sameAsrecommendedArray of social profile URLs (LinkedIn, X, Wikipedia).
contactPointrecommendedContactPoint with telephone and contactType.

sameAs tells Google which official profiles belong to the entity; list every profile the organization controls and nothing it does not.

Reference the entity by @id instead of repeating it

Give the Organization block a stable @id (the home URL plus a fragment) and point publisher and author.worksFor at it from every other page. One definition avoids conflicting copies of the name, logo, and profiles.

{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Organization",
      "@id": "https://example.com/#org",
      "name": "Example Co",
      "url": "https://example.com/",
      "logo": "https://example.com/logo.png",
      "sameAs": ["https://www.linkedin.com/company/example"]
    },
    {
      "@type": "Article",
      "headline": "Release notes for May",
      "publisher": { "@id": "https://example.com/#org" }
    }
  ]
}

Common gotchas

  • Use the most specific LocalBusiness subtype that fits. Dentist says more than LocalBusiness.
  • Keep the markup consistent with the visible page. An address or opening hours that the page does not show, or that contradict it, count as misleading markup.
  • Use Organization for the publisher and LocalBusiness for each location; do not mark the home page of a multi-location brand as a single LocalBusiness.
  • Validate with Google’s Rich Results Test, not only the schema.org validator.