Sitemap Freshness Auditor avatar

Sitemap Freshness Auditor

Pricing

from $0.005 / actor start

Go to Apify Store
Sitemap Freshness Auditor

Sitemap Freshness Auditor

Audit a public XML sitemap for lastmod coverage, stale URLs, child sitemap indexes, score, grade, and SEO maintenance recommendations.

Pricing

from $0.005 / actor start

Rating

0.0

(0)

Developer

Sanskar Jaiswal

Sanskar Jaiswal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Share

Fetches and audits one public XML sitemap for freshness and maintenance signals. It reports URL count, sitemap index entries, lastmod coverage, stale URL count, score, grade, issues, and recommendations.

Use cases

  • Technical SEO checks before site launches and migrations.
  • Scheduled monitoring for stale or incomplete XML sitemaps.
  • Agency reporting for sitemap health across client sites.
  • Data pipeline checks before submitting sitemap URLs to other SEO tools.
  • Developer QA for CMS sitemap generation.

Input

FieldTypeRequiredDescription
startUrlstringYesPublic sitemap XML URL or website URL. If a website URL is provided, the actor checks /sitemap.xml. HTTP and HTTPS only.
staleAfterDaysintegerNoA URL is stale when its lastmod date is older than this many days. Default: 365.
timeoutSecondsintegerNoRequest timeout for the sitemap fetch. Default: 10, range: 3 to 30.
maxBytesintegerNoMaximum response body size to read. Default: 2000000, maximum: 5000000.

Output

Each run pushes one dataset item.

FieldTypeDescription
inputUrlstringOriginal input URL.
sitemapUrlstringSitemap URL selected for audit.
finalUrlstringFinal fetched URL after redirects.
okbooleanTrue when the sitemap is reachable and scores at least 75.
checkedAtstringISO timestamp for the audit.
statusintegerHTTP status code from the sitemap fetch.
contentTypestringResponse Content-Type header.
bytesintegerNumber of bytes read.
staleAfterDaysintegerStale threshold used for the audit.
scoreintegerFreshness score from 0 to 100.
gradestringLetter grade from A to F.
typestringParsed sitemap type: urlset or sitemapindex.
urlCountintegerNumber of URL entries parsed.
sitemapIndexCountintegerNumber of child sitemap entries parsed.
lastmodCountintegerNumber of URL entries with lastmod.
lastmodCoveragePercentintegerPercent of URL entries that include lastmod.
staleUrlCountintegerNumber of URLs older than staleAfterDays.
sampleUrlsarrayUp to 20 parsed URL entries with loc, lastmod, hasLastmod, and stale.
sitemapIndexesarrayUp to 50 child sitemap entries from a sitemap index.
issuesarrayHuman-readable issues found during scoring.
recommendationsarrayRecommended fixes.
errorstring or nullFetch or validation error, if any.

Example input

{
"startUrl": "https://example.com/sitemap.xml",
"staleAfterDays": 365,
"timeoutSeconds": 10,
"maxBytes": 2000000
}

Example output

{
"inputUrl": "https://example.com/sitemap.xml",
"sitemapUrl": "https://example.com/sitemap.xml",
"finalUrl": "https://example.com/sitemap.xml",
"ok": true,
"checkedAt": "2026-07-12T00:00:00.000Z",
"status": 200,
"contentType": "application/xml",
"bytes": 12450,
"staleAfterDays": 365,
"score": 90,
"grade": "A",
"type": "urlset",
"urlCount": 120,
"sitemapIndexCount": 0,
"lastmodCount": 120,
"lastmodCoveragePercent": 100,
"staleUrlCount": 2,
"sampleUrls": [
{
"loc": "https://example.com/",
"lastmod": "2026-07-01",
"hasLastmod": true,
"stale": false
}
],
"sitemapIndexes": [],
"issues": ["2 URLs have stale lastmod dates"],
"recommendations": ["Refresh stale content timestamps only when content materially changes."],
"error": null
}

Security

  • Fetches only public HTTP and HTTPS URLs.
  • Rejects URL credentials.
  • Rejects localhost, private IPv4, private IPv6, link-local, and private DNS resolutions.
  • Revalidates redirects before fetching the next URL.
  • Reads a bounded response body to avoid oversized sitemap runs.
  • Does not require login or collect credentials.

Pricing

Suggested pay-per-event pricing:

EventPrice
Actor start$0.005
Sitemap audited$0.01

Typical one-sitemap run cost: about $0.015 before Apify platform charges. Apify keeps its standard commission and the actor owner receives the remainder.

FAQ

Does this crawl every URL in the sitemap?

No. It parses the sitemap XML and audits metadata such as lastmod. It does not fetch every listed page.

Does it expand sitemap indexes?

No. It reports child sitemap entries from a sitemap index. Audit important child sitemap URLs directly when URL-level freshness details are needed.

Can I pass a website URL instead of a sitemap URL?

Yes. If the URL does not look like a sitemap path, the actor checks /sitemap.xml on the same origin.

Why does stale content not always mean a problem?

Some pages are intentionally evergreen. Use staleAfterDays to match your content maintenance policy.

Kill or keep metric

Keep this actor if it gets organic Store impressions, runs, revenue, or inbound SEO agency questions within 60 to 90 days. Improve the listing or pricing if impressions arrive without runs. Archive it if there is no discovery or usage.