AUTH-02

We couldn't find a machine-readable author

WarningAuthority

What the check measures

The check looks for a machine-readable author across every crawled page, in three places: the author property in JSON-LD, the itemprop="author" attribute in schema.org microdata (since 19 September 2026), and the <meta name="author"> element in the head. It is enough for a single page to carry one in any of the three and no finding is raised.

Microdata is a full alternative here, not a fallback: Google's documentation states that JSON-LD, microdata and RDFa are all equally fine for it as long as the markup is valid. For the author property we also read a nested item, which is the usual pattern of a Person item inside itemprop="author" carrying the name in its own itemprop="name".

Note how the finding is worded: it says “we did not find”, not “is missing”. That is not politeness, it is precision. An author written purely visibly in the text (“By Jane Novak” under the headline) passes this check as not found, even though it is on your site. It is a deliberate limit of a deterministic check, not a claim that no author exists.

What the check does not do:

  • It does not read a name out of the page text. It sees markup, not content.
  • It does not judge who the author is. An author of “Editorial team” or “admin” satisfies the condition just like a person's name.
  • It does not verify the author exists or that a link to their profile leads anywhere.
  • It does not check for an author on every page. One page with an author silences the finding for the whole site, even if none of the others have one.
  • It cannot see RDFa. The third valid format for structured data is one we do not read yet, so an author stated only there escapes us. That is an admitted gap in the check.
  • It cannot see values injected by JavaScript unless the page was sampled through a browser (ACC-03).

The finding is site-level; severity is warning.

How strong the evidence is

Effect not demonstrated

We recommend it because it does no harm or has some other benefit, but we promise nothing about whether it makes language models cite you. Nobody has demonstrated that yet.

We have no evidence that naming an author improves your chances of being cited in an AI answer. Hence the “effect not demonstrated” class, and it is fair to say why we stress it here in particular.

Author information belongs to the group of signals SEO calls authority, and that group carries more undocumented claims than any other. The Princeton experiment, the only peer-reviewed one in the field, measured three factors: quotations (+41 %), statistics (+33 %) and links to sources (+28 %). The author was not among them. That does not mean it does nothing; it means nobody measured it.

And more strictly still: domain authority, backlinks and domain age have no documented support in the context of AI visibility. The major citation-tracking tools do not analyse those factors at all. We keep them out of the score and will keep doing so until that changes.

What does stand behind the recommendation:

  • Google documents authorship as supporting evidence of content quality: its guidance on helpful content strongly encourages adding accurate authorship information, such as bylines, where readers would expect them. It is not a ranking factor in the way it is usually presented, but it is not nothing either.
  • For a reader it is information they want. Who stands behind a claim is often the first thing a person looks for in specialist content.

The practical conclusion: it is a few minutes in your template and it does no harm. But if you have time for only one thing in the authority category, do AUTH-01: that one has a measured number; this one does not.

How to fix it

The easiest route is to add the author to the JSON-LD you probably already have because of SCH-01. It is one extra property:

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Article",
  "headline": "How to choose a heat pump",
  "author": {
    "@type": "Person",
    "name": "Jane Novak",
    "url": "https://your-domain/authors/jane-novak"
  }
}
</script>

If your site is marked up with microdata, stay with it and add the author in that same format. The check accepts it just like JSON-LD, and so does Google, so converting a whole site for one property makes no sense:

<article itemscope itemtype="https://schema.org/BlogPosting">
  <h1 itemprop="headline">How to choose a heat pump</h1>
  <span itemprop="author" itemscope itemtype="https://schema.org/Person">
    By <span itemprop="name">Jane Novak</span>
  </span>
</article>

This markup has one advantage built in: the name is visible in the text at the same time, because the attributes wrap the visible text itself. With JSON-LD you have to remember that separately.

If you have no structured data at all, one line in the <head> will do. It satisfies the check, but it is the weaker option; <meta name="author"> supports neither a profile link nor the distinction between a person and an organisation:

<meta name="author" content="Jane Novak">

More important than either, though: write the author visibly into the text as well. Our check will not see it there, but a reader will, and so will a model that reads content rather than markup. Ideally do both: the markup and a byline under the headline.

What to watch out for:

  • Name a person, not “the editorial team”, wherever you can. For specialist content, a name with demonstrable experience is what makes the difference.
  • Link to the author's profile and say on that page what they work on. An empty author page is worse than none.
  • An organisation as author belongs as Organization, not Person. A company is not a person and schema distinguishes the two.
  • Do not confuse author with publisher. The author wrote the content; the publisher put it out. On a company blog these are two different entities and should be recorded as such.
  • Do not invent authors. A fictional name with a generated photograph is the sort of thing that comes out sooner or later, and it costs more than it can bring.

What the report says about it

Finding description

No crawled page had a content author in machine-readable form. We looked in three places: the JSON-LD `author` field, schema.org microdata `itemprop="author"`, and `<meta name="author">`. This doesn't mean the site has no author - just that it isn't stated in a markup a machine resolves unambiguously, without guessing from the text. An author named only in the page's visible text (without a schema or meta tag) may not be picked up by this check, and neither is RDFa, which we do not read yet. The documented value of that markup is for classic search: Google uses structured data to qualify pages for rich results. That it would make an AI assistant more likely to cite you is not documented - the single controlled experiment (Otterly, March 2026) measured a decline for ChatGPT, Gemini, Perplexity and Copilot, and information placed ONLY in the schema was used by none of those platforms.

Recommendation

For articles and other content with a specific author, add a JSON-LD `author` field (type Person with a name, optionally `url`/`sameAs` linking to their profile), or the same in microdata (`itemprop="author"` inside `itemtype="https://schema.org/Person (opens in a new window)"`), or at least `<meta name="author" content="...">`. Google treats JSON-LD and microdata equally, so if you already use one of them, stay with it. Keep the author's name visible in the page text as well: what is not in the visible text will not be taken from the schema by a model - schema does not replace content, it only describes it. Treat it as an investment in classic search and in machine readability, not as a lever on AI citations.

Sources

Text verified 2026-09-19