AEO Saigon
How-to

What Is HowTo Schema? How to Use It So AI Cites Your Step-by-Step Guides

Table of contents

HowTo schema is structured data that tells AI and Google your page contains a step-by-step process — not just regular text. When AI receives a "How do I do X?" question, it prioritizes citing sources with HowTo schema because it can read each step in a structured way rather than inferring from long paragraphs.

How does HowTo schema work?

Think of AI as an extremely busy reader. If you write a process as prose:

"First you need to open the software, then go to Settings, then click the Advanced tab and find the..."

AI has to "read" and figure out which step this is, what the action is.

If you add HowTo schema:

{
  "step": [
    { "name": "Open the software", "text": "Double-click the icon..." },
    { "name": "Go to Settings", "text": "Click the gear icon..." }
  ]
}

AI reads the structure immediately without inference. Result: higher probability of citation and more accurate citations.

Full HowTo schema syntax

{
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": "How to Add FAQ Schema to a WordPress Website",
  "description": "Guide to adding FAQPage schema to a WordPress post without plugins.",
  "totalTime": "PT20M",
  "estimatedCost": {
    "@type": "MonetaryAmount",
    "currency": "USD",
    "value": "0"
  },
  "step": [
    {
      "@type": "HowToStep",
      "position": 1,
      "name": "Open the post that needs schema",
      "text": "Go to WordPress Admin > Posts > select the post to edit, switch to HTML editor (Code Editor).",
      "image": "https://example.com/step-1.jpg"
    },
    {
      "@type": "HowToStep",
      "position": 2,
      "name": "Add JSON-LD script at the end of the post",
      "text": "Paste the JSON-LD code with @type FAQPage at the bottom of the content, inside a script tag with type=\"application/ld+json\".",
      "image": "https://example.com/step-2.jpg"
    },
    {
      "@type": "HowToStep",
      "position": 3,
      "name": "Save and verify",
      "text": "Click Update to save the post. Then go to Google's Rich Results Test to confirm the schema is working."
    }
  ]
}

Important fields:

  • name — process name (required)
  • totalTime — estimated time in ISO 8601 format: PT20M = 20 minutes, PT1H = 1 hour
  • step — array of steps, each with name and text (required), image (recommended)
  • estimatedCost — cost if applicable (optional)
  • supply and tool — materials and tools needed (optional, good for recipes and repair guides)

Real-world examples by industry

F&B — Recipe

{
  "@type": "HowTo",
  "name": "How to Make Authentic Pho Bo",
  "totalTime": "PT3H",
  "step": [
    { "name": "Simmer the bones", "text": "Simmer pork and beef bones in cold water for 2 hours..." },
    { "name": "Make the broth", "text": "Sauté lemongrass, fish sauce, chili..." }
  ]
}

Professional services — Administrative process

{
  "@type": "HowTo",
  "name": "How to Register an LLC in Vietnam",
  "totalTime": "PT720H",
  "step": [
    { "name": "Prepare documents", "text": "Draft company charter, member list..." },
    { "name": "File online", "text": "Go to dangkykinhdoanh.gov.vn..." }
  ]
}

E-commerce — Product user guide

{
  "@type": "HowTo",
  "name": "How to Set Up an Air Purifier for the First Time",
  "totalTime": "PT10M",
  "step": [
    { "name": "Remove filter packaging", "text": "Open the back panel, take out the filter..." },
    { "name": "Plug in and select mode", "text": "Plug in, press the Power button..." }
  ]
}

Implementation in Next.js (App Router)

// app/blog/[slug]/page.tsx
const howToSchema = post.frontmatter.howToSteps ? {
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": post.frontmatter.title,
  "step": post.frontmatter.howToSteps.map((step, i) => ({
    "@type": "HowToStep",
    "position": i + 1,
    "name": step.name,
    "text": step.text,
  })),
} : null;

// Embed in JSX:
{howToSchema && (
  <script
    type="application/ld+json"
    dangerouslySetInnerHTML={{ __html: JSON.stringify(howToSchema) }}
  />
)}

Validate with Rich Results Test

After implementation, validate at Rich Results Test:

  1. Paste the page URL (or paste HTML/JSON directly)
  2. Click "TEST URL"
  3. Find "HowTo" in the "Detected structured data" list
  4. Check "Valid items" — number of valid schema steps
  5. Fix errors if there are yellow warnings or red errors

Common errors:

  • Missing name field at the HowTo level (required)
  • totalTime wrong format — must be ISO 8601 (PT30M, not 30 minutes)
  • step array is empty or has only 1 element

Should HowTo schema be used together with FAQ schema?

Yes — and highly recommended. A good how-to article typically has both:

  • HowTo schema: main process (Step 1, Step 2...)
  • FAQPage schema: frequently asked questions at the end

The two schemas don't conflict. AI reads both and can cite the process section for "how to" questions and the FAQ section for specific questions.


HowTo schema is one of the simplest schemas to implement but few Vietnamese websites use it — creating a big opportunity. See what FAQ schema is to implement the powerful schema pair, or check your website's AEO score now.

Frequently asked questions

Is HowTo schema different from FAQ schema?

Yes. FAQ schema is for question-and-answer pairs. HowTo schema is for sequential processes — each step has a name, description (text), and optionally an image or video. A single page can use both schema types simultaneously.

Does HowTo schema show rich results on Google?

Yes, but Google recently limited HowTo rich result display on desktop (mobile only for some queries). However, HowTo schema still helps AI read step-by-step structure clearly and cite it in answers — independent of rich results.

What content types should use HowTo schema?

Any content with a sequential process: software installation guides, recipes, administrative procedures, repair guides, exercises, marketing guides, legal procedures. If the content can be written as 'Step 1, Step 2, Step 3' — HowTo schema fits.

Can one page have multiple HowTo schemas?

Yes, if the page covers multiple separate processes. But in practice most pages only need one HowTo schema for the main process. Each HowTo schema should have at least 2 steps and no more than about 10 steps for effective AI citation.

AEO Saigon

An Answer Engine Optimization agency in Ho Chi Minh City — helping business websites get cited by AI. About AEO Saigon →

Want your website to be cited by AI like this?

Free Audit