How to Add Organization/LocalBusiness Schema in Shopify?

How to add Organization schema in Shopify requires inserting JSON-LD structured data that establishes your store’s business identity in Google’s Knowledge Graph. This guide covers implementation for both Organization schema (online stores) and LocalBusiness schema (stores with physical locations), including contact information, social profiles, and location data.


Developer adding Organization/LocalBusiness Schema in Shopify using JSON-LD code

Organization schema helps search engines understand your business entity, linking your products, content, and brand mentions across the web. Shopify doesn’t include Organization schema by default, making manual implementation essential for brand recognition and local SEO.

What Is the Difference Between Organization and LocalBusiness Schema?

Organization and LocalBusiness are related schema types that serve different business models. The choice depends on whether your store has physical locations customers can visit.Diagram illustrating Organization and LocalBusiness schema relationship structure

 illustrating Organization and LocalBusiness schema relationship structure

Organization schema works for:

  • Online-only ecommerce stores without physical locations
  • Dropshipping businesses operating entirely online
  • Digital product stores (software, courses, downloads)
  • International brands with warehouse fulfillment only

LocalBusiness schema works for:

  • Stores with physical retail locations customers can visit
  • Brick-and-mortar shops with online ordering
  • Restaurants, cafes, or service businesses with Shopify stores
  • Multi-location retailers with both online and offline presence

LocalBusiness is a subtype of Organization, meaning it includes all Organization properties plus additional fields for physical address, opening hours, and geographic coordinates. Use LocalBusiness when you want local search visibility and Google Business Profile integration.

What Properties Should Organization Schema Include?

Complete Organization schema requires core identification properties and recommended attributes that strengthen brand entity signals. Required properties:

  • @type: Organization – Identifies the schema type
  • name – Official business name
  • url – Store homepage URL

Recommended properties:

  • logo – Brand logo URL for Knowledge Panel display
  • description – Brief business description
  • contactPoint – Customer service contact information
  • sameAs – Social media profile URLs
  • email – Business email address
  • telephone – Primary phone number

The logo property is critical for Google Knowledge Panel eligibility. Google uses this image to represent your brand in search results and maps.

How to Add Basic Organization Schema to Shopify


Basic implementation establishes business identity without location-specific data.

Step 1: Access Theme Layout File


Navigate to your theme’s main layout file:

  1. Go to Online Store > Themes
  2. Click Actions > Edit code
  3. Open Layout/theme.liquid
  4. Locate the closing </head> or </body> tag

Organization schema typically goes in theme.liquid because it should appear on every page, not just specific templates. Shopify theme.liquid file open with JSON-LD schema insertedStep 2: Insert Basic Organization Schema


Add this JSON-LD code before the closing </head> tag:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "description": "{{ shop.description | strip_html | strip_newlines | escape }}"
}
</script>

This pulls business name, URL, logo, and description directly from your Shopify store settings. The schema appears site-wide automatically.

Step 3: Add Contact Information


Enhance the schema with customer service contact details:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "description": "{{ shop.description | strip_html | strip_newlines | escape }}",
  "email": "support@yourstore.com",
  "telephone": "+61-2-1234-5678",
  "contactPoint": {
    "@type": "ContactPoint",
    "telephone": "+61-2-1234-5678",
    "contactType": "customer service",
    "areaServed": "AU",
    "availableLanguage": ["English"]
  }
}

Replace the email and telephone values with your actual contact information. The contactPoint property structures customer service details for Google’s understanding.

How to Add Social Media Profiles to Organization Schema


Social profile links strengthen brand entity recognition and appear in Knowledge Panels.

Step 1: Add sameAs Property


Include social media profile URLs in an array:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "sameAs": [
    "https://www.facebook.com/yourstore",
    "https://www.instagram.com/yourstore",
    "https://twitter.com/yourstore",
    "https://www.linkedin.com/company/yourstore",
    "https://www.youtube.com/@yourstore",
    "https://www.pinterest.com/yourstore",
    "https://www.tiktok.com/@yourstore"
  ]
}

List all verified social media profiles. Use complete URLs (not usernames alone) and ensure profiles are active and branded consistently.

Step 2: Store Social URLs in Theme Settings

For easier maintenance, add social URLs to theme settings rather than hardcoding: In your theme’s config/settings_schema.json, add:

