# Organization or WebSite schema is present on the homepage

- **Pattern:** `ab-001675` (`marketing-advanced-seo.structured-data.org-website-schema`)
- **Severity:** info
- **Lifecycle:** active
- **Last modified:** 2026-04-18
- **Canonical URL:** https://auditbuffet.com/patterns/ab-001675
- **License:** CC-BY-4.0 — attribute to AuditBuffet Pattern Catalog (https://auditbuffet.com/patterns/ab-001675)

## Why it matters

schema-org Organization and schema-org WebSite on the homepage signal your site's entity identity to Google's Knowledge Graph. Without this markup, Google infers your brand entity from text alone — a slower, less reliable process that can delay sitelinks eligibility, suppress your knowledge panel, and produce incorrect brand associations in AI-generated search overviews. The `sameAs` property linking to your social profiles is particularly important: it allows Google to merge your website entity with your social presence, which affects how brand queries are answered across Search, SGE, and third-party AI tools that consume structured entity data.

## Severity rationale

Info because the absence does not break crawling or ranking directly, but it slows entity recognition and delays sitelinks and knowledge panel eligibility — a recoverable gap with no urgency.

## Remediation

Add Organization or WebSite schema to your root layout or homepage server component. Include at minimum `name`, `url`, `logo`, and `sameAs`. The `sameAs` array should contain absolute URLs to all official social profiles.

```tsx
// app/layout.tsx — entity schema in root layout
const orgSchema = {
  '@context': 'https://schema.org',
  '@type': 'Organization',
  name: 'Acme Corp',
  url: 'https://acme.com',
  logo: {
    '@type': 'ImageObject',
    url: 'https://acme.com/logo.png',
    width: 200,
    height: 60,
  },
  sameAs: [
    'https://twitter.com/acme',
    'https://linkedin.com/company/acme',
    'https://github.com/acme',
  ],
}
// Render via <script type="application/ld+json">
```

If you combine Organization and WebSite into one block, use `@graph` to keep the JSON-LD parser from treating it as a single ambiguous type.

## Detection

- **ID:** `org-website-schema`
- **Severity:** `info`
- **What to look for:** Enumerate all Organization or WebSite schema properties found on the homepage. Count which required properties are present vs. missing. Check the homepage (root route) for JSON-LD with `@type` of `"Organization"`, `"WebSite"`, or `"LocalBusiness"`. For Next.js App Router, check the root `layout.tsx` or `/` `page.tsx`. For other frameworks, check the index page or root layout.
- **Pass criteria:** The homepage has at least one JSON-LD block with `@type` set to `"Organization"`, `"WebSite"`, or `"LocalBusiness"`. At least 4 required properties (name, url, logo, sameAs) must be present.
- **Fail criteria:** The homepage has no JSON-LD, or existing JSON-LD uses a different type without any Organization/WebSite schema present.
- **Skip (N/A) when:** The project has no homepage (API-only, no public routes).

- **Cross-reference:** For JSON-LD presence across the site, see `jsonld-present`.
- **Detail on fail:** `"Homepage has no Organization or WebSite schema type. Adding this schema helps search engines understand your brand entity and can improve sitelinks eligibility."`
- **Remediation:** Organization and WebSite schema help search engines establish your site as a recognized entity, which can improve brand search appearance and eligibility for sitelinks. Add it to your root layout or homepage with fields: `name`, `url`, `logo`, and `sameAs` (linking to your social profiles).

  ```tsx
  // app/page.tsx — Organization schema on homepage
  const orgSchema = { "@context": "https://schema.org", "@type": "Organization", "name": "...", "url": "...", "logo": "...", "sameAs": [] }
  ```

## External references

- schema-org Organization
- schema-org WebSite

Taxons: findability

HTML version: https://auditbuffet.com/patterns/ab-001675
