HowTo Schema Deprecated But Template Still Emits It

Google deprecated HowTo rich results in 2023, yet your template still injects HowTo JSON-LD on every page. Rich Results Test passes, but the rich result never returns — and the markup may now be a liability.

Your tutorial pages have been emitting @type: HowTo JSON-LD for years. Rich Results Test still validates it. But Search Console no longer reports HowTo impressions, the step-by-step rich result no longer appears in SERPs, and traffic on tutorial pages dropped after a core update. Google deprecated HowTo rich results in late 2023 — limited to a tiny set of sites in early 2024, then removed from general availability. The schema itself is still “valid,” but it produces zero result enhancement and, when it disagrees with visible content, can trigger structured-data warnings that depress trust signals. Time to clean it up.

Common causes

Ordered by how often each appears in the wild.

1. Boilerplate template still wraps every tutorial in HowTo

A previous content team added @type: HowTo to every article with an ordered list. Nobody touched the template since 2022. The markup persists, even though Google no longer rewards it.

How to spot it: View source on any tutorial. If you see "@type": "HowTo" with "step": [...], the deprecated schema is live.

2. HowTo steps no longer match the visible page

The page was rewritten as a narrative article, but the JSON-LD still lists the old steps. Rich Results Test passes (steps are well-formed), but Google’s content-match check fails silently.

How to spot it: Compare the name of each HowToStep in JSON-LD against visible H2/H3 headings on the page. Mismatches are common after content edits.

3. CMS plugin auto-generates HowTo from any ordered list

A WordPress plugin (Yoast, RankMath, Schema Pro) wraps any <ol> in HowTo automatically. Recipes, listicles, even “5 reasons to…” articles get tagged as HowTo. None of these are real procedural how-tos.

How to spot it: Disable the plugin’s HowTo generator and rebuild. Count how many pages lose the markup — anything above your real tutorial count is bogus.

4. HowTo nested inside Article confuses Google

The JSON-LD wraps the Article with a HowTo, or vice versa. Google’s parser picks one and ignores the other — usually the wrong one. Article rich result also disappears.

How to spot it: In Rich Results Test, check which schema type is “detected.” If it shows HowTo but you wanted Article, the nesting is wrong.

5. Migrated articles kept HowTo while losing the step structure

After a CMS migration the ordered list collapsed into paragraphs, but the JSON-LD generator kept emitting HowTo steps from a database field nobody updated.

How to spot it: The page has zero visible numbered steps yet JSON-LD declares HowTo with 8 steps. Classic stale-data signature.

6. Confusing HowTo with Recipe or Article

For cooking content use Recipe. For instructional articles use Article (which still gets a rich snippet for date and author). HowTo was a separate category, now gone for most sites.

How to spot it: The page reads like an Article (“How I built X”) but is tagged HowTo. It should be Article or TechArticle.

Before you start

  • Confirm the deprecation status in your locale; HowTo is fully retired for general results as of 2024.
  • Capture a list of URLs currently emitting @type: HowTo — you will need this baseline to measure cleanup.
  • Note whether HowTo impressions still appear in Search Console under “Search Appearance” — if they vanished months ago, the markup is doing nothing.
  • Decide your replacement: most tutorial pages should become Article with a clear H1 and section headings.

Information to collect

  • Total count of pages emitting HowTo (use a crawler with structured-data extraction or grep on the rendered HTML).
  • Last 90 days of HowTo impression and click data from Search Console.
  • Template / plugin / generator responsible for emitting the markup.
  • Any pages where HowTo steps disagree with visible H2/H3 list.
  • Whether the HowTo is the outermost JSON-LD or nested inside Article.

Step-by-step fix

Ordered by cost: cheapest first.

Step 1: Confirm the markup is live and stale

Pick five tutorial URLs and check the raw HTML:

for url in /tutorial/setup /tutorial/install /tutorial/deploy /tutorial/cleanup /tutorial/upgrade; do
  echo "=== $url ==="
  curl -s "https://example.com$url" | grep -A1 '"@type": "HowTo"' | head -5
done

If every URL emits HowTo, the template is the source. If only some do, a per-article flag is at fault.

Step 2: Remove the HowTo generator from the template

In Astro / Next / Eleventy templates, find the JSON-LD block that emits @type: HowTo and gate it off:

