Skip to Content

No author meta tag

What Is This Issue

This issue checks whether article, blog, and editorial pages have a properly configured <meta name="author"> tag that declares the human author of the page’s content.

A passing implementation includes:

  • A <meta name="author"> tag in the <head> section of article/blog pages
  • A meaningful author name (not a placeholder like “admin” or “webmaster”)
  • Consistency between the meta tag value and visible byline on the page

Example of correct implementation:

<meta name="author" content="Jane Smith" />

This tag supports Google’s E-E-A-T (Experience, Expertise, Authoritativeness, Trustworthiness) signals, particularly for YMYL (Your Money or Your Life) pages like health, finance, or legal content.

Why Is This Important

The author meta tag contributes to content quality signals and SEO:

  • Rankings: Google’s E-E-A-T guidelines emphasize credible authorship, especially for YMYL content. Clear authorship signals can positively influence rankings.
  • User experience: Users trust content more when they know who authored it, especially for expert advice or opinion pieces.
  • AI Search / AEO: AI-powered search systems may use authorship signals to assess content credibility and attribute information correctly.
  • Content credibility: Consistent authorship across meta tags, visible bylines, and schema markup demonstrates professionalism and attention to detail.

Resolving this issue improves your SEO health score by strengthening E-E-A-T signals, which is particularly important for content that could impact a user’s health, finances, or safety.

How XeoPix Detects This

XeoPix performs the following checks to detect this issue:

  1. Page type detection: The crawler identifies article/blog pages using:

    • URL patterns (e.g., /blog/, /article/, /post/)
    • HTML elements (e.g., <article>, <time>)
    • Schema.org markup (e.g., Article, BlogPosting types)
  2. Meta tag search: For identified article pages, XeoPix looks for a <meta> tag with the attribute name="author".

  3. Value validation: If the tag is found, XeoPix:

    • Checks if the value is empty
    • Compares the value against a list of common placeholder strings
    • Extracts the visible byline from the page body for comparison
  4. Consistency checks: The crawler may also:

    • Extract author information from JSON-LD structured data
    • Check for <a rel="author"> links on the page
    • Flag mismatches between meta tag, visible byline, and schema markup
  5. Pass/Fail determination:

    • Passes: If a meaningful author name is present in the meta tag on article pages, and it’s consistent with other author signals
    • Fails: If the meta author tag is missing on article pages, contains a placeholder value, or conflicts with other author information

The detection focuses on whether article pages have credible authorship signals, with extra scrutiny for YMYL content.

How To Fix

Follow these steps to implement the author meta tag correctly:

  1. Add the meta author tag to article pages: Place the following line inside the <head> section of your HTML document on all article, blog, and editorial pages:

    <meta name="author" content="Author Name" />
  2. Use a real author name: Avoid placeholder values like:

    • admin
    • webmaster
    • author
    • test
    • user
    • wordpress
  3. Ensure consistency: Make sure the author name in the meta tag matches:

    • The visible byline on the page
    • The author name in schema.org structured data (JSON-LD)
    • The author name in any author profile links
  4. Mark up with schema.org: For even stronger E-E-A-T signals, also include author information in JSON-LD structured data:

    <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "author": { "@type": "Person", "name": "Jane Smith" } } </script>
  5. Verify implementation:

    • Use View Page Source to confirm the tag appears correctly
    • Check that the author name is consistent across all page elements
    • For YMYL pages, ensure the author is a qualified expert

Note: This tag is most important on article, blog, and editorial pages. It’s not necessary on product pages, contact pages, or other non-editorial content.

What We Store

Storage Level

Page Level — This issue is evaluated for each individual URL.


Database Table / Prisma Model

PageHtmlHeadAudit


Stored Fields

FieldTypeDescription
authorMetaValueString?The content attribute of the author meta tag

Detection Dependencies

  • The following data sources are required to evaluate this issue:
  • HTML Document — The crawler parses the HTML head section to find the author meta tag
  • Meta Tag Extraction — The <meta name="author"> tag is extracted

Examples

Example 1: Correct Implementation

Scenario: A properly configured article page with author meta tag.

Correct State (Passes):

<head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="author" content="Jane Smith" /> <title>Article Title</title> </head> <body> <article> <h1>Article Title</h1> <p class="byline">By Jane Smith</p> <p>Article content...</p> </article> </body>

Example 2: Missing Author Meta Tag on Article Page

