SEO Guide

How to Write JSON-LD Structured Data

Learn how to implement JSON-LD using schema.org vocabulary, avoid common mistakes, and choose the right schema type. Check your implementation free with our tool.

5 min read2026-04-25

What Is Structured Data?

Structured data is markup that describes your page content in a machine-readable format. It uses vocabulary defined by schema.org — a collaborative initiative founded by Google, Microsoft, Yahoo!, and Yandex — to explicitly communicate the type and attributes of your content.

There are three formats — JSON-LD, Microdata, and RDFa — but Google recommends JSON-LD for its ease of management. JSON-LD is written in a standalone <script> tag without modifying your HTML content.

/* JSON-LD basic structure */

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "ページのタイトル",
  "author": {
    "@type": "Person",
    "name": "著者名"
  },
  "datePublished": "2026-04-25"
}
</script>

Why Does Structured Data Matter?

When properly implemented, structured data can enable rich results in Google Search — visually enhanced listings that go beyond the standard blue link. FAQ dropdowns, star ratings, breadcrumbs, and price information all increase visibility and click-through rates.

+20–30%

Average CTR increase when rich results are shown

~35%

Sites with correctly implemented structured data

3 formats

JSON-LD, Microdata, and RDFa supported by Google

Key Schema.org Types

Schema.org defines hundreds of types, but the following six are most impactful for SEO. Each type enables different rich result features in search.

TypeUse CaseRich Result Effect
FAQPageFAQ pagesQ&A accordion appears in search results
ArticleBlog posts & newsAuthor, date, and thumbnail shown
ProductProduct pagesPrice, rating, and availability shown
BreadcrumbListBreadcrumb navigationPath shown instead of raw URL
OrganizationCompany/organization infoInfo appears in Knowledge Panel
LocalBusinessLocal shops & businessesShown in Maps & local search

JSON-LD Code Example: FAQPage

FAQPage is one of the highest-impact schema types. It can display Q&A accordions directly in search results, increasing the visual footprint of your listing and boosting CTR.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "構造化データとは何ですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "構造化データとは、Webページの内容を検索エンジンが理解しやすい形式で記述するマークアップです。"
      }
    },
    {
      "@type": "Question",
      "name": "JSON-LDはどこに書けばいいですか?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "HTMLの<head>内に<script type=\"application/ld+json\">タグで記述します。"
      }
    }
  ]
}
</script>

Note: The Q&A content in FAQPage must match text that is actually visible on the page. Adding hidden content or Q&As not present on the page violates Google's guidelines.

Common Mistakes to Avoid

Missing @context

Without "@context": "https://schema.org" at the top of your JSON-LD, Google cannot identify the vocabulary namespace and will return an error. Include it in every JSON-LD block.

Structured data doesn't match page content

If information in your structured data (price, rating, FAQ text) is not actually visible on the page, it violates Google's guidelines and risks a Manual Action penalty.

Missing required properties

Each schema.org type has required properties. For example, Product requires "name". Use Google's Rich Results Test before publishing to catch missing properties.

JSON syntax errors

Missing commas, unclosed brackets, or mismatched quotes will invalidate your entire JSON-LD block. Always validate with a JSON linter or the Rich Results Test.

Check Your Site's Structured Data

Enter a URL to instantly check your structured data implementation, missing types, and errors — all for free. Also checks title, meta description, and OGP.

FAQ

What is structured data?
Structured data is markup that helps search engines understand the content of a web page. It uses vocabulary defined by schema.org and can be written in JSON-LD, Microdata, or RDFa formats. Google specifically recommends JSON-LD. When implemented correctly, it can enable rich results in search (star ratings, FAQ dropdowns, breadcrumbs, etc.).
Where should I place JSON-LD in my HTML?
Google accepts JSON-LD in both <head> and <body>. For maintainability, placing it in <head> is common in Next.js and WordPress projects. Wrap it in a <script type="application/ld+json"> tag. You can include multiple JSON-LD blocks on a single page.
Does structured data improve SEO rankings?
Structured data is not a direct ranking factor, but enabling rich results (FAQ dropdowns, breadcrumbs, etc.) can significantly increase CTR in search results. It also helps Google accurately understand your page content, which can benefit E-E-A-T evaluation over time.
What should I do if Google's Rich Results Test shows errors?
The fix depends on the error type. 'Missing required property': add the specified property. 'JSON syntax error': check for missing commas, brackets, or quotes. 'Missing @context': add "@context": "https://schema.org" at the top of your JSON. Also verify that the structured data content matches what is actually visible on the page.
How do I add structured data to a WordPress site?
WordPress plugins like RankMath, Yoast SEO, or Schema Pro let you configure structured data via a GUI. For manual JSON-LD, you can add it via a wp_head() hook in functions.php or directly in header.php. Plugins are easier to manage; manual implementation offers more flexibility.