{
  "name": "Social Media",
  "settings": [
    {
      "type": "text",
      "id": "social_facebook",
      "label": "Facebook URL"
    },
    {
      "type": "text",
      "id": "social_instagram",
      "label": "Instagram URL"
    },
    {
      "type": "text",
      "id": "social_twitter",
      "label": "Twitter URL"
    }
  ]
}

Then reference these settings in schema:

"sameAs": [
  {% if settings.social_facebook != blank %}"{{ settings.social_facebook }}",{% endif %}
  {% if settings.social_instagram != blank %}"{{ settings.social_instagram }}",{% endif %}
  {% if settings.social_twitter != blank %}"{{ settings.social_twitter }}"{% endif %}
]

This allows updating social URLs through Theme Customizer without editing code.

How to Add LocalBusiness Schema for Physical Stores


LocalBusiness schema includes all Organization properties plus physical location data.

Step 1: Change Schema Type to LocalBusiness


Replace @type: Organization with LocalBusiness and appropriate subtype:

{
  "@context": "https://schema.org",
  "@type": "Store",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}"
}

Common LocalBusiness subtypes when optimizing Shopify SEO for your stores:

  • Store – General retail stores
  • ClothingStore – Apparel and fashion retailers
  • FurnitureStore – Furniture and home goods
  • ElectronicsStore – Electronics retailers
  • BookStore – Bookstores
  • JewelryStore – Jewelry retailers
  • Restaurant – Food and beverage establishments

Choose the most specific subtype that matches your business category.

Step 2: Add Physical Address


Include complete address details:

{
  "@context": "https://schema.org",
  "@type": "Store",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main Street",
    "addressLocality": "Sydney",
    "addressRegion": "NSW",
    "postalCode": "2000",
    "addressCountry": "AU"
  },
  "telephone": "+61-2-1234-5678",
  "email": "info@yourstore.com"
}

Use complete, accurate address formatting. The addressCountry property uses two-letter ISO country codes (AU for Australia, US for United States, GB for United Kingdom). Retail storefront representing LocalBusiness schema physical locationStep 3: Add Geographic Coordinates


Include latitude and longitude for precise location:

"geo": {
  "@type": "GeoCoordinates",
  "latitude": "-33.8688",
  "longitude": "151.2093"
}

Find coordinates using Google Maps: right-click your location and select the coordinate numbers to copy. Coordinates improve local search accuracy and map display.

Step 4: Add Opening Hours


Specify business hours using openingHoursSpecification:

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
    "opens": "09:00",
    "closes": "18:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "10:00",
    "closes": "16:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Sunday",
    "opens": "00:00",
    "closes": "00:00"
  }
]

Use 24-hour time format (09:00, not 9am). For closed days, use opens: “00:00” and closes: “00:00” or omit the day entirely.

How to Add Multiple Location Schema for Store Chains

Stores with multiple physical locations require different schema structure to document each location. Map displaying multiple store branches connected to one brandStep 1: Create Parent Organization Schema


Add main Organization schema in theme.liquid:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "numberOfEmployees": {
    "@type": "QuantitativeValue",
    "value": 50
  }
}
</script>

This establishes the parent business entity without location-specific details.

Step 2: Create Location Pages


Create individual pages for each location using Shopify Pages:

  1. Go to Online Store > Pages
  2. Click Add page
  3. Title: “Sydney Location” (or store name)
  4. Add location details (address, hours, phone)
  5. Save with handle like “location-sydney”

Step 3: Add LocalBusiness Schema to Location Pages

Create a custom page template for locations (templates/page.location.liquid):

{% comment %} page content here {% endcomment %}
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Store",
  "@id": "{{ shop.url }}{{ page.url }}#store",
  "name": "{{ shop.name }} - {{ page.title }}",
  "url": "{{ shop.url }}{{ page.url }}",
  "parentOrganization": {
    "@type": "Organization",
    "@id": "{{ shop.url }}#organization",
    "name": "{{ shop.name }}"
  },
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 George Street",
    "addressLocality": "Sydney",
    "addressRegion": "NSW",
    "postalCode": "2000",
    "addressCountry": "AU"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "-33.8688",
    "longitude": "151.2093"
  },
  "telephone": "+61-2-1234-5678",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
      "opens": "09:00",
      "closes": "18:00"
    }
  ]
}
</script>

The parentOrganization property links each location to the main business entity. Assign this template to location pages in the Theme Customizer.

