コンテンツへスキップ
Tips

AIO for Local Business Sites: A JSON-LD Implementation Guide

Introduction: Why Is Structured Data So Important Now?

In recent years, the rapid proliferation of conversational AI search tools like Google's SGE (Search Generative Experience) and Perplexity has dramatically changed how users find information. We are shifting from the behavior of "searching with keywords and finding answers from a list of websites" to "asking AI a direct question and getting a summarized answer." The new web strategy to adapt to this change is AIO (AI Optimization).

While traditional SEO (Search Engine Optimization) primarily focused on "improving search rankings," AIO aims to "have your company's information cited or recommended in AI's answers." And the most critical technology for getting AI to accurately understand your information and use it as a basis for its answers is "structured data," which we will explain in this article.

Here, we will provide a thorough explanation for store owners and web managers of small to medium-sized businesses on how to write "JSON-LD format structured data" that you can implement on your own site starting tomorrow, complete with concrete code examples.

The Problem: Is Your Site's Information Being Correctly Understood by AI?

Do you think, "My site has the address, phone number, and business hours all written out, so it should be fine"? The truth is, information that humans can read and understand is completely different from information that AI (search engines) can mechanically process.

For example, suppose your site says, "Hours: 10:00 - 19:00 (Closed Wednesdays)." A human can see this and understand that you are open from 10:00 to 19:00 on days other than Wednesday. However, to an AI, this is merely a string of text. The AI might have the following questions:

  • Is "10:00" in the morning or afternoon?
  • Is "19:00" the closing time or the time for last entry?
  • What are the hours on public holidays?
  • Is there a lunch break?

If your information remains ambiguous like this, the AI will hesitate to use your store's details in its answers to search users. As a result, when a user asks an AI search query like, "What are some recommended cafes nearby?" your store might be left out of the suggestions. This represents a serious loss of opportunity that cannot be fully covered by simply aiming for top rankings with traditional MEO or SEO.

Structured data is a technology that labels information on a web page with a common language (vocabulary) that AI can understand with 100% accuracy, such as "this is a store name," "this is an address," or "these are the business hours." Only by implementing this can your store's information become a trusted source for AI.

The Solution: 3 Essential Types of JSON-LD Structured Data for Local Business Websites

There are various types (schemas) of structured data, but we will first explain the three most important types that all local business websites should implement. The code is written in "JSON-LD," the current mainstream format. You can implement it simply by embedding this code into your site's HTML.

1. LocalBusiness: The Foundation of All Store Information

LocalBusiness is the most important schema for comprehensively describing all information related to a physical store. Setting this up correctly is directly linked to MEO, not only improving the accuracy of your information on Google Maps but also serving as the most crucial data for AI when answering location-based questions like "nearby ____."

Key Properties and Their Roles

  • @type: Specifies the type of business. Detailed business types like "Restaurant," "BeautySalon," and "Dentist" are defined on schema.org. Choose the one that most closely matches your business.
  • name: The name of your store.
  • address: The address, specified in detail with properties like streetAddress (street name and number), addressLocality (city/ward), addressRegion (prefecture/state), and postalCode (zip code).
  • telephone: The phone number. It is recommended to use the international format (e.g., +81-3-1234-5678).
  • openingHoursSpecification: The business hours. This is very important as it can be set in detail for each day of the week.
  • geo: Latitude and longitude. This helps to show the exact location on Google Maps.
  • image: The URL of the store's logo or an exterior photo.
  • url: The URL of your website.

【Copy & Paste OK】Example JSON-LD Code for LocalBusiness (for a Cafe)

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "CafeOrCoffeeShop",
  "name": "Sample Cafe",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1-2-3 Marunouchi",
    "addressLocality": "Chiyoda-ku",
    "addressRegion": "Tokyo",
    "postalCode": "100-0005",
    "addressCountry": "JP"
  },
  "telephone": "+81-3-1234-5678",
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Thursday",
        "Friday"
      ],
      "opens": "10:00",
      "closes": "19:00"
    },
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Saturday",
        "Sunday"
      ],
      "opens": "11:00",
      "closes": "20:00"
    }
  ],
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": "35.681236",
    "longitude": "139.767125"
  },
  "image": "https://example.com/images/cafe-photo.jpg",
  "url": "https://example.com/"
}
</script>

In this example, the business hours are set differently for weekdays (Mon, Tue, Thu, Fri) and weekends (Sat, Sun). By not including Wednesday, it indicates that the store is closed on that day. By describing the hours in such detail, AI can accurately answer user questions like, "Are there any cafes open on Saturday?"

2. Review: Building Trust with Customer Reviews

When users choose a store, reviews and ratings are extremely important decision-making factors. The same goes for AI, which tends to prioritize and recommend highly-rated businesses. By marking up customer testimonials on your site with the Review schema, you can have that information recognized by AI as an official rating.

Furthermore, if implemented correctly, it can make you eligible for "rich results," which display star ratings (★★★★★) next to your store name in Google's search results. This can be expected to improve your click-through rate, leading to direct SEO benefits.

Key Properties and Their Roles

  • aggregateRating: Describes the overall rating aggregated from multiple reviews.
  • ratingValue: The average score on a 5-point scale.
  • reviewCount: The total number of reviews.
  • review: Describes individual review content.
  • author: The name of the person who wrote the review.
  • reviewBody: The text of the review.
  • reviewRating: The rating for that specific review.

