ツバサのメモ帳
How to Write Structured Data (JSON-LD)

How to Write Structured Data (JSON-LD)
FAQPage and Article, Step by Step

Hi, I'm Tsubasa.

Articles about SEO and LLMO constantly tell you to "implement structured data." But most of them never show actual code, which leaves beginners with no idea what to write or where. This article includes JSON-LD examples you can copy and use as-is. I've narrowed it down to three types — FAQPage, Article, and BreadcrumbList — and cover how to write each one and how to verify it afterward.

What Structured Data (JSON-LD) Is

It's a data format for communicating a web page's content to search engines and AI. HTML is for humans to read; JSON-LD is for machines. Based on Schema.org, an internationally shared vocabulary, it defines things like what the page is about, who wrote it, and what its FAQ contains.

You embed it in the HTML <head> inside a <script type="application/ld+json"> tag. It has zero effect on how the page looks, so there's no risk of breaking your existing design.

Google has officially stated that structured data itself is not a ranking factor. In the generative AI optimization guide updated on May 15, 2026, Google also stated that structured data is not required for generative AI features in Search — so it's not a mandatory requirement for AI search either. What remains effective is the indirect benefit: rich results in search (FAQ snippets, breadcrumbs, author information) improve click-through rates, and Google continues to recommend structured data for that purpose. The realistic way to frame this: you're not chasing a direct ranking effect, you're collecting indirect benefits.

G Google Search Central: Optimizing your website for generative AI features on Google Search (updated May 15, 2026) developers.google.com

How to Write FAQPage JSON-LD

The structured data type with the highest practical payoff. Describe your page's FAQ section in JSON-LD and it may appear as a rich result in Google Search. It's also a format AI systems can readily draw on when generating answers.

// FAQPage JSON-LD example
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Your first question goes here",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The answer goes here"
      }
    },
    {
      "@type": "Question",
      "name": "Your second question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The second answer"
      }
    }
  ]
}
</script>

Points to watch:

For more on how FAQ structure fits into writing articles that AI actually cites, see "How to Write Articles That AI Will Cite."

How to Write Article JSON-LD

Essential structured data for any article page. It tells Google and AI the article's title, author, publication date, and last-modified date, and it feeds into E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) evaluation.

// Article JSON-LD example
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Article title",
  "description": "A summary of the article",
  "url": "https://example.com/article.html",
  "image": "https://example.com/image.png",
  "author": {
    "@type": "Person",
    "name": "Author name"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Site name",
    "url": "https://example.com/"
  },
  "datePublished": "2026-05-15",
  "dateModified": "2026-05-15",
  "inLanguage": "en"
}
</script>

Adding sameAs (URLs of the author's social profiles) and jobTitle to the Person object gives AI more material for evaluating the author's credibility. That said, the minimum viable version works with just the name.

How to Write BreadcrumbList JSON-LD

This expresses your breadcrumb trail (Home > Category > Article title) as structured data. The breadcrumb can appear in search results, and it communicates your site structure to Google accurately.

// BreadcrumbList JSON-LD example
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "position": 1,
      "name": "Home",
      "item": "https://example.com/"
    },
    {
      "@type": "ListItem",
      "position": 2,
      "name": "Category name",
      "item": "https://example.com/category/"
    },
    {
      "@type": "ListItem",
      "position": 3,
      "name": "Article title"
    }
  ]
}
</script>

The last level — the current page — gets no item property. That's the recommended pattern per Schema.org.

How to Verify Your Implementation

Once you've written your JSON-LD, always check it with these two tools.

Google's Rich Results Test

Enter a URL or paste code directly. Errors show up in red, with the problem line identified. It works on unpublished code too, so use it every time you implement.

G Rich Results Test | Google search.google.com/test/rich-results

URL Inspection in Google Search Console

For published pages, this confirms whether Google has correctly recognized your structured data. Inspect the target URL and check the "Enhancements" section of the result. If FAQPage, Article, and BreadcrumbList are each detected, you're set. For a broader look at what Search Console can tell you about AI search, see "Google Search Console's Generative AI Report."

When You Don't Know How to Write the Code, Delegate It to AI

Ask ChatGPT or Claude to "convert the following FAQ into FAQPage JSON-LD" and you'll have code in seconds. Paste the output into the Rich Results Test, check for errors, and if it's clean, use it as-is. There's no need to write the code from scratch.

FAQ

Q. What is structured data (JSON-LD)?

A. A data format for communicating a web page's content to search engines and AI. Based on the Schema.org vocabulary, it describes the page's content, author, FAQ, and more in a machine-readable form, embedded in the HTML head via a script tag.

Q. What if I don't know how to write JSON-LD?

A. Ask ChatGPT or Claude to generate it — "create the FAQPage JSON-LD for this page" — then run the output through Google's Rich Results Test before implementing.

Q. Does structured data help SEO?

A. Google has officially stated that structured data itself is not a ranking factor, and its May 2026 generative AI optimization guide states it's not required for AI features in Search either. However, rich results (FAQ snippets, breadcrumbs, author information) in search improve click-through rates, so the indirect traffic benefit remains real.

Q. How do I implement structured data on WordPress?

A. The free versions of Yoast SEO or Rank Math auto-generate the basic structured data. FAQPage can be added from the FAQ block in the post editor. Without a plugin, write the JSON-LD directly into your theme's header.php.

Q. How do I check structured data for errors?

A. Enter your URL or code into Google's Rich Results Test (search.google.com/test/rich-results). For published pages, URL Inspection in Search Console also shows what Google has detected.

🇯🇵 この記事の日本語版を読む

Tsubasa

Tsubasa

Working in the EC department of a Japanese apparel company. My responsibilities range from coordinating product photography (sasage) to managing retouching vendors, updating product pages, and supervising part-time staff. I'm not great at Photoshop, so I outsource serious image work to professionals — but after working with many vendors, I've become pretty good at choosing the right one and checking deliverables. This blog is a record of things I've learned on the job.