Schema Markup for Blog Posts: What Still Helps (and What Google No Longer Rewards)

Most advice about schema markup for blog posts is out of date. A few years ago, adding FAQ and HowTo markup could earn expandable dropdowns and step lists in Google results. Today, that advice sends people chasing a result that Google no longer shows for most sites. If you're a content creator, SaaS marketer, or agency owner deciding where to spend limited technical-SEO time, this guide separates the structured data that still pays off from the markup that mostly doesn't.
You'll get a clear view of what BlogPosting and BreadcrumbList markup do for you, an honest section on what changed with FAQ and HowTo, two copy-paste JSON-LD examples, a WordPress plugin-versus-manual comparison, and a validation routine you can run in a few minutes.
Quick Answer: Schema markup for blog posts is structured data, usually written in JSON-LD, that tells machines who wrote a post, when it was published and updated, and what it is about. Article/
BlogPostingandBreadcrumbListmarkup are still supported by Google and worth adding. FAQ rich results are now limited to well-known government and health sites, and HowTo rich results have been removed, so don't add those two expecting a visible search benefit.
What is Schema Markup?
Understanding Structured Data
Schema markup is a shared vocabulary defined at schema.org, a collaborative project founded by Google, Microsoft, Yahoo, and Yandex. When you add it to a page, you give machines a labelled description of your content: not just the words on the page, but what they represent. Without markup, a date in your byline is just text. With the datePublished property, it becomes an unambiguous fact.
Structured data is invisible to readers but explicit for crawlers. According to Google's structured data introduction, Google uses structured data it finds on the web to understand the content of a page, and some markup types make pages eligible for enhanced presentation in search results.
How Schema Works
Schema code lives in your page's HTML, typically in a <script type="application/ld+json"> block. Crawlers read it alongside the visible content. Google's guidelines require the two to agree: markup that describes content readers can't see on the page is a policy problem, not a shortcut.
What Structured Data Still Helps
Set Honest Expectations First
Structured data is not a ranking shortcut. Adding it will not lift a thin post up the results. What it does is remove ambiguity: it makes the author, dates, headline, image, and site hierarchy explicit, and it makes a page eligible for the presentation features Google still supports. For a blog, two types do most of the useful work.
Article and BlogPosting Schema
BlogPosting is a subtype of Article and the most precise choice for a blog. Google's Article documentation says this markup can help Google understand the page and show better title text, images, and date information in Search and in products such as Google Discover. Google lists no strictly required properties for Article, but recommends headline, image, author, datePublished, and dateModified. A complete example is below.
Two details are worth getting right. First, mark the author as a Person with a url pointing to a real author page, so the byline connects to an identifiable entity. Second, keep dateModified honest: update it when you make a meaningful content change, not on every minor tweak.
BreadcrumbList Schema
BreadcrumbList describes where a page sits in your site's hierarchy, for example Home > Blog > Technical SEO. Google still supports it and may show the trail in the search snippet. It's cheap to add and particularly useful for blogs organised into categories or topic clusters. See Google's breadcrumb documentation for the property list.
What Google No Longer Rewards (FAQ and HowTo)
This is where much of the older advice has gone wrong, so it deserves plain language.
- FAQ rich results: In August 2023, Google announced that FAQ rich results would only be shown for well-known, authoritative government and health websites. For a typical blog, adding FAQ markup will not produce the expandable question-and-answer dropdowns in Google results. Google's FAQ structured data page states this restriction.
- HowTo rich results: Google announced the same month that it was reducing and then removing HowTo rich results, and the feature is no longer shown on desktop or mobile. Google also removed the HowTo documentation. The announcement is on the Google Search Central blog.
- The Search Gallery: Google's structured data Search Gallery, which lists the types that can produce rich results, no longer includes FAQ or HowTo.
The practical takeaway: if a tutorial tells you FAQ or HowTo markup is a way to take up more space in the results, check its publication date. For most blogs, neither is a lever for visible search results anymore.
Should You Delete Existing FAQ Markup?
No, there's no need to rip it out. FAQ markup that matches questions and answers visible on the page is still valid schema.org and harmless. It just shouldn't be your priority, and you shouldn't expect Google to reward it. If you want to write FAQ sections that serve readers, our guide to writing an FAQ that answers real questions covers the on-page work that matters far more than the markup.
Structured Data and AI Answers
It's tempting to claim that schema is a secret key to AI Overviews or chatbot citations. We can't point to evidence for that, so we won't. Here's what can be said honestly:
- Structured data gives machines unambiguous facts about a page: who the author is, when it was published and updated, what organisation stands behind it.
- Google says it uses structured data to understand the content of a page.
- For answer engines, the clarity of the on-page content matters more than any markup: a direct answer near the top, descriptive headings, and facts a reader (or a model) can lift cleanly.
Treat schema as a supporting layer, not the strategy. If you're building one, start with our explainer on what answer engine optimization (AEO) is and how to optimize your blog for AI answers, then add markup once the content itself is answer-ready.
Copy-Paste JSON-LD Examples
Google recommends JSON-LD over Microdata or RDFa. It lives in one script block instead of being woven through your HTML, which makes it easier to maintain across a content library.
| Aspect | JSON-LD | Microdata |
|---|---|---|
| Placement | Single script block | Inline with HTML |
| Maintainability | High: edit one location | Low: changes spread throughout |
| Google preference | Recommended | Supported but not preferred |
Complete BlogPosting Example
Paste this inside a <script type="application/ld+json"> tag in your post template and replace the placeholder values. All URLs should be absolute, and the image should be a real, crawlable image on the page.
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://example.com/blog/schema-markup-for-blog-posts"
},
"headline": "Schema Markup for Blog Posts: What Still Helps",
"description": "Which structured data still earns visible benefits for a blog, with copy-paste JSON-LD.",
"image": [
"https://example.com/images/schema-markup-1200x630.jpg"
],
"author": {
"@type": "Person",
"name": "Jane Doe",
"url": "https://example.com/authors/jane-doe"
},
"publisher": {
"@type": "Organization",
"name": "Example Co",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"datePublished": "2026-10-30T08:00:00+00:00",
"dateModified": "2026-10-30T08:00:00+00:00"
}
Short FAQ Markup Example
Read this first: this is still valid schema.org markup, but Google will not show a rich result for it on most sites. It is harmless and semantically clear, and it may help other parsers understand your Q&A content. Add it only if the questions and answers are visible on the page, and don't expect a visible search benefit.
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Does schema markup improve rankings?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Not directly. It helps search engines understand the page, but clear content still does the heavy lifting."
}
},
{
"@type": "Question",
"name": "Which format should I use?",
"acceptedAnswer": {
"@type": "Answer",
"text": "JSON-LD, which is the format Google recommends."
}
}
]
}
Combining Schema Types
A page can carry more than one type, and combining them is valid as long as each accurately reflects visible content. A typical blog post pairs BlogPosting with BreadcrumbList. Adding FAQ markup on top is allowed but optional. Don't add a type just because a plugin offers it: every extra block is more markup to keep accurate.
Schema Markup in WordPress: Plugin vs Manual
On WordPress you have three realistic routes. Both of the major SEO plugins, Yoast SEO and Rank Math, generate Article/BlogPosting JSON-LD for posts automatically, so many sites already have a working baseline without doing anything.
| Approach | Setup effort | Control | Duplicate-schema risk | Best for |
|---|---|---|---|---|
| Yoast SEO | Low: works from install defaults, with settings for author and organisation details | Moderate: adjust through settings and filters | Higher if your theme or another plugin also outputs schema | Teams who want sensible defaults with minimal maintenance |
| Rank Math | Low to moderate: schema options are exposed per post type and per post | Moderate to high: more per-post schema choices in the editor | Higher if your theme or another plugin also outputs schema | Creators who want more per-post control without writing code |
| Manual JSON-LD (theme template or code-snippet plugin) | Higher: you write, test, and maintain the code | Full | Highest if you forget to disable the plugin's output, otherwise lowest | Developers, agencies, and custom or headless setups |
Watch for duplicate schema. The most common WordPress mistake is two sources emitting the same type: for example, your theme outputs Article markup while your SEO plugin outputs BlogPosting, giving the page two conflicting descriptions of the same post. Before adding anything manually, view your page source, search for application/ld+json, and see what's already there. If you go manual, turn off the plugin's schema output for that type, or you'll be maintaining two competing blocks.
For the rest of your on-site setup, our SEO content brief template helps you plan the page before you mark it up.
Validating Your Schema Markup
Run through these checks after you add or change markup, and again after any template change.
- Google's Rich Results Test: accepts a URL or a code snippet and reports the rich result types Google can detect. It only flags types Google supports, so FAQ markup that is valid but no longer rewarded won't appear as an eligible result.
- The Schema Markup Validator: checks your code against the schema.org vocabulary regardless of whether Google shows a rich result for it. Use this to confirm syntax and property names for any type.
- Search Console: once a page is live, the Enhancements and rich results reports show which supported types Google found across your site and any errors or warnings it raised at scale.
Common Errors
Syntax mistakes are the usual culprit: a missing comma, an unclosed bracket, or a string where an object is expected will break the whole block. Run your JSON through a parser before publishing. The other common issue is a mismatch between markup and page, for example a datePublished that doesn't match the visible date or an author name that differs from the byline.
Common Mistakes to Avoid
Marking Up Content That Isn't There
Markup must describe what readers can see. Adding question-and-answer markup for questions the page doesn't answer, or a procedure for a post that isn't one, violates Google's structured data guidelines and can lead to your markup being ignored.
Chasing Retired Features
Spending hours on markup for a result Google no longer shows is the clearest waste of effort. Before investing in any type, check that it appears in Google's current Search Gallery.
Never Revisiting It
As the FAQ and HowTo changes show, supported features come and go. Review your structured data against Google's documentation a couple of times a year, and whenever you redesign templates. When you refresh a post's content, update its dateModified to match.
Frequently Asked Questions About Schema Markup for Blog Posts
Does schema markup directly improve my Google rankings?
No. Structured data is not a ranking shortcut. It helps Google understand your page and makes it eligible for supported presentation features, such as better title text, image, and date information for articles.
What is the difference between Article and BlogPosting schema?
Article is the broad type for editorial content. BlogPosting is a more specific subtype for blog content. For most blogs, BlogPosting is the more accurate choice, and Google's Article documentation covers both.
Should I still add FAQ markup to my blog posts?
It's optional. Google now shows FAQ rich results only for well-known government and health sites, so don't expect dropdowns in search results. If the questions and answers are visible on the page, FAQ markup is still valid and harmless, but it shouldn't be a priority.
Is HowTo schema still worth using?
Not for search results. Google removed HowTo rich results, so there is no visible benefit to chase. Put your effort into clear, well-structured steps on the page instead.
How do I add schema markup to a WordPress blog post?
The simplest route is an SEO plugin such as Yoast SEO or Rank Math, which generate Article/BlogPosting JSON-LD for posts automatically. For full control, add your own JSON-LD through your theme or a code-snippet plugin, and make sure the plugin isn't also outputting the same type.
What happens if my schema markup contains errors?
Syntax errors can stop the whole block from being read, and mismatches with the visible page can lead Google to ignore the markup. Check with the Rich Results Test and the Schema Markup Validator before publishing.
Conclusion: Keep It Small, Accurate, and Current
The best schema strategy for a blog today is a modest one. Get BlogPosting and BreadcrumbList right, keep your author and date data truthful, validate everything, and put the saved time into content that answers questions clearly.
Key Takeaways:
- Use
BlogPosting(orArticle) andBreadcrumbListas your baseline: these are still supported by Google. - FAQ rich results are limited to well-known government and health sites, and HowTo rich results are removed, so don't add either expecting a visible benefit.
- Use JSON-LD, validate with both the Rich Results Test and the Schema Markup Validator, and monitor Search Console.
- Structured data gives machines clear facts but is not a substitute for clear on-page answers.
- On WordPress, check for duplicate schema from your theme and SEO plugin before adding anything manually.
- Keep markup matched to visible content, and review it against Google's docs a couple of times a year.
Start with one post: view the page source, find the existing application/ld+json blocks, run them through both validators, and fix what's missing before touching anything else.