Skip to main content

Content Freshness

developer
GET/v1/domain/content-freshness

Comprehensive 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 Manager

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.

Technical SEO

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.

Web Developer

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

NameTypeRequiredDescription
domainstringRequiredThe domain to check content freshness forExample: example.com

Response Fields

FieldTypeDescription
domainstringThe analyzed domain
lastModifiedHeaderstringLast-Modified header date if present
publishDateobjectDetected publish date with source, date, and ageInDays
modifiedDateobjectDetected modification date with source, date, and ageInDays
allDatesFoundarrayAll detected date signals with sources and types (published/modified/created)
contentAgeobjectContent age assessment with days and category (fresh/recent/aging/stale/unknown)
cacheHeadersobjectHTTP cache header analysis including Cache-Control directives, ETag, Age, Expires, effective TTL, CDN indicators, and configuration issues
dateConsistencyobjectCross-validation of dates across sources with consistency flag, issues, date spread, and modified-after-published check
confidencestringDate detection confidence level (high/medium/low/none) based on signal count and consistency
scorenumberMulti-dimensional freshness score (0-100) combining content age, signal quality, and cache hygiene
gradestringContent freshness grade (A+ to F)
recommendationsarrayActionable improvement suggestions for content freshness, date metadata, and cache configuration

Code Examples

cURL
curl "https://api.edgedns.dev/v1/domain/content-freshness" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d "domain=example.com"
JavaScript
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);
Python
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.