Step 4: List All Locations in Main Organization


Reference all locations from the parent Organization schema:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "subOrganization": [
    {
      "@type": "Store",
      "@id": "{{ shop.url }}/pages/location-sydney#store",
      "name": "{{ shop.name }} - Sydney",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Sydney",
        "addressRegion": "NSW",
        "addressCountry": "AU"
      }
    },
    {
      "@type": "Store",
      "@id": "{{ shop.url }}/pages/location-melbourne#store",
      "name": "{{ shop.name }} - Melbourne",
      "address": {
        "@type": "PostalAddress",
        "addressLocality": "Melbourne",
        "addressRegion": "VIC",
        "addressCountry": "AU"
      }
    }
  ]
}

This creates a hierarchy: main Organization contains multiple Store locations.

How to Add Founder and Employee Information


Founder and key employee data strengthens brand entity signals and E-E-A-T.

Step 1: Add Founder Property


Include founder details in Organization schema:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "founder": {
    "@type": "Person",
    "name": "Jane Smith",
    "url": "{{ shop.url }}/pages/about-founder",
    "sameAs": [
      "https://www.linkedin.com/in/janesmith",
      "https://twitter.com/janesmith"
    ]
  },
  "foundingDate": "2018-03-15"
}

Link to an About page with founder bio. The foundingDate uses ISO 8601 format (YYYY-MM-DD).

Step 2: Add Key Employees


List leadership team members:

"employee": [
  {
    "@type": "Person",
    "name": "Jane Smith",
    "jobTitle": "Founder & CEO"
  },
  {
    "@type": "Person",
    "name": "John Doe",
    "jobTitle": "Head of Operations"
  }
]

Include executives, department heads, or key team members. This signals business legitimacy and team expertise.

How to Add Brand and Legal Information


Legal entity details and brand assets complete Organization identity.

Step 1: Add Legal Name


Distinguish between brand name and legal entity:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "legalName": "YourStore Pty Ltd",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}"
}

The legalName property contains the registered business name, while name shows the brand name customers recognize.

Step 2: Add Tax ID


Include business registration identifiers:

"taxID": "12-3456789",
"vatID": "AU12345678901"

Use taxID for national business numbers (ABN in Australia, EIN in US). The vatID property applies to VAT/GST registration numbers.

Step 3: Add Brand Property


Link Organization to Brand schema:

"brand": {
  "@type": "Brand",
  "name": "{{ shop.name }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "slogan": "Your brand tagline here"
}

The Brand property documents brand identity separate from corporate entity, useful for businesses with multiple brands.

How to Handle Organization Schema for Stores Using Metafields


Store organization data in metafields for easier management and multi-language support.

Step 1: Create Organization Metafields


Add custom metafields for organization data:

  1. Go to Settings > Custom data
  2. Select Shop
  3. Click Add definition
  4. Create fields for: phone, email, address, social URLs

Step 2: Reference Metafields in Schema


Pull organization data from metafields:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}",
  "telephone": "{{ shop.metafields.contact.phone }}",
  "email": "{{ shop.metafields.contact.email }}",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "{{ shop.metafields.location.street }}",
    "addressLocality": "{{ shop.metafields.location.city }}",
    "addressRegion": "{{ shop.metafields.location.state }}",
    "postalCode": "{{ shop.metafields.location.zip }}",
    "addressCountry": "{{ shop.metafields.location.country }}"
  }
}

This approach separates data from code, making updates easier and supporting translation for international stores.

How to Validate Organization Schema


Testing ensures Organization schema qualifies for Knowledge Panel and rich results.

Step 1: Use Google Rich Results Test


Validate Organization markup:

  1. Visit search.google.com/test/rich-results
  2. Enter your homepage URL
  3. Click Test URL
  4. Look for “Organization detected” message

The tool may not show preview snippets for Organization schema, but absence of errors confirms valid implementation. Google Rich Results Test validating structured data implementationStep 2: Verify Logo Requirements


Google has specific logo requirements for Knowledge Panels:

  • Minimum dimensions: 160×90 pixels
  • Recommended: 1200×1200 pixels or larger
  • Format: JPG, PNG, WebP
  • Background: Transparent or white preferred
  • Aspect ratio: Square (1:1) or rectangular (16:9)

Test logo URL directly in browser to verify accessibility. The logo must load without authentication.

Step 3: Monitor in Google Search Console