Scenario: Article page has no author meta tag.

Problematic State (Fails):

<head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Article Title</title> </head> <body> <article> <h1>Article Title</h1> <p class="byline">By John Doe</p> <p>Article content...</p> </article> </body>

Why it fails: Article pages should have an author meta tag to support E-E-A-T signals.

Corrected State (Passes):

<head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="author" content="John Doe" /> <title>Article Title</title> </head> <body> <article> <h1>Article Title</h1> <p class="byline">By John Doe</p> <p>Article content...</p> </article> </body>

Example 3: Placeholder Author Name

Scenario: Author meta tag uses a placeholder value.

Problematic State (Fails):

<head> <meta name="author" content="admin" /> <title>Article Title</title> </head> <body> <article> <h1>Article Title</h1> <p class="byline">By Sarah Johnson</p> <p>Article content...</p> </article> </body>

Why it fails: “admin” is a placeholder value, not a real author name. This undermines E-E-A-T signals.

Corrected State (Passes):

<head> <meta name="author" content="Sarah Johnson" /> <title>Article Title</title> </head> <body> <article> <h1>Article Title</h1> <p class="byline">By Sarah Johnson</p> <p>Article content...</p> </article> </body>

Example 4: Inconsistent Author Information

Scenario: Author meta tag doesn’t match visible byline or schema markup.

Problematic State (Fails):

<head> <meta name="author" content="J. Smith" /> <script type="application/ld+json"> { "@type": "Article", "author": { "@type": "Person", "name": "Jane Smith" } } </script> <title>Article Title</title> </head> <body> <article> <h1>Article Title</h1> <p class="byline">By Jane Smith</p> <p>Article content...</p> </article> </body>

Why it fails: Inconsistent author names across meta tag (“J. Smith”), schema (“Jane Smith”), and byline (“Jane Smith”) create conflicting signals.

Corrected State (Passes):

<head> <meta name="author" content="Jane Smith" /> <script type="application/ld+json"> { "@type": "Article", "author": { "@type": "Person", "name": "Jane Smith" } } </script> <title>Article Title</title> </head> <body> <article> <h1>Article Title</h1> <p class="byline">By Jane Smith</p> <p>Article content...</p> </article> </body>

Unit Test

Test File

__tests__/seo-audit-checks/htmlHeadTags/issue-107-meta-name-author.test.js

Purpose

Validates the detection of a missing <meta name="author"> declaration in the HTML <head>. Ensures pages are flagged when the author meta tag is absent, and not flagged when it is present regardless of content value.

Tested Function

runHtmlHeadTags() from toggleGroups/htmlHeadTags.js

Issue Information

  • Issue Number: 107
  • Issue Code: META_NAME_AUTHOR
  • Toggle Group: htmlHeadTags

Test Scenarios

Positive Test Cases

  • Page has <meta name="author" content="John Doe"> — no issue reported
  • Page has <meta name="author" content=""> (empty content but tag present) — no issue reported
  • Author meta tag with special characters (John &amp; Jane Doe) — no issue reported
  • Author meta tag with unicode characters (José García) — no issue reported
  • Malformed HTML with author tag present — no issue reported, no crash

Negative Test Cases

  • Page has no author meta tag — issue reported with message "Meta author tag is missing"

Boundary Cases

None present.

Edge Cases

  • Empty HTML (<html></html>): issue reported (author meta tag is missing)
  • Malformed HTML: function handles without crashing; correctly detects author tag when present
  • Empty content: content="" is considered present, so no issue reported
  • Special characters: HTML entities and unicode characters in author content are handled correctly

Expected Outcome

Pass

The issue should be reported when:

  • The author meta tag is completely absent from the <head>
  • The HTML is empty or has no <head> section

Fail

The issue should not be reported when:

  • <meta name="author"> is present with any content value (including empty)
  • The author content contains special characters or unicode

Validation

  • Correct detection of missing author meta tag
  • Correct handling of present author meta tag with any content value
  • Graceful handling of malformed HTML
  • Special character and unicode support in author content
  • Cache mechanism prevents duplicate issue entries on repeated calls
  • toggleGroups/htmlHeadTags.js
  • issueCodes.js

Coverage Summary

  • Positive cases: 4 (standard author, empty content, special chars, unicode)
  • Negative cases: 1 (missing author tag)
  • Edge cases: 3 (empty HTML, malformed HTML, empty content)
  • Cache validation: 1

References

Last updated on