Missing Author — Why Anonymous pSEO Pages Fail E-E-A-T
Google added the second E for Experience to its E-A-T trust framework on December 15, 2022, and content/missing-author mirrors that shift by flagging at warning severity, medium confidence, every page that exposes none of four author signals — a meta author tag, a schema author field, a byline element, or a rel=author link.
Test your site for missing author — why anonymous pseo pages fail e-e-a-t
What it detects
content/missing-author checks one thing per page: is there any machine-readable claim of who wrote it? The rule reads four independent author signals the parser extracts and fires only when all four are absent.
The signals are precise. (1) Meta author — a non-empty content value on a `<meta name="author">` tag, after whitespace normalisation, so an empty tag does not count. (2) Schema author — any JSON-LD object on the page that carries an `author` key, which covers Article, BlogPosting, and NewsArticle structured data. (3) Byline element — at least one element whose class contains 'author' or 'byline', or which carries `rel='author'`, catching the visible '.byline' or '.author-name' markup most templates ship. (4) Rel=author link — an `<a rel="author">` or `<link rel="author">` anchor pointing at a profile.
A page passes if even one of the four is present, so the bar is deliberately low. Severity is fixed at warning and confidence at medium, because technical docs, product pages, and pricing pages legitimately omit bylines — attribution matters most on blog and news content where authorship is the primary trust signal.
Why it matters
Authorship is the cheapest E-E-A-T signal to add and one of the easiest to omit at scale, which is exactly why a fleet of anonymous programmatic pages reads as low-effort to a classifier. Google's Search Quality Rater Guidelines — the document its quality systems are trained to approximate — ask raters to identify who is responsible for a page and judge whether that source has the experience and expertise to write it. A page that names nobody gives the rater, and the classifier, nothing to weigh.
The danger is the pattern, not the single page. One unsigned changelog is fine; ten thousand unsigned 'expert guides' is a corpus that cannot answer the most basic trust question Google asks. This is why the rule escalates its messaging when every page on a site over three pages deep is anonymous, emitting a single site-wide finding that names the count and calls it a site-wide E-E-A-T risk rather than burying it in per-URL noise.
Authorship alone will not rank a thin page, but its absence removes a defence that costs almost nothing to mount and is disproportionately missing on generated content.
A page that fails
/guides/how-to-refinance-a-mortgage — a 900-word 'expert guide' with no `<meta name="author">`, no author field anywhere in its Article JSON-LD, no element classed 'byline' or 'author', and no rel=author link. The page asserts financial expertise in its prose but attributes it to nobody, so a quality rater asked 'who is responsible for this?' has no answer. All four signals are absent and the rule fires at warning.
A page that passes
/guides/how-to-refinance-a-mortgage — the same guide, now signed. The `<head>` carries `<meta name="author" content="Dana Mercer, CFP">`, the Article JSON-LD includes an `author` object with a name and a sameAs profile link, and the visible byline sits in a `<div class="byline">By Dana Mercer</div>` above the lede. Any one of those would satisfy the rule; shipping all three gives both Google and readers a consistent, verifiable source.
How to fix it
- 1Add a `<meta name="author" content="Full Name">` to every content page's head — it is the single cheapest signal and clears the rule on its own.
- 2Put the author into your JSON-LD: an Article or BlogPosting node with an `author` object carrying a name and, ideally, a sameAs link to a real profile.
- 3Render a visible byline in markup the rule recognises — an element classed 'author' or 'byline', or one carrying rel='author' — so humans and the parser see the same attribution.
- 4Link the byline to a genuine author bio page that documents the writer's relevant experience, not a stub; the link is what turns a name into an E-E-A-T signal.
- 5Decide which page types actually need authors. Technical docs and pricing pages can stay unsigned; blog, news, and 'guide' content should not, since that is where attribution carries the most trust weight.
- 6Audit site-wide before launch: if every page is anonymous on a site deeper than three pages, the rule emits one site-level E-E-A-T warning instead of per-URL findings, so fix the template once rather than page by page.
SpamBrain context
Authorship sits at the centre of E-E-A-T — Expertise, Experience, Authoritativeness, Trust — the framework Google's Search Quality Rater Guidelines have used since the E-A-T era and expanded on December 15, 2022 when the second E, for first-hand Experience, was formally added. E-E-A-T is not a direct ranking factor, but it is the lens the Helpful Content System (rebuilt August 25, 2022) and the March 5, 2024 scaled-content-abuse policy use to ask whether content was made to help people or to game search.
This rule (in @pseolint/core, MIT-licensed at github.com/ouranos-labs/pseolint) is intentionally conservative: warning severity, medium confidence, and a single-signal pass bar, because a missing byline is suggestive of low effort, not proof of spam. Its value is corroborative — an anonymous corpus that also trips thin-content or near-duplicate is a far stronger 'made for search engines' signal than any one rule alone. It is the per-page complement to content/eeat-signals, which counts authorship as one of four broader trust categories alongside about-page links, publication dates, and 'last updated' markers.
What the rule cannot do is judge whether a named author is real or qualified — it only verifies that an attributable source is claimed at all.
Frequently asked questions
- Which of the four signals satisfies the rule fastest?
- Any single one. The rule passes a page the moment it finds a non-empty `<meta name="author">`, an `author` key in JSON-LD, a byline or author-classed element, or a rel=author link. The cheapest to add is the meta tag — one line in the head — but the schema author and visible byline carry more weight with both Google and readers because they are harder to fake and visible in more contexts.
- Why is this only a warning, not an error?
- Because plenty of legitimate page types ship without a byline. Technical documentation, product pages, and pricing pages are not expected to name an author, and flagging them as errors would be noise. Author attribution matters most on blog and news content where E-E-A-T is the primary trust signal, so the rule surfaces the gap at warning severity and medium confidence and lets you decide whether the page type genuinely needs a source.
- Our investigative newsroom already runs reporter bylines — will this rule fire on us?
- Not if those bylines are in markup the parser can read. A masthead and a dateline are human-facing conventions; the rule needs a machine-readable signal. As long as each staff-reporter story carries a `<div class="byline">` or an `author` field in its NewsArticle JSON-LD — not just a hand-set 'By Our Correspondent' line that the editor-in-chief styled with a class the rule does not recognise — every article passes. If a wire-service dispatch republished under your masthead has no byline element at all, the rule correctly flags it as the one anonymous page in an otherwise-attributed corpus. In one illustrative cleanup, a desk that signed only 73% of its filed stories closed the gap to full coverage within an 11-day sprint by binding the staff-reporter field into its NewsArticle template. The same fix rescues a herbalist co-op whose remedy monographs ran unsigned until each contributing clinical-herbalist credential was bound into the byline.
- Does adding a fake author name fix the real problem?
- It clears this rule but defeats the point. The rule only verifies that an attributable source is claimed; it cannot tell whether the name is real or qualified. A fabricated 'expert' byline that links nowhere will satisfy the parser yet still read as untrustworthy to a human quality rater, who is explicitly asked to assess whether the named author has the experience to write the page. Use real people with genuine bios, or the signal is hollow.
- How does missing-author differ from the eeat-signals rule?
- content/missing-author is narrow: it checks the four author signals and nothing else. content/eeat-signals is broader, counting authorship as just one of four trust categories — the others being an about-page link, a detectable publication date, and 'last updated' or 'reviewed by' markers — and it fires when a page carries fewer than two of the four. A page can pass missing-author by having a byline yet still trip eeat-signals if it lacks dates and an about link.
Related rules
- spam/thin-contentThin Content DetectionGoogle's Helpful Content System (rebuilt August 25, 2022) demoted an estimated 45% of low-effort pages in the March 5, 2024 scaled-content-abuse update — the spam/thin-content rule mirrors that floor by flagging every URL under 300 words of substantive body text (default), after stripping nav and footer chrome via SpamBrain-style readability heuristics.Read →
- content/unique-valueUnique Valuecontent/unique-value counts the distinct words on each page that appear on no other page in the audit, and fires an error below a 100-word floor — the page-specific-vocabulary test Google's scaled-content-abuse policy has applied since March 5, 2024 when it asks whether a URL adds anything genuinely new.Read →
- content/meta-uniquenessMeta Description Uniquenesscontent/meta-uniqueness masks the entity tokens in every page's meta description, lower-cases and trims what remains, and fires an error the moment two or more pages collapse to the same string — the templated-snippet pattern Google has treated as scaled content since the March 5, 2024 spam update.Read →
Want to know whether this rule actually fires on your site?
Run pseolint against your sitemap. The audit is free, takes about a minute, and returns a per-URL list of every rule that fired — including this one — with the exact metric values so you can prioritise the fix queue.