All articles

Guide4 October 2026 · 9 min read

Tutorial: structured data that AI and Google understand

A hands-on tutorial on schema.org structured data in JSON-LD: Organization, LocalBusiness, FAQPage and Product — with examples to copy and how to test them.

SEO Joe

SEO JoePart of My-AI-Crew.com

Your website is written for people. Structured data is a small extra layer written for machines: it states your business name, type, address, opening hours, products and FAQs in a fixed vocabulary, so search engines and AI assistants don't have to guess. This tutorial shows the four blocks most small businesses need, ready to copy.

The basics in one minute

  • Vocabulary: schema.org, a shared dictionary of types (like LocalBusiness) and properties (like openingHours) used by Google, Bing and others.
  • Format: JSON-LD — a block of JSON inside a <script type="application/ld+json"> tag in your HTML. It doesn't change how the page looks.
  • Rule number one: only mark up what's actually on the page and true. Structured data that contradicts the visible page can be ignored or penalised.

1. Organization — who you are

Put this on your homepage. It ties your name, logo, website and social profiles together — exactly the kind of consistency assistants look for.

html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "name": "Northlight Accounting",
  "url": "https://www.northlight.se",
  "logo": "https://www.northlight.se/logo.png",
  "description": "Bookkeeping and annual accounts for small companies in Malmö.",
  "email": "hello@northlight.se",
  "sameAs": [
    "https://www.linkedin.com/company/northlight-accounting",
    "https://www.instagram.com/northlightaccounting"
  ]
}
</script>

sameAs lists your official profiles elsewhere. It helps machines understand that the LinkedIn page and the website are the same business.

2. LocalBusiness — if customers visit you

If you have an address customers come to, or you serve a specific area, use LocalBusiness — or a more specific type like Bakery, Dentist, Restaurant or AccountingService.

html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Bakery",
  "name": "Corner Bakery",
  "url": "https://www.cornerbakery.se",
  "image": "https://www.cornerbakery.se/shop.jpg",
  "telephone": "+46 8 123 456 78",
  "priceRange": "$$",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Götgatan 12",
    "postalCode": "118 46",
    "addressLocality": "Stockholm",
    "addressCountry": "SE"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 59.3155, "longitude": 18.0717 },
  "openingHoursSpecification": [{
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": ["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],
    "opens": "07:00",
    "closes": "18:00"
  }],
  "areaServed": "Södermalm, Stockholm"
}
</script>

3. FAQPage — the answers assistants quote

If a page has questions and answers, mark them up. The text must match what's visible on the page. Google shows FAQ rich results only for a limited set of sites today, but the markup still states your answers clearly for any machine reading the page.

html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "How much does bookkeeping cost for a small company?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Most of our small-company clients pay 1,500–3,000 SEK a month, depending on the number of transactions."
      }
    },
    {
      "@type": "Question",
      "name": "Do you work with sole traders?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes — we help both sole traders and limited companies (AB) in Malmö and Skåne."
      }
    }
  ]
}
</script>

4. Product or Service — what you sell

Selling products online? Mark each product page with Product, including price and availability. For services, Service works the same way.

html
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Product",
  "name": "Sourdough loaf, 800 g",
  "image": "https://www.cornerbakery.se/sourdough.jpg",
  "description": "Naturally leavened sourdough with organic Swedish flour.",
  "brand": { "@type": "Brand", "name": "Corner Bakery" },
  "offers": {
    "@type": "Offer",
    "price": "69.00",
    "priceCurrency": "SEK",
    "availability": "https://schema.org/InStock",
    "url": "https://www.cornerbakery.se/sourdough"
  }
}
</script>

Where to put it

  • Hand-coded or React sites: in the page's <head> (or anywhere in the body).
  • WordPress: SEO plugins such as Yoast or Rank Math add Organization and article data automatically; add the rest with their schema settings or a custom block.
  • Shopify: most themes include Product data; check it with the tests below.
  • Wix, Squarespace, Webflow: look for “structured data” or “custom code” in the page's SEO settings.

Test it

  1. Open Google's Rich Results Test and paste your page's address.
  2. Also try the Schema Markup Validator, which checks everything, not only what Google uses.
  3. Fix any errors, and check that the values it shows match your page.

Structured data is one step of several. For the whole picture, follow the step-by-step guide. And if your site's code is on GitHub, SEO Joe can write and add these blocks for you — you just approve the change.

Questions and answers

What is JSON-LD?
JSON-LD is the format Google recommends for structured data: a small block of JSON inside a <script type="application/ld+json"> tag in your page's HTML, describing facts using the schema.org vocabulary.
Does structured data make ChatGPT recommend me?
Not on its own. It makes your facts unambiguous for any machine that reads your page, which helps search engines and AI assistants describe you correctly. Recommendations also depend on relevance and on mentions elsewhere.
How do I test my structured data?
Paste your page address into Google's Rich Results Test (search.google.com/test/rich-results) and the Schema Markup Validator (validator.schema.org). Both show errors and what they understood.

Does ChatGPT recommend your business?

Joe checks your website, asks ChatGPT, Claude and Gemini your customers' questions, and gives you a short list of what to fix first.

Check my business

Keep reading