【Copy & Paste OK】Example JSON-LD Code for Review

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Restaurant",
  "name": "Sample Restaurant",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.5",
    "reviewCount": "150"
  },
  "review": [
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Taro Yamada"
      },
      "datePublished": "2023-10-26",
      "reviewBody": "The pasta was exquisite! The atmosphere of the restaurant was also wonderful, and I would love to visit again.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "5"
      }
    },
    {
      "@type": "Review",
      "author": {
        "@type": "Person",
        "name": "Hanako Suzuki"
      },
      "datePublished": "2023-10-25",
      "reviewBody": "I came here for lunch. I think it offers great value for the price.",
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "4"
      }
    }
  ]
}
</script>

Note: The reviews you describe here must match those actually displayed on your site. Be aware that reposting reviews from Google Business Profile or other review sites without permission may be considered a violation of guidelines.

3. FAQPage: Proactively Answering User Questions

A "Frequently Asked Questions" page is an incredibly powerful piece of content for AIO. By compiling information that users want to know before visiting—such as "Do you have parking?" "How do I make a reservation?" or "What payment methods do you accept?"—in a Q&A format, you make it easier for AI to quote it as a direct answer to those questions.

Implementing the FAQPage schema can sometimes result in the questions appearing in an accordion format in search results. This increases the amount of space you occupy on the results page, which is an SEO advantage that makes you more likely to catch the user's eye.

Key Properties and Their Roles

  • mainEntity: Contains pairs of questions (Question) and answers (Answer).
  • Question: The question itself.
  • acceptedAnswer: The answer to the question.

【Copy & Paste OK】Example JSON-LD Code for FAQPage

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Do you have parking?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, we have free parking for 3 cars in front of the store. If our lot is full, please use a nearby paid parking lot."
      }
    },
    {
      "@type": "Question",
      "name": "Do you accept credit cards?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, we accept various credit cards, including VISA, MasterCard, JCB, and American Express."
      }
    },
    {
      "@type": "Question",
      "name": "Is a reservation required?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "You can visit without a reservation during lunchtime, but we recommend making a reservation in advance for dinner as seating is limited. You can book by phone or through the reservation form on our website."
      }
    }
  ]
}
</script>

This markup should be placed once for the entire "Frequently Asked Questions" page. Note that you do not place it for each individual Q&A pair.

A 4-Step Practical Guide: Let's Implement Structured Data on Your Site

If you understand the theory but are unsure how to actually implement it, don't worry. Anyone can easily implement structured data by following these four steps.

Step 1: Accurately Organize the Information to Be Marked Up

First, make an accurate list of the information you will include in the structured data. In particular, ensure that the LocalBusiness information (store name, address, phone number, business hours) is identical, word for word, to the information registered in your Google Business Profile. Discrepancies in information can confuse AI and search engines, potentially having a negative effect.

Step 2: Automatically Generate the JSON-LD Code

Writing the code by hand is prone to errors, so using a free generator tool is the safest and most efficient method. The following tool is recommended:

  • Merkle Schema Markup Generator: When you select a business type, the necessary fields appear as a form. Just fill it out, and it will automatically generate the JSON-LD code for you. This is the easiest tool for beginners.

Using these tools, select "LocalBusiness" or "FAQ," and fill in the form with the information you organized in Step 1. Once you've entered everything, the code will be generated in a copy-and-paste-ready format.

Step 3: Implement the Code on Your Website

Paste the generated <script type="application/ld+json">...</script> code into your website's HTML source code. It is typically placed within the HTML's <head> tag or just before the closing <body> tag.

  • For WordPress:
    It's safest to implement using your theme's customization features or a dedicated plugin (like "Schema & Structured Data for WP & AMP"). While you can directly edit the theme's header.php file, be aware that your changes could be lost during an update, so it's best to use a child theme or take other precautions.
  • For site builders like Wix or Jimdo:
    There should be a feature for "Custom Code" or "Embed Header/Footer Code." Use that feature to paste the generated code into the header section of all pages or relevant pages.

Step 4: Test Your Implementation

Once the implementation is complete, you must test whether it is being recognized correctly. Use the following official tool provided by Google:

Enter your site's URL into this tool or paste the generated code directly. If it displays "Page is eligible for rich results" and there are no errors or warnings in the detected structured data items, you have succeeded. If you get an error, read the message carefully, correct your code, and then re-upload and test it again.

Conclusion: Structured Data Is the First Step Toward Future Web Customer Acquisition

In this article, we've explained how to implement structured data (JSON-LD), which is the core of AIO, an essential strategy in the age of AI search.

Structured data is not just a technical SEO measure. It is a form of "hospitality"—a way to kindly and accurately convey information about your business to "machine visitors" like AI and search engines. Mastering this hospitality is the key to having AI judge your business as trustworthy and recommend it to future customers.

Start by implementing the three schemas we introduced today: LocalBusiness, Review, and FAQPage. This small step will be a crucial move to ride the great wave of AI search and set you apart from your competitors. Remember to always keep your website's information up-to-date and update your structured data accordingly.

For a more systematic approach to AIO, please see the TrendPackage AIO Package for a detailed explanation.

FREE DIAGNOSIS

Check your AI readiness for free

Takes 3 minutes. No sales calls.

Start Free AI Diagnosis

RELATED ARTICLES

関連コラム