Article missing a modified date
What Is This Issue
The article:modified_time meta tag specifies when an article or blog post was last updated or modified. This helps social platforms and search engines understand that content has been refreshed or improved.
This issue checks whether your page has the article:modified_time tag implemented (for article-type content that has been updated). A passing implementation must include:
article:modified_time- The ISO 8601 datetime when the article was last modified
Example of passing implementation:
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-01-15T10:30:00+00:00" />
<meta property="article:modified_time" content="2024-03-20T14:45:00+00:00" />Why Is This Important
The article:modified_time tag is valuable for content updates and social sharing:
- Content freshness: Signals to users and platforms that content has been updated
- Update visibility: Social platforms may display “Updated” timestamps
- Search relevance: Search engines use modification dates for freshness signals
- User trust: Users can see if they’re viewing the most recent version
- AI Search / AEO: AI systems use modification dates to understand content currency
Without the article:modified_time tag:
- Updates to content are not visible to social platforms
- Users may not know if they’re seeing the latest version
- Missed opportunity to signal content improvements
Resolving this issue improves content update signaling in social sharing and contributes to a higher overall SEO health score by providing freshness metadata.
How XeoPix Detects This
XeoPix checks for the article:modified_time tag by:
- Fetching the page HTML after following all redirects
- Identifying article pages: Checking if
og:typeis “article” or page appears to be article-like - Parsing the
<head>section to extract the meta tag withproperty="article:modified_time" - Validating presence: Checks that the tag exists on article pages that appear to be updated
- Validating format: Ensures the value is a parseable datetime in ISO 8601 format
- Flagging the issue if the tag is missing on updated 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
-
Add the
article:modified_timetag to your HTML<head>section (for updated articles):- Use ISO 8601 datetime format:
YYYY-MM-DDThh:mm:ss±hh:mm - Only add if the article has been substantially updated after publication
- Update this value each time you make significant changes
- Use ISO 8601 datetime format:
-
Only use for article-type content:
- Set
og:typeto “article” on pages with this tag - Don’t add to homepage, product pages, or non-article content
- Set
-
Maintain accuracy:
- Update the timestamp only for meaningful content changes
- Don’t change for minor typo fixes or formatting adjustments
- Keep
article:published_timeas the original publication date
-
Test your implementation:
- Use Facebook Sharing Debugger to verify the date is detected
- Check that modification dates display correctly on social platforms
What We Store
Storage Level
Page Level
Database Table / Prisma Model
SocialOpenGraphData
Stored Fields
| Field | Type | Description |
|---|---|---|
| ogArticleModifiedTime | DateTime? | Open Graph article modified time (og:article:modified_time) |
Detection Dependencies
- HTML Document
- Meta Tags (og:article:modified_time)
Examples
Example 1: Missing Article Modified Time
Problematic state (what fails):
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-01-15T10:30:00+00:00" />
<!-- Missing article:modified_time for updated article -->Corrected state (what passes):
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-01-15T10:30:00+00:00" />
<meta property="article:modified_time" content="2024-03-20T14:45:00+00:00" />Example 2: Modified Time Before Published Time
Problematic state (what fails):
<meta property="article:published_time" content="2024-03-20T14:45:00+00:00" />
<meta property="article:modified_time" content="2024-01-15T10:30:00+00:00" />
<!-- Modified time is before published time -->Corrected state (what passes):
<meta property="article:published_time" content="2024-01-15T10:30:00+00:00" />
<meta property="article:modified_time" content="2024-03-20T14:45:00+00:00" />
<!-- Modified time is after published time -->Example 3: Non-Updated Article with Modified Time
Problematic state (what fails):
<!-- Article has never been updated -->
<meta property="article:modified_time" content="2024-01-15T10:30:00+00:00" />
<!-- Same as published time, unnecessary -->Corrected state (what passes):
<!-- Only add modified_time if article has been substantially updated -->
<!-- Otherwise, omit the tag -->Unit Test
Test File
xeopix-crawling-v2/__tests__/seo-audit-checks/socialOpenGraph/issue-124-article-modified-time.test.js
Purpose
Validates that the crawler detects article pages missing the article:modified_time meta tag.
Tested Function
runSocialOpenGraph()
Issue Information
- Issue Number: 124
- Issue Code:
article_modified_time - Toggle Group:
socialOpenGraph
Test Scenarios
Positive Test Cases
- Page is an article (
og:type="article") andarticle:modified_timeis 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") butarticle:modified_timeis missing → issue detected with message"Article modified time meta tag is missing".
Boundary Cases
No boundary cases exist in the test.
Edge Cases
- 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:modified_time is present on an article page.
Fail
The issue should be reported when the page is an article type and article:modified_time is missing.
Validation
- Correctly detects missing
article:modified_timeon article pages. - Does not report a false positive on non-article pages.
- Handles empty HTML gracefully without crashing.
Related Production Files
xeopix-crawling-v2/toggleGroups/socialOpenGraph.jsxeopix-crawling-v2/issueCodes.js
Coverage Summary
- Covers present and missing
article:modified_timescenarios. - Validates non-article pages are ignored.
- Includes resilience test for empty input.
References
- Open Graph Protocol - Article — Open Graph Protocol
- ISO 8601 Date Format — Wikipedia
- Google Search Central - Last Modified — Google Search Central