Skip to content

Article author schema: how to name the person behind a post

Technical · 7 min read · Updated 2026-11-13

Short answer: Article author schema marks a blog post or guide as an article and names its author as a Person with a URL that identifies them, so an engine has someone to attribute the writing to.

It matters for pages where a named person or your company stands behind the content, and it does not apply to your homepage, product pages or tool pages. An author is not required for the markup to be valid, and it can be your organization if no individual byline exists, so the rule is simple: describe what is really on the page and never invent a person.

What is article author schema, and why would an AI answer care?

Article markup says this page is a piece of writing. The author node says who wrote it and where that person can be checked. Together they hand an engine something it can attribute a quote to, rather than a block of text with no owner.

Attribution is the useful part. When an answer quotes a passage, being able to name a real author and a real publisher is part of what makes the passage safe to use. That is a reasonable inference about how attribution works, not a documented ranking rule, and nobody outside the engines can show that adding the markup makes you more likely to be cited. What it does do is remove an ambiguity you were otherwise leaving to chance.

0

Google's Article documentation lists no required properties. The author is recommended, and Google's guidance allows it to be an Organization when the content is genuinely published by the company with no individual byline. (Google Search Central, Article)

Which pages need it, and which do not?

It applies to blog posts, guides, docs articles, news and research: pages where a named person or the organization stands behind the content. It does not apply to homepages, product pages, pricing, landing pages or tool pages. Marking those up as Article to satisfy an audit is misleading markup.

If you have no editorial content, the honest answer is that this does not apply

Do not publish a fake blog just to give the schema something to describe. A site with no articles has nothing to mark up here, and that is a fine answer.

Two cases need a human decision rather than a technical one. If content is AI-generated or ghostwritten, someone has to decide who is credited, and that choice is not an engineer's to make quietly. And if posts are published as the company with no byline, use the Organization as the author instead of inventing a writer.

What does a correct author setup look like?

SituationWhat to do
Posts have a visible byline linking to an author pageA Person node with a url pointing at that page and sameAs links to external profiles.
Byline exists, but no author pageCreate a short author page with name, role, bio and links before marking it up, or link the best existing profile through sameAs.
Published as the company, no bylineSet author to your Organization by its @id.
Several authorsOne author entry per person. Never a single entry reading A, B.
Guest postThe guest is the author. Your site is the publisher.
Docs or API reference pageTechArticle or Article, with the same author rules.
Dates unknownLeave them out. Do not guess, and do not set modified to today on every deploy.

Google's own guidance on the author field is specific, and breaking it is the most common way to undo good markup.

  • author.name is only the name: No job title, no Posted by, no honorific and no publisher name. Those have their own properties.
  • Use the right type: Person for people, Organization for organizations. Do not use the wrong one.
  • List every author shown on the page: Each as its own entry, matching the visible byline.
  • Link to something that identifies them: author.url should point at a page that uniquely identifies the author, such as an author page or social profile. sameAs is accepted as an alternative.

How do you add it, in summary?

  1. Define each author once

    Give every author a Person node on their own author page with a stable @id, a name, a url, and sameAs links to real profiles. Add jobTitle and worksFor only if they are true and shown on the page.

  2. Reference, do not repeat

    Each article points to its author by @id and to your organization by @id in publisher. Also set mainEntityOfPage to the page and isPartOf to the WebSite.

  3. Use real, matching dates

    datePublished and dateModified in ISO 8601 with a timezone offset, and identical to the dates readers see. Change dateModified only when the content changed.

  4. Generate it from the post data

    Build the JSON-LD from the same record that renders the byline, so the two cannot drift apart.

  5. Make the author page real

    It needs a crawlable page at the url, with the person's name, a short bio, and links to their posts. It must not be noindex, blocked in robots.txt, or a 404.

