BlogFindings

Seven of 102 schema nodes named an author, and six were reviewers

Parsed with an HTML parser on 24 August 2026 out of five real pages this scanner captured and stored on 15 July 2026, 7 of the 102 typed JSON-LD nodes carry an author property. Six of those seven sit on Review nodes and name the customer who gave a testimonial. The seventh names an organisation. No page in the set says which person wrote it, and all five carry zero meta author tags, zero rel=author links and zero address elements.

18 min read Lantad

The measurement is narrow and its limits are stated throughout. Five pages is not a sample of the web, all five were captured on the same day, and nothing here says what any AI crawler does with an author property, because that is not observable from a stored page. The denominator comes from an earlier count over the same set, which found that three of five captured pages carried JSON-LD holding 102 typed nodes between them. This post puts a different question to those same 102 nodes: how many of them say who wrote anything, and what the answer turns out to name.

In short

  • Parsed with an HTML parser on 24 August 2026 over five real pages this scanner captured and stored on 15 July 2026, 7 of the 102 typed JSON-LD nodes carry an author property, and 6 of those 7 sit on Review nodes on the Webflow homepage naming the customer who gave the testimonial.
  • The seventh author value is on the English Wikipedia article and names an Organization called Contributors to Wikimedia projects, so across all five pages no author property names an individual who wrote the page it sits on.
  • Google's Article structured data documentation, carrying Last updated 2025-12-10 UTC, states that there are no required properties and strongly recommends the type and url or sameAs properties on an author. All seven author values carry a type; none carries a url, a sameAs or an @id.
  • Across all five pages, in the raw HTTP response and the rendered DOM alike, there are zero meta name=author elements, zero rel=author links, zero address elements and zero itemprop=author attributes, so the HTML mechanism schema.org calls equivalent to its own author property appears nowhere in the set.
  • Lantad does not read an author. SCHEMA_REQUIREMENTS in core/src/schema.ts requires only headline for an Article, and the five Entity Confidence signals are identity, sameAs, stableId, logo and category. A founder check that fell back to any top-level Person was removed after it read an article byline as a founder declaration.
The four published ways a page can declare an author, and how many times each of them fired across five real pages this scanner captured on 15 July 2026, counted with an HTML parser on 24 August 2026. The chain is assembled from schema.org's definition of the author property, Google's Article structured data documentation and the HTML element definitions. It is not a description of any crawler's behaviour: what an AI system does with a declared author is not observable from a stored page.

What 102 schema nodes on five real pages said about who wrote them

The five pages are the ones this scanner already stores as golden fixtures, captured and frozen on 15 July 2026: the Astro homepage, the Gymshark storefront, the MDN HTML reference, the Webflow homepage and the English Wikipedia article on web crawlers. They were chosen because they span four rendering strategies and one encyclopedia, and they have become the set every counting post here works from. Parsing every application/ld+json block in those five documents and flattening each graph gives 102 nodes carrying an explicit type, which is the same figure an earlier post reached by the same method.

Of those 102 nodes, exactly seven carry an author property. That is 6.9 percent, and it is concentrated rather than spread: two of the five pages account for all seven, and the other three carry no author anywhere in their markup because two of them carry no JSON-LD at all. The Astro homepage publishes none. The MDN HTML reference publishes none. The Gymshark storefront publishes two typed nodes, a WebSite and an Organization, and neither of them carries an author. The Webflow homepage publishes 96 of the 102 nodes and holds six of the seven authors. The Wikipedia article publishes four nodes and holds the seventh.

A note on what is being counted, because the denominator does the work here. A node is any typed object anywhere in the graph, including the ones nested inside another node's properties, which is why one marketing homepage can contribute 96 of them: an earlier count found 39 of those describing a navigation menu. So 7 of 102 is not a claim that 93 pages of the web forgot an author. It is the shape of the graph these five documents publish, in which most typed nodes are describing interface furniture rather than content, and content nodes are the minority that could carry an author at all. Read alongside the finding that this same set holds one JSON-LD block carrying a date, the pattern is consistent: these documents describe what they are and rarely describe who made them or when.

