<meta name="author"> Missing or Invalid on Article Pages
Issue No: 107
Category: Html Head Tags
Issue type: Warning
Priority: Important
Description
The <meta name="author"> tag declares the human author of a page's content. On article, blog, and editorial pages it supports Google's E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) signals. A missing, placeholder, or contradictory author meta tag on content-oriented pages is a weak but measurable quality signal that can affect YMYL (Your Money or Your Life) pages in particular.
How do we capture it
-
Detect the page type using URL patterns and on-page signals:
- URL path segments:
/blog/,/article/,/news/,/post/,/author/ - Presence of
<article>HTML element orarticleschema.org type - Presence of a
<time>orpubDateelement (common article signals) - Record
is_article_page = truewhen ≥2 signals are detected.
- URL path segments:
-
Extract
<meta name="author">from the<head>of the page:- Record the raw
contentattribute value. - Trim whitespace and normalise for comparison.
- Flag as empty if the value is blank after trimming.
- Record the raw
-
Detect placeholder values:
- Compare the value against a known placeholder list:
admin,webmaster,author,test,user,wordpress,unknown,n/a,none. - Flag
is_placeholder = trueif a match is found.
- Compare the value against a known placeholder list:
-
Extract the visible byline from the page body:
- Look for common byline patterns:
<span class="author">,<a rel="author">,By [Name]text patterns near the article date,itemprop="author"elements. - Record the extracted byline text for comparison.
- Look for common byline patterns:
-
Extract schema.org
authorfrom JSON-LD:- Parse all
<script type="application/ld+json">blocks. - Extract
author.namefromArticle,BlogPosting, orNewsArticleschema types. - Record for comparison with the meta tag value.
- Parse all
-
Check for an author profile link:
- Look for
<a rel="author">on the page. - Record
has_author_profile = trueif found.
- Look for
What to store
| Field | Type | Comment |
|---|---|---|
site_id | integer | FK → sites(id) |
page_id | integer | FK → pages(id) |
page_type | text | Detected page type classification (e.g. article, blog, product) |
is_article_page | boolean | Whether the page is classified as article/editorial content |
meta_author_present | boolean | Whether a <meta name="author"> tag exists |
meta_author_value | text | Raw content attribute value; NULL if absent |
is_empty | boolean | Whether the meta author value is blank after trimming |
is_placeholder | boolean | Whether the value matches a known placeholder string |
byline_text | text | Visible byline text extracted from the page body |
has_byline_mismatch | boolean | Whether meta author and visible byline differ (after normalisation) |
schema_author_name | text | Author name from JSON-LD schema markup; NULL if absent |
has_schema_conflict | boolean | Whether meta author conflicts with schema.org author name |
has_author_profile | boolean | Whether the page contains an <a rel="author"> link |
is_ymyl_page | boolean | Whether the page is classified as YMYL (health, finance, legal) |
checked_at | timestamp | When this check was last performed |
Condition for trigger
The following rules evaluate stored fields and produce diagnostics in the audit report.
-
Trigger Rule 1: Meta Author Missing on Article Page
- Target Field:
meta_author_present,is_article_page - Evaluation Logic:
is_article_page = true AND meta_author_present = false - Severity: WARNING
- Diagnostic Message: "This article page is missing a
<meta name=\"author\">tag. Add the author's full name to support E-E-A-T signals and provide consistent authorship metadata for search engine interpretation."
- Target Field:
-
Trigger Rule 2: Placeholder Author Value (YMYL Page)
- Target Field:
is_placeholder,is_ymyl_page - Evaluation Logic:
is_placeholder = true AND is_ymyl_page = true - Severity: CRITICAL
- Diagnostic Message: "The
<meta name=\"author\">value is a placeholder ([meta_author_value]) on a YMYL page. YMYL pages require credible authorship. Replace with the real name of the qualified author."
- Target Field:
-
Trigger Rule 3: Placeholder Author Value (Non-YMYL)
- Target Field:
is_placeholder - Evaluation Logic:
is_placeholder = true AND is_ymyl_page = false - Severity: WARNING
- Diagnostic Message: "The
<meta name=\"author\">value appears to be a placeholder ([meta_author_value]). Replace with the actual author's name."
- Target Field:
-
Trigger Rule 4: Empty Author Meta Tag
- Target Field:
is_empty - Evaluation Logic:
is_empty = true - Severity: WARNING
- Diagnostic Message: "The
<meta name=\"author\">tag exists but itscontentattribute is empty. Provide the author's full name or remove the tag."
- Target Field:
-
Trigger Rule 5: Meta Author Conflicts with Visible Byline
- Target Field:
has_byline_mismatch - Evaluation Logic:
has_byline_mismatch = true - Severity: WARNING
- Diagnostic Message: "The meta author (
[meta_author_value]) differs from the visible byline ([byline_text]). Inconsistent authorship signals can undermine E-E-A-T evaluation. Align both to use the same author name."
- Target Field:
-
Trigger Rule 6: Meta Author Conflicts with Schema.org Author
- Target Field:
has_schema_conflict - Evaluation Logic:
has_schema_conflict = true - Severity: WARNING
- Diagnostic Message: "The meta author (
[meta_author_value]) conflicts with the schema.orgauthor.name([schema_author_name]). Align all authorship declarations to use the same full name."
- Target Field:
-
Trigger Rule 7: No Author Profile Link on Article Page
- Target Field:
has_author_profile,is_article_page - Evaluation Logic:
is_article_page = true AND has_author_profile = false - Severity: SUGGESTION
- Diagnostic Message: "No
<a rel=\"author\">link was found on this article page. Adding a link to the author's profile page strengthens E-E-A-T and provides verifiable authorship context."
- Target Field:
Sources
- Google — E-E-A-T and Quality Rater Guidelines: https://developers.google.com/search/docs/fundamentals/creating-helpful-content
- Google — Author Schema Best Practices: https://developers.google.com/search/docs/appearance/structured-data/article
- WHATWG HTML Living Standard —
metaauthor: https://html.spec.whatwg.org/multipage/semantics.html#standard-metadata-names - Schema.org — Article: https://schema.org/Article
- Google — YMYL Pages: https://developers.google.com/search/docs/fundamentals/do-i-need-google-search
- Moz — E-E-A-T: https://moz.com/learn/seo/e-e-a-t
Long description
The <meta name="author"> tag is a simple metadata declaration that assigns human authorship to a page. While it carries no direct ranking weight as a standalone signal, it forms part of a cluster of authorship signals that Google's Quality Raters use to evaluate E-E-A-T — and structural inconsistency between authorship signals is a low-quality marker.
E-E-A-T and authorship signals
Google's Search Quality Rater Guidelines explicitly discuss authorship as a component of Expertise and Trustworthiness. For content in medical, financial, legal, and news categories (YMYL), Google expects:
- A clearly identified human author with verifiable credentials.
- Consistent naming across the meta tag, visible byline, schema.org
author.name, and any author profile page. - An author profile page (linked via
rel="author") that establishes the author's background.
For non-YMYL pages the impact is lower, but inconsistency still looks sloppy in manual quality reviews.
Why placeholders fail
Many CMS installations auto-populate <meta name="author" content="admin"> or <meta name="author" content="WordPress"> from the system user account name. This is not a real author name and signals to quality reviewers that the site does not care about author attribution. For YMYL pages this is a hard quality failure.
Byline and schema alignment
The meta tag, visible byline (the "By [Name]" text displayed on the article), and schema.org author.name in JSON-LD structured data are three independent author declarations on the same page. Search engines can cross-reference them. If the meta tag says "John Smith", the byline says "By J. Smith", and the schema says "Jane Doe", the conflicting signals make all three less credible.
Common failure patterns on article pages:
- Meta tag absent — template never included it.
- Meta tag value is the CMS system account name (
admin,wordpress). - Meta tag value is an email address rather than a name.
- Visible byline is a display name alias; meta tag uses a different full name.
- Schema.org author is populated from a different data field than the meta tag.
- Author profile page (
rel="author") exists but is never linked from articles. - Guest post pages where the original author's meta tag was never updated from the editor's name.
How to Fix
-
Add
<meta name="author" content="[Full Name]">to all article pages.- For CMS platforms: ensure the template uses the post author's display name (not system username).
- Example:
<meta name="author" content="Jane Smith">.
-
Replace CMS default placeholders (
admin,webmaster,wordpress) with the real author's full name.- In WordPress: ensure the display name in Settings → Users is set to the author's real name, not the login name.
-
Align the meta tag, byline, and schema.org author to use the same name format:
- Choose one canonical form (e.g. "Jane Smith") and use it consistently across all three.
- For schema:
"author": {"@type": "Person", "name": "Jane Smith"}.
-
Create and link author profile pages using
<a rel="author" href="/authors/jane-smith">on each article.- The profile page should include a bio, credentials, and links to other articles by the same author.
- This provides the verifiable entity context that supports E-E-A-T evaluation.
-
For YMYL pages: ensure the author has verifiable credentials mentioned on their profile page (medical degree, professional licence, journalistic affiliation, etc.).
-
Audit templates for each page type (blog post, news article, product review) to confirm the author meta tag is dynamically populated and never hardcoded or defaulted to a system value.
Additional technical notes
Author schema markup aligned with meta author
The most authoritative authorship signal for Google is the combination of:
<meta name="author" content="Jane Smith">in<head>- Visible byline (
By Jane Smith) in the article body - JSON-LD
"author": {"@type": "Person", "name": "Jane Smith", "url": "/authors/jane-smith"}in structured data - An author profile page at
/authors/jane-smithwith verifiable credentials
When all four are consistent and the profile page is comprehensive, Google can build an entity association between the content and the author, which strengthens topical authority signals for the entire site domain.
YMYL category classification
Pages are classified as YMYL (Your Money or Your Life) if they fall into categories where incorrect or misleading information could have a direct impact on a person's health, financial stability, safety, or legal standing. Common YMYL categories:
- Medical information, symptoms, treatments, drug interactions
- Financial advice, investment strategies, tax guidance
- Legal information, rights, regulations
- News and current events that affect civic decision-making
- Safety information (emergency procedures, product safety)
For YMYL pages, Google's Quality Rater Guidelines require a higher standard of demonstrated expertise and authorship. A <meta name="author" content="admin"> on a medical article is a direct quality failure signal in manual quality reviews.
Author consistency across syndicated content
For sites that syndicate content or republish articles from partner sources, the <meta name="author"> should reflect the original author of the content, not the republishing site's generic byline. Google's duplicate content detection can identify syndicated content, and correct attribution helps preserve the original author's entity association with their work.
Validation checklist
Before marking this issue resolved, confirm all of the following:
-
<meta name="author" content="[Real Author Name]">is present on all article pages. - The meta value matches the visible byline text (after minor formatting normalisation).
- The meta value matches
author.namein any JSON-LD structured data on the page. - No placeholder values (
admin,webmaster,wordpress) exist on any article page. - YMYL article pages include a link to an author profile page with verifiable credentials.