Content Freshness
developer/v1/domain/content-freshnessComprehensive content freshness analysis that extracts date signals from 10+ sources (HTTP headers, meta tags, Open Graph, JSON-LD, HTML time elements, URL patterns, visible text), analyzes HTTP cache headers (Cache-Control, ETag, Age, Expires), cross-validates date consistency, detects CDN caching, and provides a multi-dimensional freshness score with confidence levels.
What It Does
Extracts dates from Last-Modified headers, article:published_time, article:modified_time, og:updated_time, og:published_time, meta name="date", meta name="revised", meta http-equiv="last-modified", JSON-LD (datePublished, dateModified, dateCreated), HTML <time> elements, URL path date patterns, and visible text patterns. Analyzes Cache-Control directives (max-age, s-maxage, no-cache, no-store, stale-while-revalidate), ETag presence, Age header, Expires header, and CDN cache indicators. Cross-validates dates across sources for consistency and assigns a confidence level (high/medium/low/none) based on signal agreement.
Why It's Useful
Content freshness is a ranking factor for search engines, especially for news and time-sensitive queries (Google's QDF algorithm). AI assistants cite content that is 25% fresher on average than organic search results. This endpoint helps identify stale content, validate date metadata accuracy across sources, audit cache configuration, and prioritize content refresh efforts based on actual freshness data and signal confidence.
Use Cases
Content Refresh Planning
Identify pages with outdated content and inconsistent date signals that need to be refreshed for continued ranking.
Prioritize content updates based on actual freshness data and confidence levels.
Structured Data Validation
Verify that datePublished and dateModified in structured data, meta tags, and HTTP headers are consistent and accurate.
Ensure accurate dates in search result rich snippets and avoid freshness penalties from conflicting signals.
Cache Configuration Audit
Analyze Cache-Control directives, ETag configuration, and CDN caching behavior to ensure optimal content delivery.
Identify cache misconfigurations, missing revalidation headers, and conflicting directives that hurt performance.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
domain | string | Required | The domain to check content freshness forExample: example.com |
Response Fields
| Field | Type | Description |
|---|---|---|
domain | string | The analyzed domain |
lastModifiedHeader | string | Last-Modified header date if present |
publishDate | object | Detected publish date with source, date, and ageInDays |
modifiedDate | object | Detected modification date with source, date, and ageInDays |
allDatesFound | array | All detected date signals with sources and types (published/modified/created) |
contentAge | object | Content age assessment with days and category (fresh/recent/aging/stale/unknown) |
cacheHeaders | object | HTTP cache header analysis including Cache-Control directives, ETag, Age, Expires, effective TTL, CDN indicators, and configuration issues |
dateConsistency | object | Cross-validation of dates across sources with consistency flag, issues, date spread, and modified-after-published check |
confidence | string | Date detection confidence level (high/medium/low/none) based on signal count and consistency |
score | number | Multi-dimensional freshness score (0-100) combining content age, signal quality, and cache hygiene |
grade | string | Content freshness grade (A+ to F) |
recommendations | array | Actionable improvement suggestions for content freshness, date metadata, and cache configuration |
Code Examples
curl "https://api.edgedns.dev/v1/domain/content-freshness" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "domain=example.com"const response = await fetch(
'https://api.edgedns.dev/v1/domain/content-freshness?domain=example.com',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data);import requests
response = requests.get(
'https://api.edgedns.dev/v1/domain/content-freshness',
headers={'Authorization': 'Bearer YOUR_API_KEY'},
params={
'domain': 'example.com'
}
)
data = response.json()
print(data)Read the full Content Freshness guide
Why it matters, real-world use cases, parameters, response fields, and how to call it from Claude, ChatGPT, or Gemini via MCP.
Read the guide →Related Endpoints
External References
Learn more about the standards and protocols behind this endpoint.
Try This Endpoint
Test the Content Freshness endpoint live in the playground.