Page, as captured on 15 July 2026Typed JSON-LD nodesNodes carrying an authorWhat the author values are
astro.build homepage00No JSON-LD on the page
gymshark.com storefront20A WebSite and an Organization, neither with an author
developer.mozilla.org HTML reference00No JSON-LD on the page
webflow.com homepage966Six Person values, all on Review nodes
en.wikipedia.org Web crawler article41One Organization value, on the Article node
All five pages1027Six Person, one Organization
Typed JSON-LD nodes and author properties across five pages this scanner captured on 15 July 2026, parsed with an HTML parser on 24 August 2026. A node counts once wherever it appears in the flattened graph, including nested inside another node's properties.

Six of the seven author values named a reviewer, not a writer

The interesting part is not the count but what the seven values contain. All six on the Webflow homepage sit on a Review node, and the author of a Review is the person who wrote the review rather than the person who wrote the page. Each of the six is a Person with a name, a jobTitle and a worksFor naming their employer: senior marketing and technology people at six named companies, quoted as customers on a marketing homepage. That is correct markup. Schema.org puts author on CreativeWork and on Rating, a Review is a CreativeWork, and the reviewer is genuinely its author. Nothing here is a mistake by whoever built that page.

It is still worth separating, because the two things answer different questions and an automated reader that only counts properties will merge them. A crawler tallying author properties on that document finds six. A person asking who wrote the Webflow homepage finds nobody, and there is no property in the graph that would tell them. The distinction matters for the same reason it mattered when we found that review authenticity is not recorded in the markup: the shape is present and validates, and the question a reader actually has sits one layer underneath it.

The seventh value is the Wikipedia article's, and it is the only author in the set attached to the page's own content. It sits on the Article node and its value is an Organization named Contributors to Wikimedia projects. That is an honest description of how the page is written and it resolves to no individual, which is the point rather than a defect: a page with several thousand editors has no single author and saying so is more accurate than picking one. Schema.org explicitly permits an Organization here, listing Organization and Person as the two expected types for the author property. So across 102 nodes on five real pages, the number of author values naming a specific individual who wrote the page they sit on is zero, and only one of the five pages declares any authorship of its own content at all. That is a smaller number than the count of seven suggests, and it is the number that matters to anyone reasoning about generative engine optimization from the markup outward.

Where the author property sitsType declaredWhat the value namesValues
Review nodes on the webflow.com homepagePersonA named customer, with a jobTitle and a worksFor6
The Article node on the en.wikipedia.org pageOrganizationContributors to Wikimedia projects1
Any node on the Astro, Gymshark or MDN pagesNone declaredNo author property present anywhere0
Values naming a person who wrote the pageNoneNot present in the set0
The seven author values found across 102 typed JSON-LD nodes on five pages this scanner captured on 15 July 2026, read on 24 August 2026. Individual reviewer names are published on the Webflow homepage and are not reproduced here; the count and the property shape are what the finding rests on.

Google strongly recommends a url or sameAs on an author, and none of the seven carried one

Google's Article structured data documentation, carrying Last updated 2025-12-10 UTC, is unusually direct about this property. It opens the question of requirements by stating that there are no required properties and that an implementer should instead add the properties that apply to their content, which makes author recommended rather than mandatory. It then gives five author best practices. Include every author the page presents as an author. List multiple authors in separate author fields rather than combining them. Put only the name in author.name, without the publisher, the job title or an introductory phrase. Use Person for people and Organization for organizations. And, in its own words, to help Google better understand who the author is, it strongly recommends using the type and url or sameAs properties.

Checked against the seven values in this set, four of the five practices hold and the fifth fails everywhere. All seven declare a type, and all seven declare the correct one: Person for the six people, Organization for the collective. None of the seven combines authors into one field. None of the seven puts a job title inside author.name, and the six Webflow values are a good demonstration of the alternative, since each carries jobTitle and worksFor as their own properties exactly as the guidance implies they should. But zero of the seven carry a url, zero carry a sameAs, and zero carry an @id. Every author in the set is a name and a type and nothing that resolves to anywhere else.