// before
const jsonLd = {
  "@context": "https://schema.org",
  "@type": "HowTo",
  "name": article.title,
  "step": article.steps.map((s, i) => ({
    "@type": "HowToStep",
    "position": i + 1,
    "name": s.heading,
    "text": s.body,
  })),
};

// after
const jsonLd = {
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": article.title,
  "datePublished": article.publishedAt,
  "dateModified": article.modifiedAt ?? article.publishedAt,
  "author": { "@type": "Person", "name": article.author },
};

Article is broadly supported and gives you the byline and date chips that HowTo used to provide.

Step 3: Disable HowTo in your SEO plugin

For Yoast: Schema settings → uncheck “HowTo” content type. For RankMath: Schema → HowTo → disabled. For Schema Pro: delete the HowTo schema rule.

After saving, view source on a representative page and confirm the HowTo block is gone.

Step 4: Backfill an Article schema where appropriate

For pages that genuinely document a procedure, switch to Article or TechArticle:

{
  "@context": "https://schema.org",
  "@type": "TechArticle",
  "headline": "Deploy a Static Site to Cloudflare Pages",
  "datePublished": "2026-01-12",
  "dateModified": "2026-05-10",
  "author": { "@type": "Person", "name": "Jane Lee" },
  "publisher": {
    "@type": "Organization",
    "name": "Example Inc",
    "logo": { "@type": "ImageObject", "url": "https://example.com/logo.png" }
  },
  "mainEntityOfPage": "https://example.com/tutorial/deploy-cloudflare"
}

Step 5: Re-validate every formerly-HowTo URL

Run a fresh crawl. The structured-data extractor should now find Article only, no HowTo. Submit a few representative URLs through URL Inspection → Request indexing.

Step 6: Watch Search Console for warning cleanup

Under “Enhancements”, existing HowTo entries will phase out over 4-8 weeks. If you see new warnings appear (“HowTo step missing image”), confirm those URLs no longer emit HowTo — sometimes a cache layer keeps stale HTML around.

Verify

  • View-source on five tutorial pages shows Article (or TechArticle), zero HowTo.
  • Rich Results Test on the same pages detects Article and reports no eligible HowTo result.
  • Search Console “Enhancements” no longer lists HowTo within 30 days.
  • Tutorial-page clicks recover modestly as Article-type byline / date chips reappear in SERPs.

Long-term prevention

  • Maintain a “schema registry” in your repo: one file lists each @type your site emits, its purpose, and the template that owns it.
  • Subscribe to Google Search Central announcements; review structured-data deprecations quarterly.
  • Require structured-data changes to ship as code PRs reviewed by SEO + eng, not as a CMS plugin toggle.
  • Run a weekly CI check that greps rendered HTML for deprecated schema types you have flagged.
  • For new content types, default to Article and add specialized schema only when there is a documented Google rich-result enhancement.

Common pitfalls

  • Leaving HowTo in place “because Rich Results Test still validates.” Validation only proves syntax; it does not prove Google will render the result.
  • Replacing HowTo with Article but forgetting author, datePublished, and publisher — those are the fields that actually drive the byline / date chip.
  • Disabling the plugin’s HowTo toggle on the staging site only, then forgetting production has its own settings.
  • Adding Recipe schema to non-recipe content because “it still gets rich results” — that violates Google’s content guidelines and risks manual action.
  • Removing HowTo from JSON-LD but leaving microdata itemtype="https://schema.org/HowTo" attributes in HTML. Google will still parse those.

FAQ

Q: Did Google fully kill HowTo, or only some categories?

For general web results, HowTo rich enhancements are no longer shown as of late 2023, with the exception of a narrow set of test partners through early 2024. Treat HowTo as effectively gone.

Q: Will leaving HowTo schema harm my rankings?

It will not directly penalize you, but stale or content-mismatched HowTo can trigger structured-data warnings in Search Console which erode trust signals over time. Clean removal is safer than benign neglect.

Q: What replaces HowTo for step-by-step tutorials?

Article or TechArticle with clear H2/H3 step headings. Use mainEntityOfPage, author, datePublished, and dateModified. These earn the byline-and-date chip that HowTo used to share.

Q: Should I delete HowTo even if Rich Results Test passes with zero warnings?

Yes. A “passing” deprecated schema produces zero result enhancement and adds bytes to every page. The maintenance cost outweighs the nonexistent benefit.

Tags: #SEO #Troubleshooting #Structured data #howto-schema #JSON-LD