Structured data has become the most cargo-culted job in SEO. Everybody installs a plugin, everybody ticks the boxes, almost nobody opens the page source afterwards. When we do open it, the usual finding is three or four JSON-LD blocks arguing with each other: one from the theme, one from the SEO plugin, one from the page builder, and sometimes a fourth from a reviews add-on that was uninstalled a year ago.
That mess is not neutral. Duplicate and conflicting entities make it harder, not easier, for a search engine or an AI assistant to work out what your page is and who wrote it. Here is what schema actually earns a blog in 2026, and how to end up with one clean graph instead of four broken ones.

What structured data does, and what it does not
Schema is a description, not a vote. It does not make a page rank higher. What it does is remove ambiguity: this is an article, published on this date, by this person, who is part of this organisation, and it sits at this point in the site hierarchy. Search engines can infer most of that from your HTML. Structured data means they do not have to guess.
Two things follow from that. First, the direct benefit is eligibility for specific result formats, and only a handful of formats exist for a blog. Second, the indirect benefit, which is larger than people expect in 2026, is being legible to systems that summarise rather than link. Assistants that cite sources are reading the same markup, and a clear author and publisher entity is part of why one page gets named and another does not, as we went through in how to get your business cited by ChatGPT and Google AI.
What a blog can actually earn
Be honest about the list, because it is short. Most of the types people add to blogs produce nothing a reader will ever see.

The two worth real effort on a blog are breadcrumbs and video. Breadcrumbs are trivial to add and change your listing immediately. Video markup is the only type left that meaningfully changes how much space you occupy on the page. Everything else is plumbing.
The duplicate schema problem nobody checks
This is the finding we hit most often, so check it before you add anything. Open any post, view source, and search for the string ld+json. If you get more than one result, work out who is emitting each one.
A typical broken setup has an Article block from the SEO plugin and a BlogPosting block from the theme, both describing the same page with different identifiers, plus two BreadcrumbList blocks and two Organization blocks with slightly different names. None of it is technically invalid, which is why validators pass it and nobody notices. It is still the structured data equivalent of handing someone two business cards with different job titles.
- Keep one source. On WordPress that is almost always the SEO plugin, because it builds a connected graph rather than isolated blocks.
- Disable the theme copy. Look for a schema or structured data toggle in theme options. Many premium themes ship it on by default.
- Check the page builder. Elementor, Divi and their blocks emit their own markup for some widgets.
- Remove orphans. Markup from deactivated plugins sometimes survives in cached HTML or in a child theme snippet somebody pasted in.
What happened to FAQ and HowTo
Both were withdrawn as rich results. FAQ snippets are now restricted in practice to well-known health and government sources, and HowTo was retired outright. If you added that markup in 2022 and have been wondering why the listing never changed, that is why.
Keep the content. A frequently asked questions section at the end of a post is still one of the best things you can write, because it is how people actually phrase queries and it gives an assistant a clean question and answer pair to lift. Just stop expecting the markup to buy you screen space, and do not let a plugin keep injecting FAQPage blocks that describe questions you have since deleted.
A clean setup, in order

Two of those steps deserve more than a line. The Organization block is what search engines use to decide whether your site is a real publisher, so it needs your legal or trading name, a logo file that actually resolves, and links to the profiles you genuinely control. If you run a local business, the same entity work pays off twice, and the local half of it is in Google Business Profile optimisation for AI search.
The author entity is the one most blogs get wrong. A post by a user called admin, with no bio and no author page, tells a search engine nothing about expertise. Give every writer a real display name, a bio with a sentence about why they are qualified, and a link from the author page to somewhere off-site that corroborates it.
Type by type, with a verdict
| Type | What you get | Verdict for a blog |
|---|---|---|
| BreadcrumbList | Breadcrumb trail in the listing | Do it. Add the visible trail too. |
| Article or BlogPosting | No visible change | Do it, once, from one source. |
| Organization | Publisher and knowledge panel signals | Do it properly, sitewide. |
| Person | Author identity and expertise signals | Do it for every real author. |
| VideoObject | Thumbnail and key moments | Do it if you publish video. |
| FAQPage | Effectively nothing since 2023 | Skip the markup, keep the section. |
| HowTo | Nothing. Retired. | Remove it. |
| AggregateRating on yourself | Nothing, and it is a policy breach | Never do this. |
How to test it without guessing
- Rich Results Test for one URL, to see what Google can parse and what it will show.
- Schema Markup Validator for strict correctness, including the types Google ignores.
- Search Console, Enhancements for the only view that covers your whole site over time. Errors here are real. A green validator on one page is not proof.
- View source for the duplicate count, which no validator will flag for you.
Do the whole check once a quarter and after any theme or plugin update. Structured data breaks silently, exactly like a broken backup or an expired certificate, and the same discipline applies as in the WordPress security and backup checklist.
The 20-minute version
- Open your three most important posts and count the JSON-LD blocks in the source. Write the number down.
- Identify the owner of each block, then switch off everything that is not your SEO plugin.
- Fix the Organization entity once, sitewide: legal name, resolving logo URL, the profiles you control.
- Give every author a display name, a bio and one corroborating off-site link.
- Turn on breadcrumbs in both the schema and the visible template.
- Delete FAQPage and HowTo markup. Keep the sections they described.
- Run the Rich Results Test on one post, then check Search Console Enhancements in a week.
That is the whole job for most blogs. It is an afternoon, it does not recur, and it is one of the few SEO tasks where you can verify the outcome by reading the page source rather than waiting on a ranking to move.
Where this sits against everything else
Keep the priority honest. Structured data is a legibility fix, not a growth lever. If your posts are thin, your internal linking is accidental, or your pages take four seconds to render, schema will not rescue any of it, and the time is better spent elsewhere. We only put it near the top of a list when a site is already publishing decent work and quietly undermining it with four conflicting descriptions of itself.
The reason it is worth doing at all is that it is cheap, permanent and easy to verify. Very little else in this field has all three properties. If you are hiring for it, ask a prospective agency to show you the page source before and after, which is the sort of concrete answer we suggested asking for in how to choose the right web development agency.
Common questions
Do I need a dedicated schema plugin?
Usually not. Yoast and Rank Math both build a complete connected graph out of the box, and adding a third-party schema plugin on top is the most common cause of the duplicate blocks described above. Add a dedicated plugin only for a type your SEO plugin genuinely does not support, and then only for the templates that need it.
Will schema help me get quoted by AI assistants?
It helps, indirectly. Assistants do not reward markup, but they do need to resolve who wrote something and what it claims. Clean Article, Organization and Person entities make that resolution easy. Content quality and clear structure matter far more, which is the argument in how AI is changing digital marketing.
Should breadcrumb schema match a visible breadcrumb?
Yes. Google expects structured data to describe content that is actually on the page. Schema for a breadcrumb trail that does not exist anywhere in the layout is the kind of mismatch that is easy to fix and awkward to explain. Turn on your SEO plugin breadcrumb function and put it in the post template.
My validator is clean but nothing shows in search. Why?
Because eligibility is not a promise. Valid markup makes you eligible for a format; Google still decides per query whether to show it. If you are validating clean and seeing nothing, check that the type you added is one that still produces a visible result at all, and check that page speed is not stopping the crawler from rendering the page, which is the Core Web Vitals side of the same job.