That absence is worth sitting with, because a name on its own is a string and the whole purpose of the recommended property is to turn it into a reference. Schema.org describes sameAs as a reference page that unambiguously indicates the item's identity, which is why this scanner weights it as heavily as it does on an organisation. The one node in the whole set that does carry a sameAs pointing at an identity resolver is the Wikipedia Article, which names a Wikidata entity URL, and it carries that on the Article rather than on its author. The other two sameAs values in the set are on the Gymshark and Webflow Organization nodes and list social profiles, one of which is written without a scheme and so is not a resolvable URL at all. The gap between markup that validates and markup that resolves is the same gap this site found when it read the same JSON-LD twice and got a perfect score and a zero, and it is the practical difference between decorating a page and making it addressable for answer engine optimisation.

  • Declares a type, and the correct one 7 of 7 Person for the six people, Organization for the collective
  • Declares a url 0 of 7 Strongly recommended by Google alongside type
  • Declares a sameAs 0 of 7 The alternative Google names to url
  • Declares an @id 0 of 7 Not asked for by Google, and not present either
What the seven author values across five 15 July 2026 captures actually carry, checked on 24 August 2026 against the author best practices in Google's Article structured data documentation, which carries Last updated 2025-12-10 UTC. The type property is named there as a best practice alongside url or sameAs.

The HTML mechanisms for authorship appeared zero times on all five pages

JSON-LD is not the only way to say who wrote a page, and schema.org itself says so in the definition of the property. Its note on author reads that author is special in that HTML 5 provides a special mechanism for indicating authorship via the rel tag, that this is equivalent to the schema.org property, and that the two may be used interchangeably. So there is a documented, vocabulary-endorsed alternative that costs one attribute on a link. Counted across the raw HTTP response and the rendered DOM of all five pages, the number of links carrying rel=author is zero.

The same is true of every other authorship mechanism the HTML platform offers. There are zero meta elements with a name of author across the five documents, which is a specific subset of a total this site has already counted: the five heads hold 85 meta elements between them, and not one of the 85 names an author. There are zero elements carrying itemprop=author, the microdata spelling of the same property. There are zero class attributes anywhere in the five documents matching author, byline, p-author or h-card, so the microformats convention is absent too, which also means an extractor looking for a conventional byline container has nothing to match on.

Most striking of the five zeros is the address element, because it is the one the HTML platform designed for the job. MDN's reference for the address element describes it as indicating that the enclosed HTML provides contact information for a person or people or for an organization, notes that it can sit inside an article element to indicate that article's author, and adds the constraint that it should not carry more information than the contact details, with a publication date belonging in a time element instead. It is a semantic element with a narrow, well-documented purpose that lines up exactly with the question this post is asking. Across five real documents from four different publishers, including an encyclopedia article and a reference manual, it appears zero times. That is not a failure by any of them, and it is the same pattern as the one behind links named only by an aria-label: the mechanism that a specification designed for a purpose is not the mechanism that shipping pages actually use, and an extractor written from the specification will find nothing.

  • meta name=author 0 of 85 meta elements The five page heads hold 85 meta elements and none of them names an author.
  • rel=author link 0 across five pages Schema.org's own note calls this equivalent to its author property and interchangeable with it.
  • address element 0 across five pages MDN names it for the contact details of a person or organisation, including an article's author.
  • itemprop=author 0 across five pages The microdata spelling of the same property, absent from every document in the set.
  • A class naming a byline 0 across five pages No class attribute matched author, byline, p-author or h-card anywhere in the five documents.
  • JSON-LD author property 7 of 102 typed nodes The only authorship mechanism present anywhere in the set, and six of the seven are reviewers.