json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "BlogPosting",
      "headline": "How answer engines choose what to cite",
      "url": "https://example.com/blog/answer-engines",
      "datePublished": "2026-11-13T09:00:00-05:00",
      "dateModified": "2026-11-20T14:30:00-05:00",
      "author": { "@id": "https://example.com/authors/jane-doe#person" },
      "publisher": { "@id": "https://example.com/#organization" }
    },
    {
      "@type": "Person",
      "@id": "https://example.com/authors/jane-doe#person",
      "name": "Jane Doe",
      "url": "https://example.com/authors/jane-doe",
      "sameAs": ["https://www.linkedin.com/in/janedoe"]
    }
  ]
}

This is trimmed to the shape. The full version with images, stack-specific recipes for Next.js, Astro, WordPress and static HTML, and a verification checklist lives in the implementation guide for the agent skill. The skill can be installed into Claude Code and other coding agents so an agent makes the change and checks the output on your own site.

Read the full implementation guide

The skill source is public if you want to read exactly what it checks.

View the skill source on GitHub

Installation is covered once for all the AEO skills.

See how to install AEO agent skills

Can an audit pass while your authors are still unlinked?

Yes, and it is worth knowing before you trust a green result. The AEO Toolkit rule for this passes when at least one Article-family node exists somewhere on the crawled pages and at least one Person node exists somewhere on them. Both are site-wide checks, not per page. A founder's Person node on the About page plus any article anywhere is enough to pass, even if no article is attributed to anyone.

So passing proves the ingredients exist. It does not prove they are connected. Check that yourself: open an article, find its JSON-LD, and confirm the author is a Person with a name and a URL, that the URL returns a 200 and shows the same name, and that the dates match the page. If the author is a bare string such as the text Jane Doe, the Person checks fail and there is nothing to link, so convert it to a Person node.

The toolkit's validator also requires a headline on Article, NewsArticle and BlogPosting, and a name on Person. A TechArticle has no such check, so include a headline there anyway. Valid markup is still only markup that parses and declares what it must. It is not proof that it matches the page, which no validator can check.

What are the mistakes that undo it?

  • Author pages that 404 or are noindex: The Person node points at nothing an engine can verify.
  • dateModified bumped on every deploy: Engines and readers take it as a freshness claim. Change it only when the content changed.
  • Dates without a timezone offset: They shift by hours in other timezones. Include the offset.
  • Two Article blocks on one page: A theme and an SEO plugin each emit one, with different authors or dates. Keep one emitter.
  • The whole site marked NewsArticle: Use it for news. Use Article or BlogPosting for everything else.
  • Fake authors, stock photos or invented credentials: This is the opposite of what the markup is for, and it violates Google's guidance against misrepresenting who is behind the content.

Common questions

Do I need author schema for my blog to be valid?

No. Google's Article documentation lists no required properties, so Article markup is valid without an author. Author is recommended, and it can be an Organization when the post is published by the company with no individual byline. Add a Person only when a real person is visibly credited on the page.

Should the author be a Person or an Organization?

Use a Person when a named individual wrote the post and is shown in the byline, and an Organization when the content is published by the company with no individual credited. Do not use the wrong type, and do not invent a person to fill the field. If the content is ghostwritten or AI-generated, ask who should be credited rather than choosing a name.

What should author.url point to?

A real, crawlable page that uniquely identifies the author, such as an author page on your site or a social profile. Google also understands sameAs as an alternative. The page should return a 200, be indexable, and show the same name as the byline.

Does author markup get my posts cited by AI assistants?

It gives an engine a verifiable person or organization to attribute the writing to, which is a precondition for accurate attribution. It does not guarantee a citation and no one outside the engines can show it causes one. Pair it with real, dated, specific content, and judge results over weeks, not from a single check.

Sources

Related guides

Want it done for you

Want this done and re-checked every month? Our monthly maintenance re-runs your buying questions in ChatGPT, Perplexity and Google, ships the fixes that keep you out of the answers, and reports what moved. Or run the free check on your site first at advancelabs.dev/tools/audit.

See how it works

Book a 30-minute call