Skip to Content

Article missing a published date

What Is This Issue

The article:published_time meta tag specifies when an article or blog post was originally published. This helps social platforms and search engines understand the freshness and relevance of your content.

This issue checks whether your page has the article:published_time tag implemented (for article-type content). A passing implementation must include:

  • article:published_time - The ISO 8601 datetime when the article was first published

Example of passing implementation:

<meta property="og:type" content="article" /> <meta property="article:published_time" content="2024-01-15T10:30:00+00:00" />

Why Is This Important

The article:published_time tag is valuable for content freshness and social sharing:

  • Content freshness: Social platforms can display publish dates to users
  • Chronological context: Helps users understand how recent the content is
  • Search relevance: Search engines use publish dates for freshness signals
  • Social sorting: Platforms may prioritize newer content in feeds
  • AI Search / AEO: AI systems use publish dates to understand content timeline

Without the article:published_time tag:

  • Social platforms cannot display publish dates
  • Users may not know if content is current or outdated
  • Missed opportunity for freshness signals

Resolving this issue improves content context in social sharing and contributes to a higher overall SEO health score by providing temporal metadata.

How XeoPix Detects This

XeoPix checks for the article:published_time tag by:

  1. Fetching the page HTML after following all redirects
  2. Identifying article pages: Checking if og:type is “article” or page appears to be article-like
  3. Parsing the <head> section to extract the meta tag with property="article:published_time"
  4. Validating presence: Checks that the tag exists on article pages
  5. Validating format: Ensures the value is a parseable datetime in ISO 8601 format
  6. Flagging the issue if the tag is missing on article pages or contains an invalid format

The detection is performed on the raw HTML response without JavaScript execution, matching how social media crawlers see your pages.

How To Fix

  1. Add the article:published_time tag to your HTML <head> section (for articles only):

    • Use ISO 8601 datetime format: YYYY-MM-DDThh:mm:ss±hh:mm
    • Example: 2024-01-15T10:30:00+00:00 (UTC time)
    • Example: 2024-01-15T10:30:00-05:00 (EST time)
  2. Only use for article-type content:

    • Set og:type to “article” on pages with this tag
    • Don’t add to homepage, product pages, or non-article content
  3. Ensure accuracy:

    • Use the actual first publication date
    • Don’t update this date when making minor edits
    • Use article:modified_time for update timestamps
  4. Test your implementation:

    • Use Facebook Sharing Debugger to verify the date is detected
    • Check that dates display correctly on social platforms

What We Store

Storage Level

Page Level


Database Table / Prisma Model

SocialOpenGraphData


Stored Fields

FieldTypeDescription
ogArticlePublishedTimeDateTime?Open Graph article published time (og:article:published_time)

Detection Dependencies

  • HTML Document
  • Meta Tags (og:article:published_time)

Examples

Example 1: Missing Article Published Time

Problematic state (what fails):

<meta property="og:type" content="article" /> <!-- Missing article:published_time tag -->

Corrected state (what passes):

<meta property="og:type" content="article" /> <meta property="article:published_time" content="2024-01-15T10:30:00+00:00" />

Example 2: Incorrect Date Format

Problematic state (what fails):

<meta property="article:published_time" content="January 15, 2024" /> <!-- Not in ISO 8601 format -->

Corrected state (what passes):

<meta property="article:published_time" content="2024-01-15T10:30:00+00:00" /> <!-- Proper ISO 8601 format -->

Example 3: Non-Article Page with Published Time

Problematic state (what fails):

<meta property="og:type" content="website" /> <meta property="article:published_time" content="2024-01-15T10:30:00+00:00" /> <!-- Should not be on non-article pages -->

Corrected state (what passes):

<meta property="og:type" content="website" /> <!-- Remove article tags from non-article pages -->

Unit Test

Test File

xeopix-crawling-v2/__tests__/seo-audit-checks/socialOpenGraph/issue-123-article-published-time.test.js

Purpose

Validates that the crawler detects article pages missing the article:published_time meta tag.

Tested Function

runSocialOpenGraph()

Issue Information

  • Issue Number: 123
  • Issue Code: article_published_time
  • Toggle Group: socialOpenGraph

Test Scenarios

Positive Test Cases

  • Page is an article (og:type="article") and article:published_time is present → no issue detected.
  • Page is not an article (e.g., og:type="website") → no issue detected.

Negative Test Cases

  • Page is an article (og:type="article") but article:published_time is missing → issue detected with message "Article published time meta tag is missing".

Boundary Cases

No boundary cases exist in the test.

Edge Cases

  • Article subtype detection: Page with og:type="article.news" (contains “article”) is still treated as an article → issue is detected.
  • Empty HTML: The function handles an empty string without throwing.

Expected Outcome

Pass

The issue should not be reported when either the page is not an article type, or article:published_time is present on an article page.

Fail

The issue should be reported when the page is an article type and article:published_time is missing.

Validation

  • Correctly detects missing article:published_time on article pages.
  • Does not report a false positive on non-article pages.
  • Correctly identifies article subtype variants (e.g., article.news).
  • Handles empty HTML gracefully without crashing.
  • xeopix-crawling-v2/toggleGroups/socialOpenGraph.js
  • xeopix-crawling-v2/issueCodes.js

Coverage Summary

  • Covers present and missing article:published_time scenarios.
  • Validates non-article pages are ignored.
  • Tests article subtype detection via og:type containing “article”.
  • Includes resilience test for empty input.

References

Last updated on