Every authorship mechanism counted across the raw HTTP response and the rendered DOM of five pages this scanner captured on 15 July 2026, counted with an HTML parser on 24 August 2026. The counts are identical in raw and rendered for all six rows.

MDN told a reader who maintains the page and told a parser nothing

One page in the set makes the gap concrete better than any total does. The MDN HTML reference is documentation, maintained in public, with a change history anybody can read, and its rendered page carries the sentence: this page was last modified on Dec 22, 2025 by MDN contributors, followed by a link to view the page on GitHub. A human reader gets a maintenance date, a named maintaining body and a route to the full revision history in one line. Almost no page on the web is more transparent about its provenance than this one is.

That same document publishes zero JSON-LD blocks, zero meta author elements, zero rel=author links, zero address elements and zero itemprop attributes. Every fact in that sentence is in prose, inside ordinary elements, indistinguishable to a parser from the rest of the page's text. The only two occurrences of the string Author anywhere in its rendered text are both the first word of a linked tutorial title, Author fast-loading HTML pages, where the word is a verb in a navigation list. An extractor searching for an author on this page would find those two and would be wrong about both.

This is the honest version of a claim that gets made loosely in this field. The usual framing is that pages fail to declare their authorship because their publishers are careless about machine readability. On this page the publisher is a documentation team whose entire product is machine readability, the provenance information exists and is accurate, and the only thing missing is the markup that would make it addressable. That is a different problem with a different fix, and it is closer to the finding that an h1 inside a header element counted as no h1 at all in this scanner's own extractor: the information was there, and the rule that read the document could not see it. Whether an answer engine reads that visible sentence is not something a stored page can show, which is why this post reports the markup rather than the outcome, in the same way this site reports prose parity rather than predicting a citation from it.

What a reader of the page gets

  • A sentence naming the last modification date
  • A named maintaining body, MDN contributors
  • A link out to the page's full revision history
  • A link to report a problem with the content
  • All of it in ordinary prose elements

What a parser of the same page gets

  • 0 JSON-LD blocks, so 0 typed nodes
  • 0 meta elements naming an author
  • 0 links carrying rel=author
  • 0 address elements
  • 2 occurrences of the word Author, both a verb in a link
The same stored MDN capture of 15 July 2026 read two ways, counted on 24 August 2026. The left panel is the visible rendered text; the right panel is every machine-readable authorship mechanism in the same document.

What this scanner reads, and why it removed the one author-shaped check it had

The rule this site applies to itself is that a post naming a gap should say what its own product does about it, and the answer here is nothing. Lantad does not read an author property anywhere. The schema sub-score checks that a block parses, that its entities carry a type, and that each recognised type carries its required properties, and those requirements are five short lists in core/src/schema.ts: name and url for an Organization, name for a Product, headline for an Article, mainEntity for a FAQPage, itemListElement for a BreadcrumbList. An Article with a headline and no author scores exactly what an Article with a headline and six authors scores. The schema sub-score is also the smallest of the four in the composite, and the scoring methodology sets it at 10 percent against 50 percent prose parity, 25 percent access and 15 percent structure, so the property sits outside a check that is itself worth a tenth of the grade.

The free Entity Confidence diagnostic is the other place authorship could plausibly live, and it does not live there either. Its five signals are identity at 35 points, sameAs at 25, stableId at 15, logo at 15 and category at 10, all of them statements about an organisation rather than about a person. Those weights are a design decision taken from a frequency count of well-cited pages, not a measurement of what any engine rewards, and the module says so in its own header. The five structural signals behind that diagnostic were re-measured once already and two of the original five were removed.

