Organization Schema Generator

Builds OnlineStore (or Organization) structured data with your logo, contact details and return policy, for Google Search.

Describe the result you need. AI will set up the tool and ask for any missing details.

Configure with AI

Enter to submit · Shift + Enter for a new line

Sent to AI. Leave out passwords and private customer data.

Your details

Business

At least 112 × 112 px, and crawlable.

Contact
Identifiers
Return policy

Two-letter codes, separated by commas.

Output

Add this to your home page (or About page) once

html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "OnlineStore",
  "name": "Harbour & Co",
  "legalName": "Harbour and Company LLC",
  "url": "https://harbourandco.com",
  "logo": "https://harbourandco.com/logo-512.png",
  "description": "Small-batch ceramic mugs and tableware, made in Portland, Oregon.",
  "sameAs": [
    "https://www.instagram.com/harbourandco",
    "https://www.facebook.com/harbourandco"
  ],
  "email": "hello@harbourandco.com",
  "telephone": "+1-503-555-0142",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1200 NW Marshall St",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97209",
    "addressCountry": "US"
  },
  "contactPoint": {
    "@type": "ContactPoint",
    "contactType": "Customer Service",
    "email": "hello@harbourandco.com",
    "telephone": "+1-503-555-0142"
  },
  "foundingDate": "2019",
  "hasMerchantReturnPolicy": {
    "@type": "MerchantReturnPolicy",
    "applicableCountry": [
      "US",
      "CA"
    ],
    "returnPolicyCountry": "US",
    "returnPolicyCategory": "https://schema.org/MerchantReturnFiniteReturnWindow",
    "merchantReturnDays": 30,
    "returnMethod": "https://schema.org/ReturnByMail",
    "returnFees": "https://schema.org/FreeReturn",
    "refundType": "https://schema.org/FullRefund"
  }
}
</script>

Test it with Google's Rich Results Test or the Schema Markup Validator after publishing.

What this markup is for

This adds site-wide facts about your business, not a single product: your name, logo, contact details and (for an online store) your return policy. Google's own documentation says there are no required properties; you add whatever applies to your business. It's used to help Google disambiguate your brand from others and can influence which logo and knowledge panel details show in search.

OnlineStore is the most specific type for an ecommerce site and supports hasMerchantReturnPolicy directly. Use plain Organization if you're not primarily selling online, or OnlineBusiness for a services business.

The return policy fields

Google's structured data documentation for merchant return policies accepts either a returnPolicyCategory and applicableCountry, or a link to your return policy page. This generator uses the category approach, with the three values Google defines:

returnPolicyCategoryMeaning
MerchantReturnFiniteReturnWindowReturns accepted within a set number of days
MerchantReturnUnlimitedWindowNo deadline to return
MerchantReturnNotPermittedNo returns accepted

returnMethod (by mail, in store, at a kiosk) and returnFees (free, or the customer pays) follow the same pattern: Google-defined values, not free text, which is why they're dropdowns here rather than text fields.

Adding it to your site

  • Shopify. Online Store → Themes → Edit code → layout/theme.liquid, pasted just before </head>. The generated code wraps it in an {% if request.page_type == 'index' %} check so it only prints on the home page. Many themes already output basic Organization data; view your page source first so you don't end up with two.
  • WordPress/WooCommerce. Add the generated PHP to your child theme's functions.php or a code snippets plugin. If you run an SEO plugin like Yoast or Rank Math, check whether it already outputs Organization data and use its settings instead, so there's only one copy on the page.
  • Testing. Check the result with Google's Rich Results Test or the Schema Markup Validator after you publish.

Questions people ask

Is this markup required for SEO?

No. Google's documentation lists it as a way to help Google understand and display your business details, not a ranking requirement. It's still a quick, low-risk addition since it's site-wide and rarely changes.

OnlineStore, OnlineBusiness or Organization: which should I pick?

OnlineStore if you sell products online, since it supports a return policy directly. Organization is the safe general-purpose choice for any business. OnlineBusiness fits a business that operates only online but isn't primarily a store.

What size does my logo need to be?

At least 112 x 112 px, according to Google's structured data documentation, and it must be a crawlable, indexable URL rather than a data URI or a page behind a login.

Should this go on every page?

No, just once, typically your home page or About page. The Shopify and WordPress code this tool generates already limits it to one page for you.

My theme already shows Organization data. Should I add this too?

No, check first. Two copies of the same structured data type on one page can confuse Google rather than help. View your page source, search for "@type": "Organization", and remove or replace whichever version you don't want to keep.

Want this builtinto your store?

I'm Emmanuel, a Shopify and WooCommerce developer. If this tool pointed at something you'd rather have fixed for you (a faster store, cleaner product data, a migration, a custom feature), send me a note.

Emmanuel Asika

Emmanuel Asika

Shopify & WooCommerce developer, Dublin

I build and fix online stores: new builds, migrations, speed, SEO and the custom bits apps can't do.

hello@emmanuelasika.com