Search Console doesn’t have dedicated Organization reports, but monitors markup errors:

  1. Open Search Console
  2. Check Enhancements section
  3. Look for Unparsable structured data errors
  4. Review homepage for schema issues

Fix reported errors within 30 days to maintain schema health.

How to Fix Common Organization Schema Errors

Missing Required Property: Logo

Error message: “Missing field ‘logo’ (recommended)” Cause: Logo property missing or image URL inaccessible. Fix: Add logo using Shopify’s brand settings:

"logo": "{{ shop.brand.logo | image_url: width: 600 }}"


If shop.brand.logo is blank, set a default logo:

"logo": "{% if shop.brand.logo %}{{ shop.brand.logo | image_url: width: 600 }}{% else %}{{ 'logo.png' | asset_url }}{% endif %}"

Invalid Telephone Format

Error message: “Invalid telephone value” Cause: Phone number format not recognized by Google. Fix: Use international format with country code:

"telephone": "+61-2-1234-5678"


Valid formats: +61-2-1234-5678, +1-555-123-4567, +44-20-1234-5678. Avoid formats like (02) 1234-5678 or 02 1234 5678.

Duplicate Organization Schema

Error message: “Multiple Organization schemas detected” Cause: Organization schema appears in both theme.liquid and apps. Fix: Check for conflicting schema from SEO apps:

  1. View homepage source
  2. Search for “Organization” in JSON-LD blocks
  3. Count schema instances
  4. Disable app schema if implementing manually

Only one Organization schema should exist per page. Multiple instances confuse search engines about business identity.

Common Questions About Organization Schema in Shopify

Should Organization Schema Go on Every Page or Just Homepage?


Organization schema should appear on every page of your Shopify store, not just the homepage. This establishes consistent brand identity throughout your site and ensures search engines recognize your business entity regardless of entry point. Implementing Organization schema site-wide requires placing code in theme.liquid rather than individual templates:

<!-- In Layout/theme.liquid before closing </head> -->
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}"
}
</script>

This single implementation covers all pages automatically. Search engines crawl different pages at different times, so consistent Organization markup ensures your business identity is always present. Some SEO apps place Organization schema only on homepages, which limits effectiveness. Product pages, collection pages, and blog posts all benefit from Organization schema showing brand ownership and authority. The @id property should remain consistent across all pages, using your homepage URL:

"@id": "{{ shop.url }}#organization"


This creates a single organization entity referenced throughout your site, rather than separate entities per page. Product and CollectionPage schemas can then reference this Organization @id to establish relationships.

How Does Organization Schema Help with Google Knowledge Panel?

Organization schema provides Google with verified business information that qualifies your brand for Knowledge Panel display in search results. Knowledge Panels appear for branded searches (your business name) and show logo, description, social profiles, and contact details. Three properties directly influence Knowledge Panel eligibility: Logo property – This image appears as your brand’s visual identifier in the Knowledge Panel. Google requires logos to meet size specifications (minimum 160×90, recommended 1200×1200 pixels). The logo must be publicly accessible without authentication. sameAs property – Social media profile URLs listed here appear as verified links in Knowledge Panels. Google cross-references these URLs to confirm brand ownership and social presence. Include all major platforms (Facebook, Instagram, Twitter, LinkedIn, YouTube). ContactPoint property – Customer service information displays in Knowledge Panel contact sections. This helps customers find support channels directly from search results without visiting your site. Knowledge Panel generation isn’t instant. Google requires time to verify Organization schema data, typically 2-6 weeks after implementation. The panel appears first for exact brand name searches, then expands to variations and related queries as Google’s confidence in your entity grows. Consistent NAP (Name, Address, Phone) across Organization schema, Google Business Profile, and website footer strengthens Knowledge Panel signals. Mismatches between these sources delay panel generation or cause incorrect information display.

Can You Use Both Organization and LocalBusiness Schema on Same Site?


Yes, stores with both online and physical presences should use Organization schema for the parent company and LocalBusiness schema for each physical location. This hierarchy documents both digital and physical business aspects. Implementation structure: In theme.liquid (appears site-wide), add parent Organization:

{
  "@context": "https://schema.org",
  "@type": "Organization",
  "@id": "{{ shop.url }}#organization",
  "name": "{{ shop.name }}",
  "url": "{{ shop.url }}",
  "logo": "{{ shop.brand.logo | image_url: width: 600 }}"
}

