Category: Uncategorized

  • Schema Markup for Articles: What Google Actually Reads

    Structured data is the one part of SEO where you are talking to a parser instead of a reader, and parsers are unforgiving. Either the markup validates and the page becomes eligible for a rich result, or it does not and nothing happens at all. There is no partial credit.

    JSON-LD won, and it was not close

    There were three ways to express structured data on a page: microdata woven into your HTML attributes, RDFa doing much the same thing with a different vocabulary, and JSON-LD sitting in its own script tag away from the markup. Google has recommended JSON-LD since 2015 and by 2024 the recommendation had hardened into something close to a requirement in practice. The reason is maintenance. Microdata couples your structured data to your template, so a designer who moves a div breaks your rich results without knowing it. JSON-LD is a separate block that a developer can generate, test and change without touching the visible page at all.

    What an Article actually needs

    The Article type has a long list of optional properties and a short list that matters. Headline, image, datePublished and author carry almost all of the weight. dateModified matters more than people expect, because it is the field that tells a crawler your page was revisited rather than merely republished. Everything else on the reference page is worth adding only if you have the data already.

    The headline property has a hard limit of 110 characters. Exceed it and the whole block is treated as invalid, which is the kind of failure that is easy to ship and hard to notice, because nothing on the page looks broken. Test it in the Rich Results Test rather than assuming, and test the page as Google fetches it rather than the source you wrote, because a plugin further down the chain may have rewritten your title.

    The duplicate block problem

    The most common structured data bug on a WordPress site is not a malformed property. It is two plugins each emitting their own Article block on the same page, disagreeing about the author or the modified date. Google will pick one, and which one it picks is not something you control.

    The fix is to decide which plugin owns the schema and make every other one stop. Most SEO plugins expose a filter for exactly this. Anything that generates schema should check whether a block of the same type already exists before adding its own, and stay quiet if it does. A page with one correct Article block outperforms a page with two contradictory ones every time.

    Where to spend the effort

    Schema is not a ranking factor and treating it like one leads to wasted afternoons. What it does is make a page eligible for a presentation that occupies more space and answers more of the query before the click. That is worth having, and it is worth having correctly on the twenty pages that bring you traffic rather than approximately on all two thousand. Start with the pages that already rank, validate them, fix what fails, and leave the rest until those are clean.