docs
Organization
The Organization schema type represents a company, nonprofit, school, or any other organization. It enables search engines to display your brand's logo, social profiles, and contact details in the knowledge panel.
About Organization
Organization markup is essential for brand identity in search. Google uses this data to populate knowledge panels with your logo, official social profiles, and contact information. The sameAs property links your brand across platforms, strengthening your entity identity in Google's Knowledge Graph. This is a foundational schema type that every business website should implement.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | ✓ | The official name of the organization. |
url | string | ✓ | The canonical URL of the organization's website. |
logoUrl | string | — | URL of the organization's logo image for knowledge panel display. |
description | string | — | A brief description of the organization and what it does. |
sameAs | array of strings | — | URLs of official social media profiles and other authoritative pages about the organization. |
contactPoint.contactType | string | — | The type of contact (e.g. customer support, sales, technical support). |
contactPoint.email | string | — | The contact email address for the specified contact type. |
contactPoint.availableLanguage | array of strings | — | Languages supported by this contact point (e.g. English, Spanish). |
Plugin Registration
sanity.config.ts
import { defineConfig } from 'sanity'
import { schemaOrgOrganizationPlugin } from 'sanity-plugin-seofields/schema'
export default defineConfig({
// ... your sanity config
plugins: [
schemaOrgOrganizationPlugin(),
],
})Schema Usage
Add theschemaOrgOrganization field to any document schema:
schemas/page.ts
import { defineField, defineType } from 'sanity'
export default defineType({
name: 'page',
title: 'Page',
type: 'document',
fields: [
// ... your other fields
defineField({
name: 'schemaOrgOrganization',
title: 'Organization Schema',
type: 'schemaOrgOrganization',
}),
],
})GROQ Query
GROQ query
*[_type == "yourDocument"][0]{
schemaOrgOrganization {
name,
url,
logoUrl,
description,
sameAs,
contactPoint {
contactType,
email,
availableLanguage
}
}
}Next.js Component
app/layout.tsx
import { OrganizationSchema } from 'sanity-plugin-seofields/schema/next'
export default function Layout({ data }) {
return <OrganizationSchema data={data.schemaOrgOrganization} />
}JSON-LD Output
Generated JSON-LD
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "Acme Inc.",
"url": "https://acme.com",
"logo": "https://acme.com/logo.png",
"description": "Acme Inc. builds tools for modern web developers.",
"sameAs": [
"https://twitter.com/acme",
"https://linkedin.com/company/acme",
"https://github.com/acme"
],
"contactPoint": {
"@type": "ContactPoint",
"contactType": "customer support",
"email": "support@acme.com",
"availableLanguage": ["English"]
}
}Was this page helpful?