Schema Markup Guide: Article, FAQ, HowTo JSON-LD for Blogs

Schema Markup Guide: Article, FAQ, HowTo JSON-LD for Blogs

From JSON-LD code to testing, done in five steps

Schema markup is structured data that tells search engines what your content means. When to use Article, FAQ, or HowTo, and how to test your JSON-LD code.

By · Fred KimUpdated
SEOGEOSchema MarkupStructured Data

Schema markup is code that tells search engines and AI engines what the content on a web page means. People can look at HTML and immediately tell "Is this an FAQ, a review, or a guide?", but that judgment isn't easy for machines. Schema markup helps them make it[1]. Pages with schema can appear in search results as rich snippets such as star ratings, FAQ accordions, and step lists, and these rich snippets tend to get higher click-through rates than regular results.

What you need before you start

  • Basic HTML knowledge (knowing what a script tag is is enough)
  • CMS editing access, or an environment where you can edit code directly
  • Access to Google Rich Results Test (for validation)

Five steps to apply it

Step 1: Choose the right schema type

Content typeSuitable schemaRich snippet effect
Blog postArticleShows publish date, author, image
Post with an FAQFAQPageCan show an FAQ accordion
Step-by-step guideHowToShows a step list and time required
Product reviewReview + ProductShows star rating and price
Term definitionDefinedTermDefinition snippet

For most blogs, starting with the Article and FAQPage combination is enough.

Step 2: Write the basic JSON-LD structure

JSON-LD is a JSON format you place inside an HTML <script> tag. It's the method Google officially recommends[1].

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "Post title",
  "author": {
    "@type": "Person",
    "name": "Author name"
  },
  "datePublished": "2026-09-01",
  "dateModified": "2026-09-08"
}
</script>

JSON-LD works whether you put it in <head> or <body>, but Google recommends putting it inside <head>.

Step 3: Apply Article schema

Here's the Article schema to apply to blog posts by default.

{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "On-page SEO checklist 2026",
  "description": "An 8-step checklist from title tags to schema markup",
  "author": {
    "@type": "Person",
    "name": "Author name",
    "url": "https://example.com/about"
  },
  "publisher": {
    "@type": "Organization",
    "name": "Brand name",
    "logo": {
      "@type": "ImageObject",
      "url": "https://example.com/logo.png"
    }
  },
  "datePublished": "2026-09-01",
  "dateModified": "2026-09-08",
  "mainEntityOfPage": "https://example.com/blog/on-page-seo-checklist-2026"
}

Step 4: Apply FAQ schema

Add this to posts that have an FAQ section.

{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "name": "Is schema markup required for SEO?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "It isn't required, but applying it improves your chances of getting rich snippets."
      }
    }
  ]
}

Note: The questions and answers in your FAQ schema must also be displayed as-is in the actual page body. Applying schema only to hidden content is a policy violation[2]. It also won't always show up as a rich result. Google decides whether to show it based on the query and the page's credibility, so adding schema correctly doesn't guarantee an accordion.

Step 5: Test and deploy

  1. Validate by entering a URL or code in Google Rich Results Test.
  2. Fix any errors. Missing required fields are the most common cause.
  3. After deploying, check recognition in Search Console's "Rich results" reports.
  4. It can take anywhere from a few days to a few weeks for rich snippets to show up.

Code examples by schema type

HowTo schema

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to apply schema markup",
  "totalTime": "PT1H",
  "step": [
    {
      "@type": "HowToStep",
      "name": "Choose a schema type",
      "text": "Choose the schema type that fits your content."
    },
    {
      "@type": "HowToStep",
      "name": "Write the JSON-LD",
      "text": "Write JSON-LD code that matches the type you chose."
    }
  ]
}

Applying multiple schemas at once

You can put multiple schemas on one page. To apply Article and FAQPage together, wrap them in an array like this.

<script type="application/ld+json">
[
  {
    "@context": "https://schema.org",
    "@type": "Article",
    "headline": "..."
  },
  {
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "mainEntity": [ ... ]
  }
]
</script>

What schema means for GEO

Schema markup isn't just about decorating search results. In the AI era, it also becomes a reference signal as AI engines work to understand content.

AI systems can consult structured data when parsing web content, and when Article schema states the author, publish date, and affiliation, it can help AI identify the source more accurately. Providing trust signals such as author information, publish date, and organization information through schema also works in your favor in credibility assessments.

Keep in mind, though, that schema by itself doesn't guarantee AI citations. Schema matters more when it's used together with a body structure that answers questions directly, evidence and sources, and external trust signals. We cover this relationship in more detail from the perspective of treating schema as technical hygiene rather than an AI citation lever.

Practical tips

If your CMS has a plugin that auto-generates Article and FAQ schema, it can reduce the burden of hand-coding. The required and recommended fields for each type are clearly defined in the official schema.org documentation, so it's worth checking[3]. Overusing schema can backfire. Attaching schema that doesn't fit, like adding Review schema to a post that isn't a review, can actually put the page under review. Update the dateModified field every time you update the content. That date can act as a signal that the content is current.

Where people often get stuck

Rich Results Test shows an error. The most common cause is a missing required field. Article schema requires headline, author, and datePublished. Check the error message for the missing field and add it.

I applied schema but don't see rich snippets. Google doesn't guarantee that rich snippets will appear. Even if the schema is correct, it may not be shown if it's judged unsuitable for a particular query. Wait at least 2–4 weeks, then check Search Console.

I keep getting JSON-LD syntax errors. Most are missing commas or mismatched quotes. Paste your code into a JSON validator first to catch syntax errors, then validate the schema with Rich Results Test.

Schema markup is a fundamental that, once set up, lasts a long time. The safest approach is to apply Article and FAQPage accurately first, then add types that fit each page one at a time.

For related reading, see Does schema markup increase AI citations? The problem with JSON-LD that doesn't match the body, FAQ rich results are gone: should you delete FAQ schema? Moving to an in-body Q&A evidence structure, and What is GEO (Generative Engine Optimization)? Which pages to start with, and in what order.

Frequently asked questions

Is schema markup required for SEO?

It isn't required, but applying it helps both search engines and AI engines understand what the page means more accurately. Google doesn't guarantee rich results, but adding accurate structured data improves your chances of being eligible.

If I add FAQ schema, will it always appear as an accordion?

No. Search engines decide whether and how rich results appear based on the query and the page's credibility. The questions and answers in your FAQ schema must also appear as-is in the page body, and applying schema only to hidden content can be treated as a policy violation[2].

Can I put multiple schemas on one page at the same time?

Yes. You can include several @type entries together as an array inside a single script tag. Applying Article and FAQPage together is the most common combination for blog posts.

References

  1. [1]Google Search Central, "Structured data markup"
  2. [2]Google Search Central, "FAQPage structured data"
  3. [3]Schema.org

Summary

  • Schema markup is JSON-LD code that clearly tells machines what a page means (a post, an FAQ, a guide), which is hard to tell from HTML alone.
  • It's enough to start with Article for blog posts, FAQPage for pages with an FAQ, and HowTo for step-by-step guides.
  • The questions and answers in FAQ schema must also be shown as-is in the body, and schema must not be applied to hidden content only.
  • After applying it, the safe order is to validate with Google Rich Results Test, then check recognition in Search Console's rich results reports after deployment.

Produce the content this post covers from your brand standard

TRAIL Studio registers the brand standard once and produces cardnews, detail pages, product photos, shorts and blog posts from it. Generated output is reviewed and edited by a person before it ships.

More posts

Keep reading on this topic

This post is part of the Content category, which collects all 41 posts on the topic. See all posts in Content