Sitemap Validator Online
Find and validate a website’s sitemaps (index, gzip): URL count, lastmod format, duplicates, other hosts, limits, and the HTTP status of a sample of URLs.
Result
Press “Run” to see the result.
The sitemap checker reads a sitemap URL, or finds the sitemaps of a site from the Sitemap: lines of its robots.txt (falling back to /sitemap.xml). It follows sitemap indexes (up to 10 files), decompresses .xml.gz files and counts the URLs.
It reports what makes search engines ignore sitemaps: files over 50,000 URLs or 50 MB, <loc> values that are not absolute or point to another host, duplicate URLs, <lastmod> values that are not W3C dates and files that cannot be read. It then requests a sample of URLs spread over the sitemap (sample, default 10, max 20) and flags errors, redirects (list the final URLs) and pages that refuse crawlers.
The response contains every sitemap file read with its type and size, the total number of URLs, the most recent lastmod, the sampled statuses and the first 100 URLs, plus scored checks in English or Vietnamese (lang=vi).
Use this in your code
curl "https://apibox.io.vn/v1/sitemap-check?url=https://www.cloudflare.com/sitemap.xml&sample=5" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/sitemap-check?url=https://www.cloudflare.com/sitemap.xml&sample=5', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/sitemap-check?url=https://www.cloudflare.com/sitemap.xml&sample=5",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/sitemap-check?url=https://www.cloudflare.com/sitemap.xml&sample=5');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));API documentation → Get a free API key
FAQ
Does it check every URL?
No, a spread sample of up to 20 URLs per call, to stay fast and polite. The structure checks (duplicates, hosts, lastmod) cover up to 50,000 URLs.
Why are some URLs “refused”?
They answered 401, 403, 429 or 503 to our crawler, usually bot protection. Make sure search engine crawlers are allowed.
Are image and news sitemaps supported?
Their <url> and <loc> entries are counted like any sitemap; the extra image / news tags are not validated.