One of the two removed was the closest thing this scanner ever had to an author check, and it was removed because it was wrong in exactly the way this post is about. The first signal set carried a founder signal worth 20 points. The module records three reasons for deleting it: the property was declared by only 5 of 24 well-cited pages sampled on 26 July 2026, the strings founder and founders appear zero times in the 212,426 characters of Google's Organization structured data documentation updated on 15 April 2026, and the check itself fell back to any top-level Person carrying a name. That last fault is the relevant one. On css-tricks.com the top-level Person carrying a name was the article's byline, so the page scored 100 and the report asserted a founder the markup had never declared. An author read as a founder is precisely the failure mode of counting a property without reading what it is attached to, which is the same failure a tally of seven authors on these five pages would produce. That is why the check was deleted rather than repaired, and it is the same reasoning behind withholding a grade rather than guessing one. If author markup is ever scored here, the lesson from the founder signal is that the property has to be read together with the node it hangs on, or the number it produces describes nothing. Until then, the honest statement about AI visibility and authorship is that this scanner measures neither, and the count above is a description of five documents rather than a scoring recommendation. The reference guidance on structured data for a site is unchanged by any of it.

  • identity 35 pts An Organization-family node carrying a name. The gate: every other signal is a statement about it.
  • sameAs 25 pts External identifiers on that identity node. The heaviest non-gate signal in the set.
  • stableId 15 pts An @id on the identity node, so the entity can be referred to rather than repeated.
  • logo 15 pts A logo on the identity node.
  • category 10 pts A declared statement of what the organisation is.
  • author Not a signal in either signal set. No weight, no check, and no requirement in SCHEMA_REQUIREMENTS for any type.
The five Entity Confidence signals and their point weights, read from ENTITY_SIGNAL_WEIGHTS in core/src/config.ts on 24 August 2026, with the author property shown against them. These weights are a design decision derived from a frequency count, not a measurement of what any engine rewards.

Written by

Lantad

Published .

Author markup is the oldest of the experience and expertise signals that a machine can read without judging anything: a property that names the person or organisation responsible for a page, sitting in the page's own structured data where a parser finds it without a model, without a browser and without running any JavaScript. Google publishes best practices for it. Schema.org defines it and names a second HTML mechanism as equivalent to it. Nearly every guide to being cited by an answer engine recommends it. So it is worth counting how often ordinary pages actually carry one, and this post counts that on the only pages this site is entitled to count: the five real captures already frozen in its own fixtures.

Common questions

What does Google recommend for author markup in Article structured data?

Five things, all on the Article structured data page carrying Last updated 2025-12-10 UTC. Include every author the page presents as an author. List multiple authors in separate author fields. Put only the name in author.name, without a publisher, a job title or an introductory phrase. Use Person for people and Organization for organizations. And, to help Google better understand who the author is, it strongly recommends using the type and url or sameAs properties. The same page states that Article has no required properties at all, so author is recommended rather than mandatory.

Is rel=author still a valid way to mark up an author?

Schema.org's own definition of the author property says HTML 5 provides a special mechanism for indicating authorship via the rel tag, that it is equivalent to the schema.org property, and that the two may be used interchangeably. That is a statement about the vocabulary, not evidence that any search or AI system reads it. On the five pages Lantad captured on 15 July 2026, rel=author appears zero times, as do meta name=author, itemprop=author and the address element.

How many real pages actually declare an author in their markup?

On the five pages Lantad captured and stored on 15 July 2026, 7 of 102 typed JSON-LD nodes carry an author property, and only one of the five pages declares an author for its own content. Six of the seven are reviewers quoted on a marketing homepage, which is correct markup for a Review and does not name the writer of the page. Five pages is not a sample of the web, two of the five publish no JSON-LD at all, and the counts are from a single day.

Does Lantad's AI visibility score check for an author?

No. The composite is weighted 50 percent prose parity, 25 percent access, 15 percent structure and 10 percent schema, and the schema sub-score checks only that a block parses, carries a type, and holds the required properties for that type: name and url for an Organization, headline for an Article, and three others. Author appears in none of them. The free Entity Confidence diagnostic reads identity, sameAs, stableId, logo and category, and a founder signal that fell back to any top-level Person was removed after it read an article byline as a founder declaration.

See what AI can read on your site

Run a free scan and get a graded report of exactly what AI crawlers can and cannot read, with ranked fixes.