Most structured data is about a page. Organization schema markup is about the entity behind the whole site — the company name, the logo, the contact routes, the profiles that belong to you elsewhere on the web. It rarely changes how a listing looks, which is why people skip it, and it is one of the more durable pieces of markup you can add.
The value is entity understanding. Google maintains a model of who you are as an organization, and this markup is a first-party statement feeding that model. Knowledge panel data, brand disambiguation between similarly named companies, and the logo that appears next to your results all draw on it.
Where it belongs and what it needs
Put one Organization block on your homepage. Some teams add it sitewide from a global template, which is acceptable as long as it is identical on every page and does not conflict with page-level markup. What you must avoid is two different Organization blocks — one from a theme, one from a plugin — declaring different names or logos on the same URL.
Google’s requirements are light compared to Product or Video. The properties that carry weight:
- name — your official business name, matching what appears on the site and in your other listings.
- url — the canonical homepage URL, with the protocol and the correct www or non-www form.
- logo — a crawlable image URL. Google uses this for the logo in search results and knowledge panels.
- sameAs — an array of URLs for profiles that unambiguously belong to you.
- contactPoint — optional but useful for support or sales numbers with declared languages and service areas.
A working example
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Example Outdoors",
"legalName": "Example Outdoors Pte Ltd",
"url": "https://example.com",
"logo": "https://example.com/img/logo-600.png",
"foundingDate": "2014-06-01",
"sameAs": [
"https://www.linkedin.com/company/example-outdoors",
"https://www.crunchbase.com/organization/example-outdoors",
"https://www.youtube.com/@exampleoutdoors"
],
"contactPoint": {
"@type": "ContactPoint",
"telephone": "+65-6555-0100",
"contactType": "customer support",
"areaServed": "SG",
"availableLanguage": ["English", "Mandarin"]
}
}
</script>
JSON-LD in the <head> or <body> both work — Google reads either — so choose based on what your template makes easy to maintain. Generate it server-side rather than injecting it with client-side JavaScript; Google renders pages, but adding a rendering dependency to your most stable markup buys you nothing.
Getting sameAs right
The sameAs property is where this markup earns most of its value and where it is most often misused. It declares “these other URLs refer to the same entity as this one,” which is exactly the signal Google needs to connect scattered mentions of your brand into one entity.
Three rules keep it honest. Only list profiles you actually own and control — a competitor’s page, an industry directory you have no relationship with, or a Wikipedia article about a different company with a similar name will not help and may confuse things. Prefer authoritative, verifiable profiles: LinkedIn, Crunchbase, Wikipedia and Wikidata where they exist, official app store pages, and your primary social accounts. And keep it short. Ten meaningful profiles beat forty directory listings padded in to look thorough.
Do not use sameAs as a link-building tactic. These are not links in the ranking sense; they are identity assertions, and treating them as a link scheme misunderstands the mechanism entirely.
Organization versus LocalBusiness
If your business serves customers at a physical location or within a defined service area, use a LocalBusiness subtype instead of the generic Organization. LocalBusiness inherits everything Organization has and adds properties that matter locally.
Pick the most specific subtype that fits — Restaurant, Dentist, Plumber, HomeAndConstructionBusiness, and dozens more exist. Specificity helps. Then add the properties that only make sense for a physical presence: a full address as a PostalAddress, geo coordinates, openingHoursSpecification, priceRange, and telephone.
Two things to keep straight. First, NAP consistency still matters — the name, address, and phone in your markup should match your Google Business Profile and your major directory listings exactly. Discrepancies undermine the confidence the markup was meant to build. Second, multi-location businesses need one LocalBusiness block per location page, not a single block listing every branch on the homepage.
What it will and will not produce
Be realistic about the output. Organization markup does not generate a rich snippet in the way Product or Event does. You will not paste it in and watch your listing expand.
What it does is feed entity understanding, which surfaces in less direct ways: the logo shown beside your results, knowledge panel content, and Google’s ability to tell your brand apart from a similarly named business in another country. Even correctly implemented, a knowledge panel is not guaranteed — Google decides what to show and when, and rich result eligibility is never a promise of display. Organization markup improves the odds and the accuracy of what appears; it does not command it.
The compliance rules that apply here too
Structured data must match verifiable reality. An organization name that differs from your legal and trading name, a founding date invented for credibility, or contact numbers that do not connect are all mismatches between markup and truth, and structured data that misrepresents the page or the entity is a spam violation.
One trap deserves specific mention. Adding an aggregateRating to your own Organization markup — a 4.9-star company rating assembled from testimonials on your own site — is exactly the self-serving review markup Google prohibits. You cannot publish review or rating markup about your own business on your own site and expect it to display. Several plugins offer this as a feature. Turn it off. The penalty for structured data spam is loss of rich result eligibility across the whole site, which is a steep price for a rating that was never going to show.
Validating and monitoring
Google’s Structured Data Testing Tool was retired, so ignore tutorials pointing there. For Organization markup the workflow is slightly different from feature-driven types, because there is often no rich result to test for.
- Run the schema.org validator first. It checks your markup against the full vocabulary and shows the parsed object tree, which is what you need when no Google feature applies.
- Run Google’s Rich Results Test to confirm the page renders and the markup is detected. Do not be alarmed if it reports no eligible rich results — Organization frequently produces none, and that is expected.
- Watch Search Console’s Enhancements reports for anything Google does flag, and use the Validate Fix flow after changes. Reporting lags by days to weeks depending on crawl frequency.
- View source and search for
application/ld+jsonto confirm you have exactly one Organization block, not two from competing plugins.
A ten-minute job worth doing
Organization markup is the least glamorous structured data you will implement and among the most stable. Write it once, get the name and logo and profiles right, and it keeps working through redesigns and content rewrites. Review it when you rebrand, change your legal entity, or add a significant new profile — otherwise leave it alone.
It sits on top of technical health rather than replacing it. If your homepage is slow, canonicalized inconsistently, or duplicated across www and non-www variants, fix that first. SEO Rocket’s technical audits handle that layer — an instant quick scan of around 25 pages or a deep full-site crawl verified past 900 pages, with the actual titles, URLs, and H1 text attached to each issue, plus PageSpeed and Core Web Vitals from real-user field data. It does not generate your schema, which is deliberate: what your Organization block says about you is a decision that should be made by a person.