On location pages (page.location.liquid template), add LocalBusiness:

{
  "@context": "https://schema.org",
  "@type": "Store",
  "@id": "{{ shop.url }}{{ page.url }}#store",
  "name": "{{ shop.name }} - {{ page.title }}",
  "parentOrganization": {
    "@type": "Organization",
    "@id": "{{ shop.url }}#organization"
  },
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "123 Main St",
    "addressLocality": "Sydney",
    "addressRegion": "NSW",
    "postalCode": "2000",
    "addressCountry": "AU"
  }
}

The parentOrganization property links each LocalBusiness to the main Organization entity using matching @id values. This tells search engines that individual stores belong to the parent brand. This approach works for:

  • Retail chains with online stores and multiple physical locations
  • Restaurants with online ordering and dine-in locations
  • Service businesses with both ecommerce and physical service areas

Don’t mix Organization and LocalBusiness properties in single schema blocks. Keep parent (Organization) separate from children (LocalBusiness locations). This clarity helps search engines understand business structure.

What Social Profiles Should You Include in sameAs Property?

Include all verified, active social media profiles where your brand maintains official presence. Google uses sameAs URLs to confirm brand identity across platforms and display social links in Knowledge Panels. Priority platforms for sameAs: Essential for all stores:

  • Facebook business page
  • Instagram business account
  • Twitter/X official account

Recommended based on industry:

  • LinkedIn company page (B2B, professional services)
  • YouTube channel (video content, tutorials, reviews)
  • Pinterest business account (visual products, fashion, home decor)
  • TikTok account (youth-oriented brands, entertainment)

Format requirements:

"sameAs": [
  "https://www.facebook.com/yourstore",
  "https://www.instagram.com/yourstore",
  "https://twitter.com/yourstore"
]

Use complete profile URLs, not just usernames. Each URL must lead directly to your verified business profile. Avoid personal profiles, fan pages, or unofficial accounts in sameAs arrays. Verification status matters. Verified badges (blue checkmarks) on social platforms strengthen entity signals. While not required, verification confirms authentic brand ownership to search engines. Don’t include:

  • Personal founder social accounts (unless explicitly branded as business accounts)
  • Inactive or abandoned profiles
  • Regional pages for global brands (use subOrganization instead)
  • Review platform profiles (Yelp, TripAdvisor) – these aren’t “sameAs” entities

Update sameAs arrays when you rebrand social handles, create new platform presences, or discontinue old accounts. Outdated URLs in schema confuse search engines about current brand identity.

How Often Should You Update Organization Schema?

Organization schema requires updates only when business information changes – name, address, phone, or social profiles. The schema code itself needs minimal maintenance because Shopify variables pull current data automatically. Review Organization schema quarterly to verify: Contact information accuracy – Check that telephone, email, and address match current business details. Phone number changes, email updates, or office moves require immediate schema updates. Social profile URLs remain active – Verify all sameAs links lead to active, branded profiles. Remove discontinued accounts and add new platform presences. Logo displays correctly – Confirm shop.brand.logo variable outputs current brand logo. Logo redesigns or rebranding require updating the image reference. Immediate updates needed when:

  • Business rebranding – New name, logo, or legal entity name requires schema updates within 7 days
  • Adding physical locations – Implement LocalBusiness schema for new stores within 30 days of opening
  • Changing contact methods – Update phone/email in schema same day as public announcement
  • Social account changes – Remove old profiles and add new ones within 14 days of changeover

Unlike product data that changes frequently, Organization information remains stable. Once implemented correctly with Liquid variables, schema updates automatically when you change settings in Shopify admin (shop name, description) or Theme Customizer (social URLs in settings). Annual reviews should check for schema.org specification updates. Organization schema is mature and stable, but Google occasionally adds new recommended properties or deprecates old ones. Monitor schema.org/Organization for changes.Need expert help with Shopify SEO? Technical SEO specialists from HiAgency will implement schema markup, optimize site architecture, and deliver data-driven strategies that improve organic visibility. Get in touch to discuss your Shopify store’s SEO performance.

Comments

Popular posts from this blog

SEO for Beauty Ecommerce: How to Rank Your Beauty Store in 2025

Ecommerce Voice Search: 7 Optimization Strategies for Smart Speakers

Local SEO for Roofers: Get More Roofing Jobs in Australia