Search your company name on Google. If a knowledge panel shows up on the right — logo, description, social links, founding date — that's Google's entity understanding of your organization. If it doesn't, or if it shows wrong information, structured data is one of the main ways to influence it.
Organization schema is different from most other schema types because it doesn't produce a rich result in the traditional sense. No stars, no accordion, no price display. What it does instead is establish your organization as a known, verified entity in Google's knowledge graph. That's less flashy but arguably more durable — it affects brand search appearance, trust signals, and how Google interprets everything else on your site.
What's covered here: the right subtype to use, the sameAs field which most implementations skip, how to link your organization to your website entity, and code for Next.js, React, and WordPress.
What Is Organization Schema Markup?
Organization is a schema.org type that describes a legal or recognized entity — a company, nonprofit, educational institution, government body, or any structured group. You implement it as JSON-LD in the <head> of your site, typically on the homepage or a dedicated About page.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Corp",
"url": "https://acmecorp.com"
}
Unlike most schema types that describe individual pages, Organization schema describes the entity behind the site. You implement it once — usually on the homepage — and it applies globally to your brand's presence in Google's understanding.
Organization Subtypes: Which One to Use
Organization is the base type with many subtypes. Choosing the most specific applicable subtype signals more accurately what kind of entity you are:
| Type | Use when |
|---|---|
Organization |
General catch-all — holding companies, nonprofits, clubs |
Corporation |
Incorporated for-profit companies (LLC, Inc., Ltd.) |
LocalBusiness |
Physical location open to customers — has its own rich results (separate guide) |
EducationalOrganization |
Schools, universities, online education platforms |
GovernmentOrganization |
Government agencies and bodies |
MedicalOrganization |
Hospitals, clinics, healthcare providers |
NGO |
Non-governmental organizations |
NewsMediaOrganization |
News publishers and media companies |
SportsOrganization |
Sports teams, leagues, clubs |
For most software companies, SaaS products, and agencies: use Corporation.
For physical service businesses (restaurant, plumber, dentist): use LocalBusiness — it has dedicated rich results and its own field set covered in the next guide in this series.
When unsure: Organization is always valid. It's the safe choice.
What Organization Schema Actually Does
It doesn't generate a rich result. No visual enhancement in the snippet, no expanded display in search. If you're expecting something to show up differently in search after adding it — that's not how this one works.
The effect is more structural. When Google has consistent entity signals about your organization — from your website's schema, your social profiles, directories, press coverage — it builds a knowledge graph entry for you. That feeds into knowledge panel generation for branded searches, how your logo gets attributed in article results, and the trust layer that affects YMYL content evaluation.
The sameAs field specifically is the mechanism Google uses to merge separate web signals into a single entity. Without it, "Acme Dev on LinkedIn" and "acmedev.com" might as well be different things to the crawler. With sameAs linking them, they're confirmed as the same entity — and that confidence accumulates.
For sites in finance, health, legal, or any other area where E-E-A-T matters, a well-structured Organization schema is one of the few direct ways to communicate organizational trustworthiness through structured data rather than just hoping Google infers it from content signals.
The Complete Organization Schema
{
"@context": "https://schema.org",
"@type": "Corporation",
"name": "Acme Development Ltd.",
"legalName": "Acme Development Limited",
"alternateName": "AcmeDev",
"description": "We build fast, accessible web applications for scale-up teams. Specializing in React, Next.js, and Node.js architecture.",
"url": "https://acmedev.com",
"logo": {
"@type": "ImageObject",
"url": "https://acmedev.com/logo.png",
"width": 400,
"height": 100,
"caption": "Acme Development logo"
},
"image": "https://acmedev.com/seo/og.jpg",
"email": "hello@acmedev.com",
"telephone": "+1-555-000-1234",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Tech Street",
"addressLocality": "San Francisco",
"addressRegion": "CA",
"postalCode": "94105",
"addressCountry": "US"
},
"foundingDate": "2019",
"numberOfEmployees": {
"@type": "QuantitativeValue",
"value": 12
},
"areaServed": "Worldwide",
"slogan": "Ship faster, break less.",
"contactPoint": [
{
"@type": "ContactPoint",
"telephone": "+1-555-000-1234",
"contactType": "customer support",
"availableLanguage": ["English"],
"hoursAvailable": {
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
}
}
],
"sameAs": [
"https://linkedin.com/company/acmedev",
"https://github.com/acmedev",
"https://twitter.com/acmedev",
"https://www.crunchbase.com/organization/acmedev",
"https://www.wikidata.org/wiki/Q12345678"
]
}
Field Reference: Required, Recommended, and Optional
| Field | Type | Priority | Notes |
|---|---|---|---|
name |
Text | Required | Legal or widely-known trading name |
url |
URL | Required | Your canonical homepage URL |
logo |
ImageObject | Strongly recommended | PNG/SVG, min 112×112px for knowledge panel |
sameAs |
Array of URLs | Strongly recommended | Social and directory profiles — key for entity disambiguation |
description |
Text | Recommended | 100–300 characters, what you do and for whom |
email |
Text | Recommended | Public contact email |
telephone |
Text | Recommended | E.164 format: "+15550001234" |
address |
PostalAddress | Recommended | Required for LocalBusiness; optional for fully remote orgs |
foundingDate |
Date or Year | Recommended | Year as "2019" or full date "2019-03-15" |
legalName |
Text | Optional | Full registered legal name if different from trading name |
alternateName |
Text | Optional | Common abbreviations or alternative names |
contactPoint |
ContactPoint | Optional | Structured contact info with type and hours |
numberOfEmployees |
QuantitativeValue | Optional | Signals company size |
areaServed |
Text or Place | Optional | Geographic scope of service |
slogan |
Text | Optional | Brand tagline — appears in some knowledge panel layouts |
The sameAs Array: The Most Important Field You're Probably Skipping
sameAs is where most Organization schema implementations fall short. It's also where most of the SEO value lives.
The purpose of sameAs is entity disambiguation. When Google finds "Acme Development" mentioned on five different websites, it needs to know these all refer to the same organization. sameAs links your entity to its established profiles, giving Google a confidence map of your identity across the web.
Profiles to include (in priority order):
"sameAs": [
"https://www.linkedin.com/company/your-company",
"https://github.com/your-org",
"https://twitter.com/your-handle",
"https://www.crunchbase.com/organization/your-company",
"https://www.youtube.com/@your-channel",
"https://www.facebook.com/your-page",
"https://www.wikidata.org/wiki/Q12345678",
"https://en.wikipedia.org/wiki/Your_Company"
]
The last two — Wikidata and Wikipedia — are the strongest authority signals Google uses for knowledge panel generation. If your organization has a Wikipedia or Wikidata entry, always include it. If it doesn't, focus on the professional directories (LinkedIn, Crunchbase) first.
Rules for sameAs URLs:
- Use the profile's canonical URL, not a redirect or shortened link
- All URLs must be publicly accessible
- Don't include URLs that require login to view the profile
- Each URL should point to a page that clearly and primarily represents your organization
Linking Organization to Your Site: WebSite Schema
Organization schema is most effective when combined with WebSite schema on the same page. Together they create a complete brand entity: what the organization is, and what website represents it.
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "Acme Development",
"url": "https://acmedev.com",
"potentialAction": {
"@type": "SearchAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://acmedev.com/search?q={search_term_string}"
},
"query-input": "required name=search_term_string"
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Corporation",
"name": "Acme Development Ltd.",
"url": "https://acmedev.com",
"logo": {
"@type": "ImageObject",
"url": "https://acmedev.com/logo.png"
},
"sameAs": [...]
}
</script>
Two separate script blocks on the same page — one for the site entity, one for the organization entity. Include both on your homepage.
Implementation in Next.js (App Router)
Organization schema belongs on the homepage and/or About page. In Next.js App Router, add it to the root layout.tsx if you want it site-wide, or to app/page.tsx for homepage-only:
// app/page.tsx (or app/layout.tsx for site-wide)
export default function HomePage() {
const organizationSchema = {
'@context': 'https://schema.org',
'@type': 'Corporation',
name: 'Acme Development Ltd.',
url: 'https://acmedev.com',
logo: {
'@type': 'ImageObject',
url: 'https://acmedev.com/logo.png',
width: 400,
height: 100,
},
description: 'We build fast, accessible web applications for scale-up teams.',
email: 'hello@acmedev.com',
foundingDate: '2019',
sameAs: [
'https://linkedin.com/company/acmedev',
'https://github.com/acmedev',
'https://twitter.com/acmedev',
],
}
const websiteSchema = {
'@context': 'https://schema.org',
'@type': 'WebSite',
name: 'Acme Development',
url: 'https://acmedev.com',
}
return (
<>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(organizationSchema) }}
/>
<script
type="application/ld+json"
dangerouslySetInnerHTML={{ __html: JSON.stringify(websiteSchema) }}
/>
{/* page content */}
</>
)
}
Place Organization schema in layout.tsx only if you want it present on every page. For most sites, it's more appropriate on the homepage and About page specifically — those are the pages Google associates most strongly with organizational identity.
Implementation in React (with react-helmet-async)
import { Helmet } from 'react-helmet-async'
const ORGANIZATION_SCHEMA = {
'@context': 'https://schema.org',
'@type': 'Corporation',
name: 'Acme Development Ltd.',
url: 'https://acmedev.com',
logo: {
'@type': 'ImageObject',
url: 'https://acmedev.com/logo.png',
width: 400,
height: 100,
},
description: 'We build fast, accessible web applications for scale-up teams.',
foundingDate: '2019',
sameAs: [
'https://linkedin.com/company/acmedev',
'https://github.com/acmedev',
],
}
function HomePage() {
return (
<>
<Helmet>
<script type="application/ld+json">
{JSON.stringify(ORGANIZATION_SCHEMA)}
</script>
</Helmet>
{/* page content */}
</>
)
}
Define ORGANIZATION_SCHEMA as a module-level constant — it doesn't change between renders and doesn't need to be inside the component function.
Implementation in WordPress
Add to functions.php, targeting the homepage and About page:
function add_organization_schema() {
if ( ! is_front_page() && ! is_page( 'about' ) ) return;
$schema = [
'@context' => 'https://schema.org',
'@type' => 'Corporation',
'name' => get_bloginfo( 'name' ),
'description' => get_bloginfo( 'description' ),
'url' => home_url( '/' ),
'logo' => [
'@type' => 'ImageObject',
'url' => get_site_icon_url( 512 ) ?: get_header_image(),
],
'email' => 'hello@yoursite.com',
'foundingDate' => '2020',
'sameAs' => [
'https://linkedin.com/company/yourcompany',
'https://github.com/yourorg',
'https://twitter.com/yourhandle',
],
];
echo '<script type="application/ld+json">' . wp_json_encode( $schema ) . '</script>';
}
add_action( 'wp_head', 'add_organization_schema' );
Logo Requirements for Knowledge Panel
Google has specific requirements for the organization logo image. Using an undersized or incorrectly formatted logo won't cause errors, but it reduces the chance of your logo appearing in search results and knowledge panels:
| Requirement | Value |
|---|---|
| Minimum size | 112×112 pixels |
| Maximum size | 1000×1000 pixels recommended |
| Aspect ratio | Ideally square (1:1) for knowledge panel; rectangular accepted |
| Format | PNG, JPG, SVG |
| Background | Must be visible on white background — avoid transparent PNG with dark logo only |
| Crawlable | Must be accessible without auth |
The image should show the logo clearly, with minimal padding. Google uses this as the brand image in knowledge panels, so a tight crop on the actual logo mark works better than a wide banner image.
The 5 Most Common Organization Schema Mistakes
1. Missing or incomplete sameAs
The most common omission. Without sameAs, Google has no cross-reference to verify your entity. Even linking just LinkedIn and GitHub is significantly better than no sameAs at all.
2. Using Organization when LocalBusiness is more appropriate
If you have a physical location where customers visit — a store, office, clinic, restaurant — LocalBusiness is the correct type. It enables dedicated rich results (address, hours, map pin) that Organization does not. Using the wrong type means leaving those rich results on the table.
3. name mismatch across pages and profiles
Your name in Organization schema should match exactly what's on your LinkedIn Company Page, Crunchbase, Google Business Profile, and other authoritative sources. Variations ("Acme Dev" vs "Acme Development" vs "Acme Development Ltd.") confuse Google's entity matching. Pick one canonical name and use it consistently everywhere.
4. Putting Organization schema on every page
Organization schema describes the entity behind the site. It belongs on the homepage and About page. Adding it to every product page, blog post, and tool page isn't harmful per se, but it's redundant and dilutes the clarity of what each page is about.
5. telephone not in E.164 format
// Wrong — Google may not parse these correctly
"telephone": "555-000-1234"
"telephone": "(555) 000-1234"
// Correct — E.164 international format
"telephone": "+15550001234"
How to Get (or Influence) a Google Knowledge Panel
A Knowledge Panel is not something you directly request or create — Google generates it based on entity signals it collects from across the web. Organization schema is one of those signals. Others include:
- Google Business Profile — the most direct signal for local organizations
- Wikipedia / Wikidata entry — the strongest authority signal; if you're eligible, create one
- Crunchbase profile — for companies and startups
- Consistent NAP (Name, Address, Phone) across directory sites
- Press mentions — third-party editorial coverage linking to your site
- Verified social profiles — LinkedIn Company Page, Twitter/X, YouTube channel
Organization schema with a complete sameAs array is how you connect all of these existing signals to your website. It tells Google: "These profiles are all the same entity as the site you're crawling right now."
Timeline: after implementing well-structured Organization schema with a complete sameAs array, knowledge panel signals can take 4–12 weeks to be reflected in search results. There's no manual trigger — it depends on Google's crawl frequency and entity processing pipeline.
Summary
Organization Schema is the foundation of your brand's presence in Google's knowledge graph. It doesn't produce a flashy rich result, but it does something more durable: it establishes your entity as a known, verified thing with verified connections to trusted platforms.
The practical checklist:
- Use the most specific subtype:
Corporation,LocalBusiness,NGO, etc. - Always include
sameAswith every public profile your organization maintains -
logoshould be at least 112×112px, visible on white background - Define once — on homepage and About page — not on every page
- Combine with
WebSiteschema on the same page for complete brand entity coverage - Use E.164 format for
telephone:"+15550001234"
If you want to generate Organization schema through a form interface with live preview and field validation, there's a free generator here: Organization Schema Generator. No signup, no backend, runs locally in the browser.
Implementing Organization schema for a multi-location business or a brand with several sub-brands? Drop a comment — the entity hierarchy cases are genuinely complex and worth unpacking.
Top comments (0)