An author who is only a name string is not an entity
Articles with a byline and no Person entity, or a Person with nothing to identify them by. Most of what E-E-A-T is built on needs an identifier.
Why a name is not enough
"author": "Ada Lovelace" tells a search engine that a string appeared in a byline. It does not connect that byline to the same person’s other articles, to their conference talks, to their Wikipedia entry or to the credentials that make them worth reading on the subject.
A person has to be identifiable before anything can be connected to them. A Person node with an @id, a url and a sameAs list is what makes that possible.
An Organization can be the author, and Google’s Article guidance supports that explicitly. An editorial board, a newswire or a research group is a valid author and this rule treats it as one.
This matters most on exactly the sites where it is most often missing: health, finance and legal content, where the author’s standing is part of whether the page should rank at all.
What squirrel checks
The rule runs once per crawl, reads the entity map rather than the pages, and emits a single check named entity-authors.
- Skipped with the message
No entity map was built for this auditand the reasonentity-map-unavailablewhen the run produced no map. This is not the same as a site with no structured data, and the rule refuses to conflate them: passing here would assert it had checked something it never looked at. - Reports at info with the message
This site declares no JSON-LD entities on any crawled pagewhen the map exists and is empty. - Skipped with the message
This site declares no articles and no peopleand the reasonno-authorship-to-describewhen there is no authorship to describe. A brochure site is not missing anything. - Warns with the message
N articles are declared with no Person entity anywhere on the sitewhen articles exist and noPersonnode does. - Passes with the message
All N Person entities carry a url or sameAs. - Warns with the message
N of N Person entities have no url and no sameAs, plus(+N more people)when more matched than are listed.
A Person counts as identified when it carries a non-empty url or at least one sameAs entry. Either is enough: a link to an author page on your own site is a real identifier even without external profiles.
Article, NewsArticle, BlogPosting, TechArticle and ScholarlyArticle all count as articles here.
Findings are capped at 10 items, and the count in the message is always the true total rather than the capped length. Run squirrel entities -f json and read the entities key for the full list.
How to fix it
Declare each author once, with everything that identifies them:
{
"@type": "Person",
"@id": "https://example.com/authors/ada#person",
"name": "Ada Lovelace",
"url": "https://example.com/authors/ada",
"sameAs": [
"https://en.wikipedia.org/wiki/Ada_Lovelace",
"https://www.linkedin.com/in/example"
],
"jobTitle": "Principal Engineer"
}Then reference it from every article by "author": { "@id": "https://example.com/authors/ada#person" } rather than repeating the name. An author page on your own site is the easiest url to provide and is worth having regardless. See fixing structured data identity.
| Rule ID | schema/entity-authors |
| Category | Structured Data |
| Scope | Site-wide |
| Severity | warning |
| Weight | 4/10 |
Enable / disable
Disable this rule
[rules]
disable = ["schema/entity-authors"]Disable all Structured Data rules
[rules]
disable = ["schema/*"]Enable only this rule
[rules]
enable = ["schema/entity-authors"]enable replaces the default ["*"], so this is the only rule selected. Leave disable out: a rule that matches any disable pattern is skipped even when enable names it. Only an enabled setting under a rule’s own [rule_options] table overrides both lists.
Related rules
- schema/entity-dangling: an author reference that points at nothing declared.
- schema/article: the per-page check that the Article block is complete.
- schema/entity-sameas-missing: the same question asked of the organization.
- schema/entity-identity: a Person declared on many pages with no
@id.
Entity findings are site-wide and ship in every audit, next to the per-page structured data rules. See Fix SEO issues with AI for how an agent works through a report.
References
- Creating helpful, reliable, people-first content, Google Search Central
- Person, schema.org
- Article structured data, Google Search Central
Check your site
Run squirrel audit https://example.com, then squirrel entities to see the graph the finding came from. Signed-out local audits need no account and cost nothing. Signed-in audits spend credits.